Serverless Architectures with AWS
Discover how you can migrate from traditional deployments to serverless architectures with AWS
Mohit Gupta
- 226 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
Serverless Architectures with AWS
Discover how you can migrate from traditional deployments to serverless architectures with AWS
Mohit Gupta
About This Book
Don't waste your energy thinking about servers; use AWS to build enterprise-grade serverless applications.
Key Features
- Learn how to quickly and easily go serverless
- Explore AWS and Lambda: the first building blocks of serverless applications on AWS
- Study different approaches to deploy and maintain serverless applications
Book Description
Serverless Architecture with AWS begins with an introduction to the serverless model and helps you get started with AWS and Lambda. You'll also get to grips with other capabilities of the AWS Serverless Platform and see how AWS supports enterprise-grade serverless applications with and without Lambda.
This book will guide you in deploying your first serverless project and exploring the capabilities of serverless Amazon Athena, an interactive query service that makes it easy to analyze data in Amazon Simple Storage Service (S3 Amazon) using standard SQL. You'll also learn about AWS Glue, a fully managed ETL service that makes categorizing data easy and cost-effective. You'll study how Amazon Kinesis makes it possible to unleash the potential of real-time data insights and analytics with capabilities such as video streams, data streams, data firehose, and data analytics. Last but not least, you'll be equipped to combine Amazon Kinesis capabilities with AWS Lambda to create lightweight serverless architectures.
By the end of the book, you will be ready to create and run your first serverless application that takes advantage of the high availability, security, performance, and scalability of AWS.
What you will learn
- Explore AWS services for supporting a serverless environment
- Set up AWS services to make applications scalable and highly available
- Deploy a static website with a serverless architecture
- Build your first serverless web application
- Study the changes in a deployed serverless web application
- Apply best practices to ensure overall security, availability, and reliability
Who this book is for
This book is for you if you want to develop serverless applications and have some prior coding experience. Though no prior experience of AWS is needed, basic knowledge of Java or Node.js will be an added advantage.
Frequently asked questions
Information
Working with the AWS Serverless Platform
Learning Objectives
- Explain Amazon S3 and serverless deployments
- Use API Gateway and integrate it with AWS Lambda
- Work with fully managed services such as SNS, SQS, and DynamoDB
Introduction
Amazon S3
Note
Figure 2.1: Fully qualified URL to access the aws-serverless bucket that has an object called CreateS3Object.csv
Key Characteristics of Amazon S3
- Durability and high availability: Amazon S3 provides durable infrastructure to store your data and promises a durability of Eleven 9s (99.999999999%). The Amazon S3 service is available in multiple regions around the world. Amazon S3 provides geographic redundancy within each region since your data gets copied automatically to at least three different availability zone locations within a region. Also, you have the option to replicate your data across regions. As we saw earlier, you can maintain multiple versions of your data as well, which can be used for recovery purposes later.In the following diagram, you can see that when the S3 bucket in source-region-A goes down, route 53 is redirected to the replicated copy in source-region-B:
Figure 2.2: Amazon S3 Geographic Redundancy
Note
- Scalability: Amazon S3 is a highly scalable service as it can scale up or scale down easily based on your business needs. Suppose, today, that you have an urgent need to run analytics on 500 GB of data and before you do analytics, you have to bring that data into the AWS ecosystem. Don't worry, as you can just create a new bucket and start uploading your data into it. All of the scalability work happens behind the scenes, without any impact on your business.
- Security: In Amazon S3, you can enable server-side encryption, which encrypts your data automatically while it is getting written on the S3 bucket. Data decryption happens by itself when someone wants to read the data. Amazon S3 also supports data transfer over SSL, and you can also configure bucket policies to manage object permissions and control access to your data using AWS Identity and Access Management (IAM). We will look at permissions in more detail in a later part of this chapter.
Note
Since it is server-side encryption, there is no user interference required. Hence, when a user tries to read the data, the server decrypts the data automatically. - Integration: You can use Amazon S3 as a standalone service to store data or you can ...