AWS’s CTO Werner Vogels was focussed firmly on event-driven architectures and asynchronous, serverless workflows speaking at reInvent, emphasising that the “best way to build things that can evolve is to use event-driven architectures” – with a trio of new products focussed on helping developers in this space.
These are AWS Application Composer (in preview), a low-code way of architecting, configuring, and building serverless applications; Amazon EventBridge Pipes (GA), to integrate AWS and self-managed services as event producers and event consumers into your apps without needing to write too much “glue code”; and new features like “distributed map” in AWS Step Functions, for massive serverless data processing in applications.
A quick recap.
What’s AWS Application Composer?
AWS Application Composer provides a browser-based “visual canvas” that lets developers drag, drop, and connect AWS services into an application architecture. Low-code serverless app development in short.
Or, as AWS put it, easy deployment-ready infrastructure-as-Code (IaC).
As AWS CTO Werner Vogels said in a keynote at the reInvent conference on December 1: “Sometimes developers choose a synchronous system because it’s convenient. They look so much simpler.
"In a synchronous system, you have all these components. In the event-driven [architecture], how they work together can sometimes look a little daunting. So we’ve been thinking about how can we simplify this. How can you make it easier, for example, for developers that never used serverless before? How do you know where to start? Which services do they need? How do they work together? We really wanted to make this easier…”
You can explore the AWS Application Composer product page here.
Amazon EventBridge Pipes
Amazon EventBridge pipes lets users connect applications with data from 14 different Amazon event sources: DynamoDB, Kinesis, Amazon Managed Streaming for Apache Kafka (Amazon MSK) alongside self-managed Apache Kafka, Amazon SQS (standard and FIFO), and Amazon MQ (both for ActiveMQ and RabbitMQ).
When setting up a new pipe EventBridge Pipes console handily and automatically configures the IAM role with least privilege permissions to reduce friction around manually configuring required permissions.
There’s a walk-through here.
AWS Step Functions Distributed Map
AWS Step Functions is a visual workflow service that can orchestrate over 10,000 API actions from over 220 AWS services to automate business processes and data processing workloads. (A few use cases are here.) By breaking a workflow into multiple steps, adding flow logic, and tracking the inputs and outputs between the steps, it can help you rewire Lambda functions or microservices; handy for reusing application components.
The Distributed Map addition to it lets Step Functions iterate over objects such as images or logs stored in Amazon S3, then launch and coordinate thousands of parallel workflows to process the data. Why? Well, on-demand processing of huge amounts of semi-structured data is going to be handy for someone…
Objects can be logs, images, or .csv files stored in Amazon Simple Storage Service (Amazon S3). The new distributed map state can launch up to ten thousand parallel workflows to process data. Users can process data by composing any service API supported by Step Functions, but typically, says AWS, “will invoke Lambda functions to process the data with code written in your favorite programming language.”
A walkthrough’s here.