Gain Business and Technical Competitive Advantage with Serverless Computing on AWS
Build and run applications without thinking about servers
Why build a serverless application?
Serverless computing allows you to build and run applications and services without thinking about servers. Serverless applications don't require you to provision, scale, and manage any servers. Instead, everything required to run and scale the application with high availability is handled for you.
Serverless applications provide four main benefits:
No Server Management – There is no need to provision or maintain any servers. There is no software or runtime to install, maintain, or administer.
Flexible Scaling – Your application can be scaled automatically or by adjusting its capacity through toggling the units of consumption (e.g. throughput, memory) rather than units of individual servers.
High Availability – Serverless applications have built-in availability and fault tolerance. You don't need to architect for these capabilities since the services running the application provide them by default.
No Idle Capacity – You don't have to pay for idle capacity. There is no need to pre- or over-provision capacity for things like compute and storage. For example, there is no charge when your code is not running.
Serverless Applications on AWS
AWS offers a serverless platform that lets you build and run virtually any type of application or backend service at scale, without having to provision, manage, and scale servers. Companies that build serverless applications get faster time-to-market because the core infrastructure components, like compute and databases, are offered as fully managed services by AWS. These companies also experience reduced infrastructure costs since billing is based on actual resource utilization - there are no idle server charges.
AWS Lambda can be used as the control plane and logic layer for all of your interconnected infrastructure resources and web APIs.
Orchestration and State Management
AWS Step Functions enables you to coordinate and manage the state of the distributed components and microservices that make up your serverless application.
Responsive Data Sources
AWS lets you to choose from a broad set of data sources and providers to help process data and/or trigger events in real-time.
Application Modeling Framework
The AWS Serverless Application Model is an open source framework that can help you model and deploy your serverless applications. Application lifecycle management tools, such as AWS CodePipeline and AWS CodeBuild, enable you continuously deliver your serverless applications.
Developer Ecosystem
AWS and its partner ecosystem provide tools that aid developers in the serverless application development process, including continuous integration and delivery, testing, monitoring and diagnostics, SDKs, frameworks, and integrated development environment (IDE) plugins.
Security, Reliability, and Scale for Enterprise-Grade
Security and Access Control
AWS Identity and Access Management (IAM) enables you to securely control access to your AWS resources via creation and management of users, groups, and permissions. Manage and authenticate end users of your serverless applications with Amazon Cognito. Amazon Virtual Private Cloud (Amazon VPC) allows you to create virtual networks which only users with permission can access.
Reliability and Performance
AWS provides you with highly available, scalable, and low-cost services that deliver performance for enterprises of any scale. AWS Lambda, in particular, has built-in features, such as dead letter queues, and automatic retries that help reliably execute your business logic.
Global Scale and Reach
The AWS Global Infrastructure provides your applications and services with the ability to scale out globally in minutes. You can run code across AWS locations globally using Lambda@Edge, which helps you respond to end users with lower latency. It can also be run on local, connected devices with AWS Greengrass and AWS Snowball Edge.
Components of the AWS Serverless Platform
COMPUTE
AWS Lambda lets you run code without provisioning or managing servers. You pay only for the compute time you consume - there is no charge when your code is not running.
DATABASES
Amazon DynamoDB is a fast and flexible NoSQL database service for all applications that need consistent, single-digit millisecond latency at any scale.
ANALYTICS
Amazon Kinesis enables streaming data on AWS, offers powerful services to make it easy to load and analyze streaming data, and provides the ability to build custom streaming data applications. This data can then be published to Amazon S3 and queried by Amazon Athena, a serverless interactive query service for standard SQL.
SYSTEMS MESSAGING
AWS managed services make it easy to decouple and scale microservices, distributed systems, and serverless applications. For interprocess messaging, users can leverage Amazon SNS as a pub/sub messaging service, and Amazon Simple Queue Service (Amazon SQS) for message queuing.
STORAGE
Amazon Simple Storage Service (Amazon S3), provides developers and IT teams with secure, durable, highly-scalable object storage.
API PROXY
Amazon API Gateway is a fully managed service that makes it easy for developers to create, publish, maintain, monitor, and secure APIs at any scale.
STATE MANAGEMENT
AWS Step Functions makes it easy to coordinate the components of distributed applications and microservices using visual workflows.
DEVELOPER TOOLS
AWS provides tools and services that aid developers in the serverless application development process. AWS and its partner ecosystem offer tools for continuous integration and delivery, testing, deployments, monitoring and diagnostics, SDKs, frameworks, and integrated development environment (IDE) plugins.
DIAGNOSTICS
AWS X-Ray helps developers analyze and debug production, distributed applications, such as those built using a microservices architecture.