Serverless Architectures with AWS
eBook - ePub

Serverless Architectures with AWS

Discover how you can migrate from traditional deployments to serverless architectures with AWS

Mohit Gupta

Share book
  1. 226 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Serverless Architectures with AWS

Discover how you can migrate from traditional deployments to serverless architectures with AWS

Mohit Gupta

Book details
Book preview
Table of contents
Citations

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

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Serverless Architectures with AWS an online PDF/ePUB?
Yes, you can access Serverless Architectures with AWS by Mohit Gupta in PDF and/or ePUB format, as well as other popular books in Computer Science & Cloud Computing. We have over one million books available in our catalogue for you to explore.

Information

Year
2018
ISBN
9781789802238
Edition
1

Working with the AWS Serverless Platform

Learning Objectives

By the end of this chapter, you will be able to:
  • 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
This chapter teaches you how to build and run serverless applications with AWS.

Introduction

In the previous chapter, we focused on understanding the serverless model and getting started with AWS and Lambda, the first building blocks of a serverless application on AWS. You also learned about how the serverless model differs from traditional product development.
In this chapter, we will learn about other AWS capabilities such as S3, SNS, and SQS. You can start by asking students about different AWS serverless technologies that the students have heard about or have had the chance to work with. Talk to them briefly about different AWS services such as S3 storage, API Gateway, SNS, SQS, and DynamoDB services. We will discuss them in detail in this chapter.

Amazon S3

Amazon Simple Storage Service or S3 is nothing but a cloud storage platform that lets you store and retrieve any amount of data anywhere. Amazon S3 provides unmatched durability, scalability, and availability so that you can store your data in one of the most secure ways. This storage service is accessible via simple web interfaces, which can either be REST or SOAP. Amazon S3 is one of the most supported platforms, so either you can use S3 as a standalone service or you can integrate it with other AWS services.
Amazon S3 is an object storage unit that stores data as objects within resources called "buckets". Buckets are containers for your objects and serve multiple purposes. Buckets let you organize Amazon namespaces at the highest level and also play a key role in access control. You can store any amount of objects within a bucket, while your object size can vary from 1 byte to 5 terabytes. You can perform read, write, and delete operations on your objects in the buckets.
Objects in S3 consist of metadata and data. Data is the content that you want to store in the object. Within a bucket, an object is uniquely identified by a key and a version ID. The key is the name of the object.
When you add a new object in S3, a version ID is generated and assigned to the object. Versioning allows you to maintain multiple versions of an object. Versioning in S3 needs to be enabled before you can use it.

Note

If versioning is disabled and you try to copy the object with the same name (key), it will overwrite the existing object.
A combination of bucket, key, and version ID allows you to uniquely identify each object in Amazon S3.
For example, if your bucket name is aws-serverless and the object name is CreateS3Object.csv, the following would be the fully qualified path of an object in S3:
Figure 2.1: Fully qualified URL to access the aws-serverless bucket that has an object called CreateS3Object.csv
Figure 2.1: Fully qualified URL to access the aws-serverless bucket that has an object called CreateS3Object.csv

Key Characteristics of Amazon S3

Now, let's understand some of the key characteristics of using the Amazon S3 service:
  • 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
Figure 2.2: Amazon S3 Geographic Redundancy

Note

Geographic redundancy enables the replication of your data and stores this backup data in a separate physical location. You can always get your data back from this backup physical location just in case the main site fails.
  • 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 ...

Table of contents