1. Home
  2. Training Library
  3. Serverless, Component Decoupling, and Solution Architectures (SAP-C02)

When Should We Consider Single-Tier Architecture?


Course Introduction
Utilizing Managed Services and Serverless Architectures to Minimize Cost
Decoupled Architecture
Amazon API Gateway
Advanced API Gateway
PREVIEW11m 29s
Amazon Elastic Map Reduce
Introduction to EMR
Amazon EventBridge
Design considerations

The course is part of this learning path

Start course
4h 43m

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. Single tier can also suit very simple applications or small sites with low traffic demand which will benefit from the effective and economical resource utilization single tier allows


 When should we consider a single-tier design? Single-tier generally implies that all the replication services are running on the one machine or instance.

 So the benefit of a single-tier architecture is that we have everything in one tier. So potentially one instance or group of instances can run our entire application. The three tiers will be sharing the memory, process, and storage of that one machine or group of machines. And that is fine when we just need a simple service, say a Dev or Test environment, or we have a very small application that may not need to scale up or down to meet demand. 

However, keep in mind to scale a single-tier architecture, you're generally going to need to scale an instance or machine vertically, i.e, you're gonna need a bigger machine. Yes, you can run single-tier on multiple availability zones. So yes, a single-tier architecture can be made more resilient by running it in AWS. And yes, you can put your single-tier machine or instance into an order scale group so that it effectively scales based on demand. However, the design floor in doing that is that you are not decoupling your services so that they can scale independently. That's the big benefit of running Cloud services in a decoupled environment. 

So if you are asked to make that a single-tier application highly available and fault tolerant, you will need to refactor it as a multi-tier architecture. In a single-tier design, you are going to have all your services on the same machine using the same resources, which can create an availability risk. If the server is down, then the entire application will be down. If availability is a requirement, you need a decoupled multi-tiered architecture. If an exam scenario describes a very simple application that doesn't need to be highly available and fault resilient, then running their application on a single-tier architecture may be a consideration. 

The key thing to remember is that the benefit of multi-tier architecture is that the tiers are decoupled, which means they can be scaled to meet demand. And it is a major benefit of building applications in the Cloud. If the presentation layer is suddenly hit with a 100,000 user requests, that presentation layer can be scaled to meet that demand. If the application tier needs to run end of month report, and so it's very busy for two or three days at the end of the month, their application tier can be scaled out to meet that demand and then scale back in to its usual operating level. Responding to this type of burst activity, really suits cloud environments and specifically suits AWS Auto Scaling, and more specifically Auto Scale groups.

About the Author
Learning Paths

Danny has over 20 years of IT experience as a software developer, cloud engineer, and technical trainer. After attending a conference on cloud computing in 2009, he knew he wanted to build his career around what was still a very new, emerging technology at the time — and share this transformational knowledge with others. He has spoken to IT professional audiences at local, regional, and national user groups and conferences. He has delivered in-person classroom and virtual training, interactive webinars, and authored video training courses covering many different technologies, including Amazon Web Services. He currently has six active AWS certifications, including certifications at the Professional and Specialty level.