For many companies, the journey to modern cloud applications starts with serverless. While these serverless services provide strong business benefits due to their flexible on-demand usage and pricing model, they also introduce new complexities for observability.
Amazon Web Services (AWS), offers a wide range of serverless solutions. To get a better understanding of AWS serverless, we'll first explore the basics of serverless architectures, review AWS serverless offerings, and explore common use cases. We will also 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 broken down into functions, each of which is 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 functions, such as capacity provisioning and hardware maintenance, teams can focus on application design, deployment, and delivery.
Speed. Speed is next; serverless solutions are quick to spin up or down as needed, and there are 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 increase total resource allocation for your entire application, which helps reduce total resource costs and improve overall app efficiency.
AWS serverless offerings
Amazon divides its serverless solutions into three broad categories with 12 specific services. But which are the best fit for your business, 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 and helping 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 with six solutions 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, making 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.
Common use cases for AWS serverless services
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.
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
Serverless solutions from Amazon are often used 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 to deliver real-time file processing, analysis, and output.
Boosting batch processing
Tools such as Lambda and SNS enable better batch processing, which 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 they become parts of a larger whole, it's easy for IT teams to lose track of what's happening. Services can span multiple cloud providers and connections, making 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, streamline and optimize service architecture, and scale to meet evolving demands - without losing sight of critical operations.
Dynatrace Inc. published this content on 07 October 2021 and is solely responsible for the information contained therein. Distributed by Public, unedited and unaltered, on 07 October 2021 07:36:05 UTC.