Design a Multi-Tier Solution
The course is part of this learning path
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.
By the end of this course, you will be well prepared for answering questions related to Domain One in the Solution Architect Associate exam.
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
Elastic Load Balancers
Security groups and NACLs
AWS WAF and AWS Shield
Amazon API Gateway
AWS Secrets Manager
We review sample exam questions to apply and solidify our knowledge.
Review of the content covered to help you prepare for the exam.
Okay, so that brings us to the end of this course on domain one, designing multi-tier architectures.
So just to recap, we looked at the architecture basics using lamp main serverless and microservices. We talked about what is multi-tier architecture. Remember the benefit of multi-tier architecture is to decouple your layers so they can be independently scaled up or down to meet demand, thereby making the system more resilient and more highly available. We looked at some of the tiering options we had for designing multi-tier solutions. We looked at using the Amazon VPC or virtual private cloud, which allows us to use multiple availability zones within a region, to give our design more resilience.
We looked at using auto scaling and the auto scale group to provision instances within a fleet for ourselves. We looked at using elastic load balancers in between layers viding more resilience between our layers and we looked at multiple configurations for how to connect in and outbound using the internet gateway, using a virtual private gateway with a VPN. And we looked at using a NAT instance or a NAT gateway.
We also looked at security groups, we looked at network access control lists. Security groups are our first line of defense, how network access control lists are our second line of defense. We looked at some of the serverless design patterns we could implement using Amazon API gateway and AWS Lambda. And then we look briefly at microservices designs where we were able to completely decouple our application tiers. We don't need to think so much about tiering with a microservice design. And that, again, leverages all of the good things around AWS's stack. And then we looked at two sample questions to help you get ready for the exams. So good luck. Let's get into it, let's go pass.
About the Author
Head of Content
Andrew is an AWS certified professional who is passionate about helping others learn how to use and gain benefit from AWS technologies. Andrew has worked for AWS and for AWS technology partners Ooyala and Adobe. His favorite Amazon leadership principle is "Customer Obsession" as everything AWS starts with the customer. Passions around work are cycling and surfing, and having a laugh about the lessons learnt trying to launch two daughters and a few start ups.