Lambda layers starts allowing developers to upload once, and reuse multiple times. Lambda already lets you package your dependencies, but required you to duplicate it across every function you wrote. We also see customers adopt the pattern of thin wrappers around their core functionality across functions, and layers makes it very easy for customers to reuse code within Lambda. This also lays the foundation for us to do innovate further on behalf of the customer, with how function code gets initialized and loaded.
If you’ve detected a theme here, you’re right – our strategy is to take all those places where we ourselves use extensibility today, such as languages, libraries, and agents, and turn them into ecosystem opportunities. But when we do that, it’s going to be in a uniquely serverless way that preserves all the benefits of scale, latency, and ease of use that Lambda offers today.
Get an event
Propagate tracing ID
Create a context object
Invoke the function handler
Handle the response
Handle errors
Cleanup
Get an event
Propagate tracing ID
Create a context object
Invoke the function handler
Handle the response
Handle errors
Cleanup
So how do we track state between all these things?
How do we make sure things are executing in the right order and at the right time?
We need a state machine of course
In simpler terms, we need a way to orchestrate the different workflows between all the services
Set timeouts on tasks, interrupt execution, have tasks send heartbeats, and monitor and audit at fine granularity.
Many applications contain workflows that must execute tasks in a reliable and repeatable sequence using independent components and services. Before Step Functions, customers who automated business processes had to spend weeks to write and then manage complex custom workflow code and interfaces.
Today, customers use AWS Step Functions to add resilient workflow automation to their applications. Workflows on Step Functions require less code to write and maintain. Step Functions integrates with AWS Lambda. This makes it easy to add Lambda tasks to workflows, such as calculating a credit score as part of a loan application workflow, or creating a customer account as part of a subscription workflow.
Customers asked us for more service integrations so that they could be even more productive with Step Functions. Now, developers can connect and coordinate eight more AWS compute, database and messaging services in minutes, without writing code. These new service integrations simplify and speed delivery of solutions for workloads such as order processing, report generation, and data analysis pipelines.
To manage asynchronous jobs, customers can create serverless polling loops to detect when a job completes.
With the new service integrations, when your workflows start an AWS Batch job, run a container on ECS or Fargate, or invoke a Lambda function, Step Functions will detect for you when the job, container, or function completes its work before transitioning to the next step.