hands-on lab

Optimize a Deployed AWS Web Application

Get guided in a real environmentPractice with a step-by-step scenario in a real, provisioned environment.
Learn and validateUse validations to check your solutions every step of the way.
See resultsTrack your knowledge and monitor your progress.
Lab description

Learn how to build and run AWS workloads with the most effective use of AWS services (compute, networking, storage, serverless) and resources to achieve enterprise-grade business outcomes with the lowest operating cost.

In this lab scenario, you'll learn how to optimize an already deployed and running web application. The existing web application contains several configurations that should be optimized to achieve better performance, availability, scalability, and improvements in overall operating cost.

Note: To keep things simple and to quicken the lab launch time, all AWS networking and compute resources provisioned within this lab take place in the publicly zoned area of the default VPC, and as such the security posture is limited and should not be replicated in your own production environments.

Learning Objectives

Upon completion of this lab, you will be able to:

  • Cloud optimize an existing AWS web application

Intended Audience

  • Those interested in learning how to optimize AWS architectures to be more performant, scale on-demand, and minimize running costs


Familiarity with the following will be beneficial but is not required:

  • Be comfortable with basic Linux command line administration

Lab Environment

This lab will start with the following AWS resources provisioned automatically for you:

  • 1 x EC2 t3.small instance (hashgen.cloudacademy.platform.instance):
    • Configured as an NFS server
    • Runs a cronjob to generate a hash which is written into an NFS share
  • 1 x ASG containing a static set of:
    • 2 x EC2 t3.small instances (app.cloudacademy.platform.instance)
      • Each instance mounts to the NFS share for read-only purposes
  • 1 x ALB
    • Listener (port 80)
    • App Target Group (port 8080)

To achieve the lab end state, you will be walked through the process of:

  • Using your local workstation browser to remotely connect to the AWS Console
  • Within the AWS Console perform several cloud optimization configurations to improve:
    • Performance
    • Availability
    • Scalability
    • Operating Cost


About the author
Jeremy Cook
Content Lead Architect
Learning paths

Jeremy is a Content Lead Architect and DevOps SME here at Cloud Academy where he specializes in developing DevOps technical training documentation.

He has a strong background in software engineering, and has been coding with various languages, frameworks, and systems for the past 25+ years. In recent times, Jeremy has been focused on DevOps, Cloud (AWS, Azure, GCP), Security, Kubernetes, and Machine Learning.

Jeremy holds professional certifications for AWS, Azure, GCP, Terraform, Kubernetes (CKA, CKAD, CKS).

Covered topics
Lab steps
Logging In to the Amazon Web Services Console
Web Application Architecture Review
Complete the Lambda Function and S3 Bucket Configuration
Update the ASG Configuration
Perform Load Testing and Benchmark Performance
Optimizations Summary