Serverless architecture for cloud native applications
Tanu McCabe, Capital One cloud architect, discusses serverless technology advancements.
Serverless architecture is a natural evolution for cloud native applications founded on modern design principles such as microservices and containerization. As shown in the figure below, serverless technology builds on abstraction layers that ultimately reduce the operational burden of managing infrastructure.
Why is this cool and why should you care? Application teams building with serverless technologies can focus on innovating business logic while benefiting from improved resiliency, security and cost efficiency.
While Functions as a Service are the most well known serverless offerings (e.g., AWS Lambda), cloud service providers continue to demonstrate their commitment to serverless by releasing more developments in this space. Here are some of my predictions for 2023, based primarily on observations of Amazon Web Services (AWS):
AWS serverless services continue to grow
AWS continued to follow up on serverless offerings by releasing Amazon OpenSearch Serverless at re:Invent 2022, following Serverless EMR from earlier in the year. With a spectrum of serverless offerings across compute, databases, etc, as shown in the example below, 2023 will likely bring more, particularly serverless variants of existing services.
Some serverless offerings are meant to replace their managed service equivalents (e.g., serverless EMR and EMR). Others are complementary and meant to be used in conjunction with the managed offering, such as AWS Aurora Serverless v2. Either way, the rich diversity of serverless offerings means that more applications will benefit from being built with fully serverless components.
Serverless event-driven architecture offers better integration and observability
An inherent characteristic of serverless event driven architectures is their need to integrate across several services. For example, there are four common messaging integration patterns used with serverless architecture:
- Queues - AWS SQS
- Publish/Subscribe - AWS SNS - supports millions of consumers
- Event Buses - AWS Eventbridge - intended for a fanout of 5-10 consumers
- Streaming - AWS Kinesis / DynamoDB streams - supports significant scale, ordered and low latency workloads
The amount of integration can lead to complexity and challenges such as being able to pinpoint the cause of a failure. Advancements in monitoring, logging and tracing capabilities as well as adoption of industry standards such as Open Telemetry will go a long way towards synthesizing the telemetry needed to simplify this space. 2023 will likely continue the trend of simplifying integrations (e.g., Amazon Eventbridge Pipes) and enhancing observability (e.g., AWS Cloud Watch cross-account).
Serverless accelerates application development and improves development experience
Supporting and simplifying local development while using a serverless architecture can accelerate application development. To that end, new services such as AWS Composer and frameworks such as AWS SAM can help. In addition, accessible learning such as AWS Serverless training to upskill developers and using the Serverless Lens of the AWS Well Architected Framework as a mechanism to leverage AWS best practices can also help. 2023 will likely continue investment in human capital to improve serverless architecture and implementation skills, while issuing advancements in tooling to make serverless development easier.
Serverless architecture continues advancements
In the years since serverless launched in 2014, serverless technologies have transformed the cloud service landscape. 2023 will continue the good momentum and this journey to enable more fully serverless cloud native applications, while easing challenges attributed to complex integration, development, and observability.
Learn more about enterprise adoption of serverless services in our article Scaling to billions of requests—the serverless way at Capital One.