Graviton Web App Migration
AWS Graviton processors are designed by AWS to deliver the best price-performance for your cloud workloads running in Amazon EC2.
In this lab scenario, you'll learn how to easily migrate a web application to run on AWS Graviton. You'll start by baselining a deployment of the web application to run on standard x86 based EC2 instances (t2.micro), this will be accomplished with the use of Terraform. The deployment will set up an ASG and launch template for the web application servers, plugging it into an already deployed and running ALB (created by the lab at launch time). You'll then be walked through the process of updating the provided Terraform templates to redeploy the same web application onto Graviton based EC2 instances (t4g.micro). The required modifications to get the web application working on Graviton will be the emphasis of this lab, and as such will highlight different areas that need to be considered when porting an application from x86 to Graviton.
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.
Upon completion of this lab, you will be able to:
- Migrate a web application to run on Graviton Arm-based EC2 instances (t4g.micro)
- Those interested in migrating applications onto Graviton to optimize costs
Familiarity with the following will be beneficial but is not required:
- Be comfortable with basic Linux command line administration
This lab will start with the following AWS resources provisioned automatically for you:
- 1 x EC2 instance
- ide.cloudacademy.platform.instance - provides a web-based IDE with an integrated terminal
- 1 x ALB
- Listener (port 80)
- Web Frontend Forwarding Rule (Web Frontend Target Group)
- API Forwarding Rule (API Target Group)
- Web Frontend Target Group (port 80)
- API Target Group (port 8080)
- Listener (port 80)
To achieve the lab end state, you will be walked through the process of:
- Using your local workstation browser to remotely connect to the ide.cloudacademy.platform.instance
- Using the web-based IDE and integrated terminal, you'll complete the remainder of the stated Learning Objectives (above)
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).