A range of new tools is being created to allow non-coders to access the advantages of serverless architectures through a visual interface. But developers can also gain from these tools by speeding up development time, standardizing their workflow patterns, and auto-generating code, said Jeff Hollan, Microsoft’s program manager for Azure Logic Apps.
While they are still emerging, serverless design patterns fall mostly into three broad categories:
- Serverless applications that deliver a whole no-stack service: like Joe Emison’s commercial property website, CommercialSearch and Bustle’s online magazine site.
- Triggered event processes in a hybrid stack that complete some functionality in serverless before returning to a stateful environment, for example, image processing tasks or running an algorithm in compute, and…
- Behind-the-scene business workflows that may not need an end interface like a visualization or any other display but instead move through a series of events as one work process triggers another to completion.
For this final bucket of design patterns, workflow tools are becoming an increasingly popular option for helping coders and non-technical leads to be able to introduce serverless into their business logic.
This is where Microsoft’s Azure Logic Apps, which was launched in general availability last year, is being used by businesses to manage data processing tasks in particular.
Hollan is responsible for spearheading the Azure Logic Apps workflow tool. At Serverlessconf earlier this year, John Gossman, Architect for Microsoft Azure described Logic Apps as a “workflow orchestration engine in the cloud.”
Hollan gives an example: “In Norway, there is a city legal requirement that teachers must send a written to notice to parents, which leaves teachers spending about 30 minutes preparing each letter. Now they have built a serverless workflow in Logic Apps that calls about a dozen functions and adds data based on different routes that the workflow can go.”
This sort of data transformation is one of the most common use cases Hollan is seeing for Logic Apps. In some cases, there may even be several days wait between steps in a workflow process, and Logic Apps is able to maintain state until it is able to pass the task off to the next step in the chain.
“One of the most common examples is an ordering and invoice system where a bunch of stuff may need to happen when there is a new sync, but there could also be several days waiting between say steps three and four of the process,” he said.
Low-Code App Development
Products like Logic Apps are an entry point for non-coders and may finally be making the coveted ‘citizen developers’ idea a reality. For some years, there has been the expectation that ‘citizen developers’ — non-coders and non-technical staff — will be able to leverage the power of APIs in particular through a range of visual design tools and drag and drop connectors.
Blockspring, for example, is one service aiming to support this growing audience by making APIs accessible via spreadsheets, while several API providers, like Clearbit, offer plugins to let non-developers access API data via Google Sheets, for example. To date, while that is an increasingly more defined customer segment, it is not the rapid growth market many expected it to be over the past few years as APIs have become core in business and enterprise.
Pulling API data into spreadsheets is one thing but then there still needs to be some filtering and transforming of the data using business logic and rules before it is truly useful. That may have held back the explosion of use by non-technical users that many have been expecting and that new serverless workflow tools may be starting to enable.
This improved entry point can be seen amongst Microsoft’s customers coming into Logic Apps, says Hollan. Mostly, non-coders come in via Microsoft’s Flow product which is built into Office 365. Flow allows non-technical staff to create a proof of concept (PoC) business process directly from within Office, and once that has been endorsed by business decision makers, those same staff are then moving to Logic Apps to turn that workflow into a production-robust process.
Serverlessconf keynote speaker Austen Collins, a founder of the Serverless Framework Platform, shared data from his survey from his users that suggests 10 percent of community users are executives that are using the framework to develop up PoCs. Collins’ survey also found that AWS’ workflow service — AWS Step Functions — was the most popular product or feature amongst that community.
Like with AWS Step Functions, it is not just non-coders who are making use of Logic Apps.
“Our end goal is that we want devs to be as productive as possible and for cloud solutions to be as quick as possible,” said Hollan. A growing number of contributors have generated pre-made connectors that can be used in a Logic Apps workflow. Hollan says that Logic Apps is maturing enough to be scenario-based, making sure that new connectors to existing APIs (like SendGrid, Zendesk, GitHub and Dropbox) and to common functions (like sentiment analysis algorithms or to connect to data storage) are being added to the Logic Apps library regularly. “New connectors are prioritized based on the customer journeys of developers,” said Hollan.
Like all catalogs and libraries of integrations and functions, at some point, confusion sets in when the continual addition of more options reduces ease of discoverability. Even if a library is filtered into categories for common sets of functions, at some point, clicking on “email” or “authentication” categories still brings up a long list that developers need to scan through to find what they are looking for.
And depending on the business case, they may need more granular, accurate functions (which could cost more in compute power or transaction volume, for example) in some instances and in other, less core processes may be comfortable with a cheaper, less accurate function. Hollan says eventually, depending on developer interest, the idea would be for Logic Apps to be able to surface those potential options within the flow design.
“We have a functionality so you can make a switch statement,” said Hollan, which would let developers change which function or API comes next in a process depending on how business critical it is for the workflow to perform flawlessly or within expenditure limits.
Hollan says this is all part of a longer roadmap where Logic Apps is one option to improve developer experience. “You have serverless components but you still need to use storage and data and APIs, and a whole slew of things. We help developers to templatize where they can. We try and make the developer experience much smoother, with better documentation and the ability to monitor and trace a workflow across the entire stack,” he said.