Micro Service Design Patterns

Start course

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 

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. 



 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.

About the Author
Learning Paths

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