Design Components - Auto Scaling

Start course
Overview
Difficulty
Beginner
Duration
48m
Students
7202
Ratings
4.4/5
starstarstarstarstar-half
Description

Course Introduction
Domain One of The AWS Solution Architect Associate exam guide SAA-CO2 requires us to be able to Design a multi-tier architecture solution so that is our topic for this course.
The objective of this course is to prepare you for answering questions related to this domain. We’ll cover the need to know aspects of how to design Multi-Tier solutions using AWS services.

Learning Objectives
By the end of this course, you will be well prepared for answering questions related to Domain One in the Solution Architect Associate exam.

Architecture Basics 
You need to be familiar with a number of technology stacks that are common to multi-tier solution design for the Associate certification- LAMP, MEAN, Serverless and Microservices are relevant patterns to know for the exam. 

What is Multi-Tier Architecture?
A business application generally needs three things. It needs something to interact with users - often called the presentation layer -  it needs something to process those interactions - often called the logic or application layer - and it generally needs somewhere to store the data from that logic and interactions - commonly named as the data tier.

When Should You Consider a Multi-Tier Design?
The key thing to remember is that the benefit of multi-tier architecture is that the tiers are decoupled which enables them to be scaled up or down to meet demand. This we generally call burst activity and is a major benefit of building applications in the cloud

When Should We Consider Single-Tier Design?
Single tier generally implies that all your application services are running on the one machine or instance. Single-Tier deployment is generally going to be a cost-effective and easy to manage architecture but speed and cost is about all there is for benefits. Single tier suits development or test environments where finite teams need to work and test quickly. 

Design a Multi-Tier Solution 
First we review the design of a multi-tier architecture pattern using instances and elastic load balancers.  Then we’ll review how we could create a similar solution using serverless services or a full microservices design.

AWS Services we use 

The Virtual Private Cloud
Subnets and Availability Zones 
Auto Scaling 
Elastic Load Balancers 
Security groups and NACLs
AWS CloudFront 
AWS WAF and AWS Shield 

Serverless Design 
AWS Lambda 
Amazon API Gateway 

Microservices Design 
AWS Secrets Manager 
AWS KMS 

Sample Questions
We review sample exam questions to apply and solidify our knowledge. 

Course Summary 
Review of the content covered to help you prepare for the exam. 

 

 
Transcript

Auto Scaling enables horizontal scaling, i.e. adding more instances rather than a vertical scaling, which traditionally tends to be increasing the size or capacity of an instance or machine. When an autoscaling rule is applied, the autoscaling configuration plan launches new instances based on that autoscale configuration. So, autoscaling can be scheduled to scale based on estimated usages, or you can set alarms to scale the size of an autoscale group based on CPU network or memory usage. 

So, when any instance in your group reaches a certain threshold, an alarm will be created and the autoscaling group configuration will launch more instances to meet that demand, this is way more resilient. So, if you have a question that mentions high availability, then most likely it is going to need a decoupled multi tier architecture, and it is going to need to be able to scale parts of that application quickly to meet burst activity. So, before we move into design mode, a few questions you need to ask yourself if you're presented with a scenario. Does it need to be highly available?

Does it need to be scalable? Does it need to be fault-tolerant? And in practical terms, does the system need to always be able to answer customer requests? And if so, then it needs to have a multi tier architecture.

 

About the Author
Students
149891
Courses
73
Learning Paths
157

Andrew is fanatical about helping business teams gain the maximum ROI possible from adopting, using, and optimizing Public Cloud Services. Having built  70+ Cloud Academy courses, Andrew has helped over 50,000 students master cloud computing by sharing the skills and experiences he gained during 20+  years leading digital teams in code and consulting. Before joining Cloud Academy, Andrew worked for AWS and for AWS technology partners Ooyala and Adobe.

Covered Topics