Snappy isn’t a word commonly used to describe enterprise software. Consumer software? Sure. We expect our messaging, shopping, social and gaming apps to be both responsive and easy-to-use.
For decades however, we’ve accepted that the software running most business and public sector computer systems (along with much of our lives), will be overly-complicated, unresponsive and anything but “snappy.” I know. I spent years in IT fielding calls from angry users because the one program they needed to do their job had crashed, frozen or wouldn’t open. (And, no…turning it off and turning it back on again didn’t always fix the problem.)
But today, we expect a corporate invoicing system to be as easy-to-use and run as smoothly as a ride hailing app. For the engineers, developers, product managers and system architects building these systems, this is no small task.
Behind the shopping app that lets you buy a pair of shoes with a swipe and a tap, there are dozens of interconnected systems, which ensure the seller gets paid, your new runners get delivered and your bank account gets debited. And those systems are only the ones involved in the purchase and delivery process. Before your kicks hit the virtual shelf, dozens and dozens of supply chain systems managed the flow of raw materials to the manufacturer and finished products to the retailer. Few, if any, of those systems were made by the same software company and many are 10, 20 or even 30 years old.
See also: How retailers are juggling inflation, supply chain disruptions
Getting business software to be “snappy” given heterogeneity and size of the modern enterprise IT environment is a tough technical challenge. It’s one that Patrik Šimek and the teams at Make and Celonis are tackling.
“In today's world, customers expect products to be snappy and responsive,” Šimek told me. “I believe that in the scale at which enterprises operate, it is simply not possible without automation.”
Šimek is chief technology officer of Make. He is a former software developer and system architect and was co-founder and CTO of Integromat, which was acquired by Celonis in 2020 and relaunched as Make in February 2022.
Patrik Šimek, CTO of Make
I caught up with Šimek during Celonis World Tour 2022, and we discussed how API automation is essential to process optimization, execution excellence and building the next generation of enterprise software. He also shared advice for how other developer and engineering teams can prepare their applications for API automation and how to overcome some of the biggest challenges with API automation.
Šimek: Let's start with what the API is - it is a language that a computer program uses to communicate with other computer systems. While automated API testing focuses on performing automated checks against the API itself, API automation is rather a way of creating an automated communication between two APIs.
As an example, we can use a simple user interaction like marking an invoice as paid when the money has been transferred to our system. By automating two API calls - querying a list of transactions on a bank account in one system and marking the invoice as paid in another - we can completely remove any user interaction from the process.
Šimek: As already mentioned, one of the key benefits of automation is clearly moving unnecessary workload from us, humans, to computers. That gives us more space to do more qualified work but also removes the risk of human error, which is a usual problem of copying data from one system to another manually.
One more key benefit is also the speed of the action - if the API supports that, interactions can happen in real-time.
See also: Challenges in data engineering: Secrets on building a real-time streaming platform from Celonis’s head of streaming data and CEO of Lenses.io
Šimek: API automation is a key concept in the whole digital transformation trend. In enterprises, the benefit of using automation is even more crucial, because of the scale at which enterprises operate. By automating various parts of processes, we not only improve the throughput of the process but in some cases, we're even making it possible to have such a process.
Šimek: API automation doesn't require any special integration, most of the automation platforms can connect to basically any API that's reachable from their infrastructure.
Nevertheless, thinking about API automation early in the process of designing API endpoints might significantly simplify further integration. Security policies are one of those things. Adding support for granular permission significantly improves the speed of security compliance approvals, especially in larger enterprises.
In addition to that, keeping consistency in data formats and structures of both requests and responses simplifies the integration and reduces the complexity of the transformation layer on the side of the automation platform.
Šimek: One of the biggest challenges in API automation is to get access controls right. Not every API provider supports granular permission models, which lead to automation working on behalf of a user with much higher permission that is required for a given job. That's where automation platforms can be a huge help as they can give you precise control about who can access which parts of an API.
Another important challenge is the maintenance of all the API connectors. APIs are subject to change as the product evolves and keeping the connections with the outer world up to date might be quite a hassle. Again, this is where automation platforms help as maintaining and updating a connector is their responsibility.
Last, but not least, I'd mention error handling. Every API can have an outage or things can simply go wrong. Because of that, when we're thinking about automating, we should always keep that in mind and design the automation in a way that it can react to unexpected situations.
At Celonis we’re building a new type of enterprise technology, called execution management. And, we’re recruiting the world’s best engineers to do it. Whether you’re a frontend or backend developer, full stack engineer, data scientist or DevOps specialist – we have technical challenges that need solving.
To learn more about how we’re pioneering advances in AI, machine learning, automation, analytics and data mining, and to see current engineering job openings, visit Celonis Engineering and Make Careers.