Deploy a highly available serverless application using AWS services

Intermediate

63 students completed the lab in ~1h:12m

Total available time: 2h:0m

20+ students rated this lab!

Lab Overview

In this lab you will learn how to deploy a highly available website using Amazon Web Services. The lab is built upon a scenario that draws upon real-world challenges facing many website and web application deployments. LoungeBeer.com is based on a fictitious  company that wants to run an advertising campaign during the half time of the Super Bowl. LoungeBeer.com faces many of the same challenges as other companies do, including time restrictions, cost limitations, high availability and security concerns. The deployment leans heavily upon several Amazon Web Services. Services that you will configure from authentication all the way through long term storage. The AWS services include:

  • Cognito
  • Simple Storage Solution (S3)
  • Glacier
  • Athena
  • Kinesis Firehose
  • Identity and Access Management (IAM)
  • CloudFront
  • An example application that leverages the AWS JavaScript SDK is also used

Lab Objectives

Upon completion of this lab you will be able to:

  • Configure unauthenticated identities in Amazon Cognito
  • Create a delivery stream in Amazon Kinesis Firehose
  • Configure and navigate Amazon S3 for various storage and retrieval purposes
  • Monitor Amazon Firehose to S3 inbound and delivery metrics graphed by CloudWatch
  • Complete an AWS wizard that builds a static website using CloudFront and S3
  • Use developer tools in the browser to confirm several AWS services used in the Lab are functioning properly
  • Configure a lifecycle rule in S3 to automatically use Glacier for archival (long term storage) and expiration

Lab Prerequisites

You should be familiar with:

  • Application development basics, particularly surrounding security topics such as identification, authentication, and security keys
  • Information Technology deployment considerations, such as Domain Name Service (DNS), Content Delivery Network (CDN), high availability, reporting and monitoring
  • JavaScript proficiency is not required, but is helpful
It is highly recommended that you take the Scenario - Creating a Highly Available Campaign Web Site course prior to completing this Lab. The topics above are discussed within the context of a design solution whiteboard session.

Lab Environment

After completing the lab instructions the environment should look similar to:

Follow these steps to learn by building helpful cloud resources

Logging in to the Amazon Web Services Console

Your first step to start the Lab experience

Configuring Cognito for Unauthenticated access

Configure Cognito to provide a unique identity and AWS credential

Setting up Kinesis Firehose

Setup the source and destination for a Kinesis Firehose delivery stream

Examining the LoungeBeer application

Make minor changes to the LoungeBeer JavaScript code

Hosting a Static Website

Use a wizard that leverages key AWS services to host a static website

Creating a Lifecycle Rule for an S3 Bucket

Configure a lifecycle rule to transition all S3 objects to Glacier for cost savings

Querying LoungeBeer content on S3 with Athena

Query encrypted LoungeBeer content on S3 from Athena