24 August 2020
At Managed Functions, we spend a lot of time exploring automation technology. We keep a list of over 100 automation applications that are doing interesting things right now and we regularly add new applications to the list. In a couple of day's we'll make the list public so you can see the applications we find interesting.
So, with all these applications out there, why did we build Managed Functions?
The business problem
The main business problem we are trying to solve is how to make it so a typical company can improve its operations. There are examples where a company has successfully automated large parts of their operations - but these examples are the exceptions rather than the norm. A more typical experience is that a company spends a lot of time and money buying automation software and setting up an automation team. They successfully automate several key processes. But then they discover that the business case doesn't stack up to automate any more processes. And they are stuck with the high fixed costs of annual fees for their automation software and salaries for the automation team.
The Managed Functions approach is that, instead of you setting up your own team, we build and manage the automation for your key processes and you only automate the processes where it makes financial sense to do so.
The technical problem
In order to solve the business problem, we had to figure out how to build and deliver automation solutions at scale in a robust, secure and inexpensive way. To do this, we turned to the cloud. Before we get into how, let's talk about what an automation solution is.
Automation solutions require six components. The relative importance of each of the six components is different for each process you automate. So instead of listing them in order of importance we have listed them in the order where the acronym spells "PIRATE"!
Presentation: You can think of this as reporting and analytics. Most business process automation requires the presentation of information back to the business users. Sometimes this involves reporting on the process itself (Number of transactions, errors etc) or presentation of the output of the process such as a report showing your sales pipeline.
Integration: In order to automate a business process, you typically need to get the data out of systems and push the data back into a system. APIs (Programmable Interfaces) are the best way of doing that but integration can involve less prosaic approaches such as SFTP data transfer and even automated email data exchange.
Robotic: RPA (Robotic Process Automation) is where software replicates the actions a user performs on the screen. Many enterprise systems don’t provide APIs so the most cost-effective option for getting information out of or into these systems is often to use a bot to automate the user interface (although this should be a last resort if there are no better ways of integrating).
App: Often business processes require user input at certain points, particularly as a means of handling errors. For example, an invoice that is automatically processed may not match the PO and a user will need to review and decide whether to approve or reject.
Transformation: Very rarely can you take the output of one process and map it directly to the input of another. You need to do something to the data to make it better and make it fit. We call this transformation.
Extraction: It is surprising how much business process data is locked away in PDF documents (e.g. invoices, statements, remittances, application forms). Extraction is the act of pulling data from these documents and making it available for transformation, integration or robotic data entry.
Each of these components can be delivered with serverless technology available in each of the public clouds. In AWS, for example, a combination of HTTP2 API Gateway to serve the app and handle presentation, Lambda Functions to perform the transformation, integration and robotic functions, and Textract for extraction creates an incredibly robust, essentially infinitely scalable, highly secure automation pipeline.
And each of the other major cloud providers such as Microsoft, Google, Oracle, Red Hat and IBM have the equivalent components.
So, we've addressed how to deliver the automation solution but what about the build process?
To solve that we turned to Jupyter notebooks. Jupyter is currently the most widely-used data science development platform. It allows a developer to combine text and code into a runnable notebook. It is particularly useful in writing pipelines because you have access to all the best machine learning and data transformation libraries and you can clearly document the steps in the pipeline.
The secret sauce of Managed Functions is that we turn Jupyter notebooks into native cloud infrastructure that can be quickly deployed on our cloud or yours.
This capability means that Managed Functions can be used by
- individual companies to solve their automation challenges,
- software companies to provide white-labelled best-in-class integration capabilities, or
- strategy consulting firms to deliver automated processes to their customers that fit their recommended strategy.
Our approach solves automation challenges in a uniquely effective manner.