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.
Now let's have a look at a full microservices architecture pattern. So let's look at a design pattern that fully utilizes microservices. Now the microservice architecture pattern is not bound by that typical three-tier architecture which we've examined so far. However, that's a popular pattern, and it can realize significant benefits when used with serverless resources. So in our architecture this time, each of the application components are completely decoupled and independently deployed and operated. Amazon API Gateway manages their API, and the functions subsequently are executed by AWS Lambda, and that's all you need to build the microservice. That means your team is free to do other things.
The challenge with microservice environments is that it does create a few difficulties, like there's repeated overhead for creating each traditional server-designed microservice. We've got to optimize the servers, the density, utilization, et cetera. So when we create microservices using serverless resources, those problems become simpler and easier to solve. The serverless microservice pattern lowers that bar to creation of each subsequent microservice. And optimizing server utilization is not so much of an issue with this pattern. An API gateway provides programmatic-generated client SDKs, which can make it even easier to integrate with other services and other runtimes. Okay, so there's a lot more detail we could go into on both microservice design and serverless design. You don't need to know a lot of granularity for the Solution Architect Associate exam, okay? But this is a very interesting topic. So by all means, once you've passed the exam, come back and learn more about these brilliant architectures.
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.