For many companies, the journey to modern cloud applications starts with serverless. While these serverless services provide business benefits and a flexible on-demand usage and pricing, they also introduce complexities for observability.
Amazon Web Services (AWS) offers a wide range of serverless solutions. To get a better understanding of AWS serverless, we’ll explore the basics of serverless architectures and review AWS serverless offerings. We will also explore common use cases and discuss how you can ensure observability in serverless environments. Let’s get started.
Serverless architecture: A primer
Serverless architecture shifts application hosting functions away from local servers onto those managed by providers. This means you no longer have to provision, scale, and maintain servers to run your applications, databases, and storage systems.
While function-as-a-service (FaaS) serverless architecture is similar to platform-as-a-service (PaaS) solutions, there’s a significant difference. PaaS applications are typically deployed as single units, whereas serverless applications are delivered as functions, each hosted by your provider.
Why use a serverless architecture?
Serverless architecture offers several benefits for enterprises.
- Simplicity. The first benefit is simplicity. Instead of worrying about infrastructure management, capacity provisioning and hardware maintenance, teams can focus on application design, deployment, and delivery.
- Speed. Serverless solutions spin up or down quickly as needed, with no delays due to limited storage or resource access.
- Reliability. Serverless solutions are also more reliable than their traditional application counterparts. Since apps are hosted as interconnected functions in the cloud they’re naturally redundant and less prone to unexpected failure.
- Scalability. Finally, there’s scalability. Using a FaaS model makes it possible to scale up individual application functions as needed. Rather than increasing total resource allocation for your entire application, this flexibility reduces resource costs and improves overall app efficiency.
AWS serverless offerings
Amazon divides its serverless solutions into three broad categories with 12 specific services. But which fit your business best, and where do they make the most sense in your serverless application stack? Let’s explore each in more detail.
Amazon compute solutions are designed to streamline resource provisioning and container management with two services:
- AWS Lambda: Lambda provides serverless compute infrastructure that lets you run code in response to predetermined events or conditions and automatically manage all compute resources required for these processes. Lambda functions can be written in the language of your choice, and the service also supports container tools.
- AWS Fargate: Fargate is a serverless compute engine designed for containers that work with Amazon’s Elastic Kubernetes Service (EKS) and the Amazon Elastic Container Service (ECS). It automatically allocates the compute resources you need, eliminating the need for server management. It also helps to control costs since you only pay for the resources needed to run your containers.
Amazon’s application integration services form the bulk of its serverless offerings. Its six solutions are designed to streamline the interconnection of application functions.
- Amazon EventBridge: EventBridge to bridges the data gap between your applications and other services, such as Lambda or specific SaaS apps. Users control where their data goes in real-time. This flexibility makes it possible to create app architectures that respond to data sources on demand.
- AWS Step Functions: Step Functions focuses on orchestration. Using a low-code visual workflow approach, organizations can orchestrate key services, automate critical processes, and create new serverless applications.
- Amazon SQS: The Amazon Simple Queue Service enables users to decouple and scale microservices, serverless applications, and distributed systems, reducing both IT overhead and total complexity.
- Amazon SNS: The Simple Notification Service provides fully managed messaging across application-to-person (A2P) and application-to-application (A2A) frameworks, enabling users to send messages at scale via SMS, mobile push, and email.
- Amazon API Gateway: Amazon’s API gateway handles API calls, enabling teams to create RESTful or WebSocket APIs that deliver real-time, two-way communication.
- AWS AppSync: AppSync offers a fully managed approach to developing APIs with GraphQL — connecting to AWS DynamoLB or Lambda along with adding caches and client-side data.
As data volumes rapidly increase, streamlined data storage is a top priority. AWS offers four serverless offerings for storage.
- Amazon S3: The Simple Storage Service stores and retrieves data from anywhere with scalability, data availability, security, performance, and a high degree of durability.
- Amazon DynamoDB: DynamoDB is a key-value and document database capable of handling more than 10 trillion requests per day and has the capacity to manage 20 million requests per second.
- Amazon RDS Proxy: The Relational Database Service (RDS) proxy reduces failover times by up to 66%, enabling companies to increase the scalability, resiliency and security of their applications.
- Amazon Aurora Serverless: Amazon Aurora is a serverless relational database that provides automatic startup, shut down, and capacity scaling based on application needs.
Common use cases for AWS serverless services
While leveraging Amazon’s suite of serverless services makes it possible to take on almost any IT task without increasing in-house complexity, it’s worth examining four common use cases to explore how these services work in concert.
Empowering web applications
Organizations often use serverless solutions from Amazon to underpin critical application functions. By leveraging Lambda and the API Gateway for business logic — combined with DynamoDB for streamlined data store — organizations can create purpose-built, event-driven application back-ends that empower front-end functions.
Improving data processing
By combining Lambda, S3, SQS, SNS, and DynamoDB, organizations can develop and deploy general-purpose, event-driven parallel processing architectures. These architectures deliver real-time file processing, analysis, and output.
Boosting batch processing
Tools such as Lambda and SNS enable better batch processing. Batching makes it possible to quickly download, upload, and process files — and then automatically send notifications to IT teams.
Enhancing event ingestion
By pairing Lambda and SQS with AWS machine learning services, such as Amazon Rekognition and Comprehend, organizations can create serverless document repositories that offer fast indexing and simplified search.
Seamless observability of AWS serverless services
While AWS serverless solutions offer a solid framework for resource distribution, application management, and storage provision, the sheer number of interconnected solutions leveraged by enterprises to deliver on use case scenarios comes with its own challenge: observability.
Although individual Amazon services are typically transparent, once integrated, IT teams can easily lose track of what’s happening. Services can span multiple cloud providers and connections. This distribution makes it more difficult to discern where and when specific transactions happen, which increases overall complexity.
The Dynatrace Software Intelligence Platform provides seamless observability of AWS serverless services across the full hybrid-cloud stack and multicloud platforms. Dynatrace has partnered with Amazon to be part of the future AWS distro for OpenTelemetry deployments to deliver enhanced visibility across serverless stacks.
Dynatrace has also developed new extensions for Lambda and intelligent operations for both EKS and Fargate, which deliver automatic observability in context with the other services, hybrid-cloud resources, and cloud resources. In practice, Dynatrace’s observability and AI-driven analysis of AWS serverless services in context with the full hybrid-cloud stack enable organizations to simplify cloud environments. Without losing sight of critical operations, Dynatrace enables teams to streamline and optimize service architecture, and scale to meet evolving demands.
To learn more about how Dynatrace can provide critical observability over all your AWS serverless initiatives, join us for our on-demand Power Demo AWS Observability with Serverless.