Build a Three-Tier Cloud Application Architecture
A production cloud application is rarely just one virtual machine. Real enterprise applications are commonly separated into multiple tiers so that presentation, application logic, and data can be scaled, secured, monitored, and managed independently.
Welcome to Lab 12 of the CompTIA Cloud+ practical lab sequence.
This is an important milestone.
In the previous labs, you built individual cloud capabilities:
- virtual machines
- segmented networks
- routing
- internet access
- security groups
- DNS
- block, file, and object storage
- storage security
- IAM
- MFA and privileged access
- workload identities
Now you will bring these components together into one architecture.
You will build:
Internet β Web Tier β Application Tier β Data TierThe objective is not simply:
Deploy three servers.
The objective is:
Understand how enterprise cloud components work together to create a segmented, least-privilege, service-oriented application architecture.
π― Mission Information
Section titled βπ― Mission Informationβ| Item | Details |
|---|---|
| Lab | 12 β Build a Three-Tier Cloud Application Architecture |
| Difficulty | Intermediate |
| Estimated Time | 120β180 Minutes |
| Certification Alignment | CompTIA Cloud+ |
| Primary Focus | Cloud Application Architecture |
| Previous Lab | 11 β Workload Identity and Service Account Lab |
| Career Alignment | Cloud Administrator, Cloud Engineer, Cloud Security Engineer, Solutions Architect |
| Major Skills | Architecture, Compute, Networking, IAM, DNS, Security, Storage, Troubleshooting |
| Deliverable | Working Three-Tier Architecture + Architecture Review |
π’ Scenario
Section titled βπ’ ScenarioβYour organization is moving a small internal business application into the cloud.
The application contains three logical components:
Web Tier
Section titled βWeb TierβResponsible for:
-
receiving user requests
-
serving web content
-
forwarding application requests
Application Tier
Section titled βApplication TierβResponsible for:
-
business logic
-
processing
-
communication with backend services
Data Tier
Section titled βData TierβResponsible for:
- persistent application data
Your manager requires the following architecture:
Internet βWeb Tier βApplication Tier βDatabase TierSecurity requirements include:
-
only the web tier should require direct inbound internet access
-
application workloads must remain private
-
database workloads must remain private
-
web tier should communicate only with the required application service
-
application tier should communicate only with the required database service
-
direct web-to-database communication should not be required
-
workload identities should replace embedded cloud credentials
-
DNS names should be used instead of hard-coded infrastructure IP addresses
-
all resources should follow established naming, tagging, and documentation standards
π― Lab Objectives
Section titled βπ― Lab ObjectivesβBy completing this lab, you should be able to:
-
explain three-tier architecture
-
identify presentation, application, and data tiers
-
deploy workloads into appropriate subnets
-
distinguish public and private workload placement
-
configure tier-specific security groups
-
validate routing
-
use private DNS between tiers
-
understand application traffic flows
-
use workload identities
-
apply least privilege
-
understand application storage requirements
-
validate tier-to-tier connectivity
-
identify broken dependencies
-
troubleshoot multi-tier applications systematically
-
document enterprise architecture
-
perform a basic security review
-
perform a basic availability review
-
explain three-tier architectures during interviews
π§ Why Three-Tier Architecture?
Section titled βπ§ Why Three-Tier Architecture?βA simple application might begin as:
Internet βSingle Server | βββ Web βββ Application βββ DatabaseThis may be acceptable for a small lab.
But it creates several limitations.
If the server fails:
everything fails.
If the web component is compromised:
the application and database may be directly exposed.
If the web tier needs more capacity:
you may have to scale the entire system.
A three-tier design separates responsibilities.
Presentation βApplication Logic βDataπ§ Architectural Benefits
Section titled βπ§ Architectural BenefitsβThree-tier designs can improve:
-
security
-
scalability
-
availability
-
troubleshooting
-
workload isolation
-
operational ownership
01 β Understand the Three Tiers
Section titled β01 β Understand the Three TiersβYour application will contain:
Tier 1Web / Presentation
Tier 2Application / Business Logic
Tier 3Database / Data02 β Understand the Web Tier
Section titled β02 β Understand the Web TierβThe web tier receives client traffic.
Conceptually:
User βHTTPS βWeb ServerTypical responsibilities include:
-
serving HTML
-
accepting HTTP/HTTPS requests
-
proxying requests
-
presenting application responses
03 β Understand the Application Tier
Section titled β03 β Understand the Application TierβThe application tier processes business logic.
Conceptually:
Web Tier βApplication Request βApplication ServiceThe application tier should generally not require direct inbound access from arbitrary internet clients.
04 β Understand the Data Tier
Section titled β04 β Understand the Data TierβThe data tier stores application information.
Conceptually:
Application Tier βDatabase Protocol βDatabaseThe database should normally be one of the most restricted components.
05 β Review the Existing Cloud Network
Section titled β05 β Review the Existing Cloud NetworkβFrom previous labs, you should already have:
10.10.0.0/16 | βββ Public β 10.10.10.0/24 | βββ Application β 10.10.20.0/24 | βββ Database 10.10.30.0/2406 β Verify the Existing Components
Section titled β06 β Verify the Existing ComponentsβConfirm:
Virtual Network βPublic Subnet βApplication Subnet βDatabase SubnetAlso verify:
-
route tables
-
security groups
-
private DNS
-
IAM/workload identity
-
storage resources
07 β Define the Architecture Before Deployment
Section titled β07 β Define the Architecture Before DeploymentβCreate the target architecture:
Internet | HTTPS | v +--------------------+ | Web Tier | | 10.10.10.0/24 | +--------------------+ | Application Port | v +--------------------+ | Application Tier | | 10.10.20.0/24 | +--------------------+ | Database Port | v +--------------------+ | Database Tier | | 10.10.30.0/24 | +--------------------+08 β Define the Traffic Requirements
Section titled β08 β Define the Traffic RequirementsβBefore deployment, document the expected communication.
| Source | Destination | Service | Expected |
|---|---|---|---|
| Internet | Web | HTTPS | Allow |
| Internet | Application | Any | Deny |
| Internet | Database | Any | Deny |
| Web | Application | Application Port | Allow |
| Web | Database | Database Port | Deny |
| Application | Database | Database Port | Allow |
| Admin | Workloads | Management | Controlled |
π§ Important
Section titled βπ§ ImportantβYou are designing:
application communication
before configuring:
network rules.
09 β Define the Resource Names
Section titled β09 β Define the Resource NamesβUse your established naming standards.
Example:
cloudplus-lab-web-01
cloudplus-lab-app-01
cloudplus-lab-db-0110 β Apply Standard Tags
Section titled β10 β Apply Standard TagsβUse:
| Tag | Value |
|---|---|
| Environment | Lab |
| Course | CompTIA-CloudPlus |
| Application | ThreeTierLab |
| Owner | Student |
| Purpose | Training |
Add tier information if supported:
Tier = Web
Tier = Application
Tier = Database11 β Deploy the Web Workload
Section titled β11 β Deploy the Web WorkloadβDeploy a small Linux VM into:
10.10.10.0/24Example:
cloudplus-lab-web-01Use a small general-purpose instance.
12 β Configure Web Networking
Section titled β12 β Configure Web NetworkingβThe web VM should have:
-
private IP
-
public connectivity where required
-
web-tier security group
-
correct route table
Record:
VM:
Private IP:
Public IP:
Subnet:
Security Group:
DNS Name:13 β Install a Simple Web Service
Section titled β13 β Install a Simple Web ServiceβUse a simple supported web server or lightweight training service.
Possible examples include:
-
Nginx
-
Apache
-
another approved web service
The objective is not application development.
It is:
architecture validation.
14 β Create a Basic Web Page
Section titled β14 β Create a Basic Web PageβCreate a simple page displaying:
CompTIA Cloud+ Three-Tier Lab
Web Tier:Healthy15 β Validate Local Web Service
Section titled β15 β Validate Local Web ServiceβFrom the VM itself, confirm the web service responds.
For example:
curl http://localhostUse HTTPS where your lab supports it.
16 β Validate External Web Access
Section titled β16 β Validate External Web AccessβFrom an approved client, access the public web endpoint.
Expected:
Internet βWeb Tier βSUCCESS17 β Deploy the Application Workload
Section titled β17 β Deploy the Application WorkloadβCreate:
cloudplus-lab-app-01inside:
10.10.20.0/24Do not assign a public IP unless your lab architecture specifically requires one.
18 β Validate Application Placement
Section titled β18 β Validate Application PlacementβConfirm:
Application VM βPrivate IP βApplication Subnet βNo Direct Public Exposure19 β Install a Simple Application Service
Section titled β19 β Install a Simple Application ServiceβCreate a lightweight service that listens on a dedicated application port.
For example:
TCP 8080You may use another safe lab port.
The service can simply return:
Application Tier:Healthy20 β Validate the Application Locally
Section titled β20 β Validate the Application LocallyβFrom the application VM:
curl http://localhost:8080Expected:
successful response.
21 β Configure the Application Security Group
Section titled β21 β Configure the Application Security GroupβAllow:
Web Tier βTCP 8080 βApplication TierDo not allow:
Internet βTCP 8080 βApplication Tier22 β Validate Web-to-App Connectivity
Section titled β22 β Validate Web-to-App ConnectivityβFrom the web VM:
curl http://<app-private-ip>:8080Expected:
successful.
23 β Validate Internet-to-App Restriction
Section titled β23 β Validate Internet-to-App RestrictionβConfirm the application VM is not directly accessible from the internet.
Expected:
Internet XApplication24 β Create the Application DNS Record
Section titled β24 β Create the Application DNS RecordβUsing the private DNS zone from Lab 06, create:
app.cloudplus.lab β<Application Private IP>25 β Validate DNS
Section titled β25 β Validate DNSβFrom the web VM:
nslookup app.cloudplus.labExpected:
correct application private IP.
26 β Replace the Hard-Coded IP
Section titled β26 β Replace the Hard-Coded IPβInstead of:
http://10.10.20.10:8080use:
http://app.cloudplus.lab:8080π§ Architecture Improvement
Section titled βπ§ Architecture ImprovementβYour web tier now depends on:
a logical service name
instead of:
a specific infrastructure IP.
27 β Deploy the Data-Tier Workload
Section titled β27 β Deploy the Data-Tier WorkloadβFor this Cloud+ architecture lab, you can use either:
-
a small database VM
-
an approved managed database service
-
a lightweight simulated database endpoint
Keep the lab cost low.
Example VM name:
cloudplus-lab-db-0128 β Place the Database in the Correct Subnet
Section titled β28 β Place the Database in the Correct SubnetβThe database belongs in:
10.10.30.0/24Do not assign unnecessary public access.
29 β Record Database Configuration
Section titled β29 β Record Database ConfigurationβDatabase:
Private IP:
Subnet:
Security Group:
Public IP:None
DNS:db.cloudplus.lab30 β Install or Configure the Database Service
Section titled β30 β Install or Configure the Database ServiceβUse an approved lightweight database appropriate for your lab.
The exact database technology is less important than understanding:
Application βDatabase Service βPersistent Data31 β Identify the Database Port
Section titled β31 β Identify the Database PortβRecord the selected database protocol/port.
Example possibilities include:
3306
5432
1433Use only the port for your actual test service.
32 β Configure the Database Security Group
Section titled β32 β Configure the Database Security GroupβAllow:
Application Tier βRequired DB Port βDatabase TierDo not allow:
Web Tier βDatabaseunless specifically required.
33 β Validate App-to-DB Connectivity
Section titled β33 β Validate App-to-DB ConnectivityβFrom the application server, test the database service using an appropriate client or simple connectivity test.
Expected:
Application βDatabase βSUCCESS34 β Validate Web-to-DB Restriction
Section titled β34 β Validate Web-to-DB RestrictionβFrom the web server, test the database port.
Expected:
Web XDatabase35 β Validate Internet-to-DB Restriction
Section titled β35 β Validate Internet-to-DB RestrictionβConfirm:
Internet XDatabase36 β Create the Database DNS Record
Section titled β36 β Create the Database DNS RecordβCreate:
db.cloudplus.lab β<Database Private IP>37 β Validate the Database DNS Record
Section titled β37 β Validate the Database DNS RecordβFrom the application VM:
nslookup db.cloudplus.labExpected:
correct database private IP.
38 β Replace Database IP References
Section titled β38 β Replace Database IP ReferencesβApplications should use:
db.cloudplus.labrather than:
10.10.30.1039 β Build the Service Chain
Section titled β39 β Build the Service ChainβYour application now follows:
User βweb.cloudplus.lab βWeb Tier βapp.cloudplus.lab βApplication Tier βdb.cloudplus.lab βDatabase Tier40 β Understand End-to-End Request Flow
Section titled β40 β Understand End-to-End Request FlowβA user request may follow:
1. User resolves web endpoint
2. User connects to Web Tier
3. Web Tier calls Application Tier
4. Application Tier performs business logic
5. Application Tier queries Database Tier
6. Database returns data
7. Application returns response
8. Web Tier returns response to userπ§ Cloud Engineer Skill
Section titled βπ§ Cloud Engineer SkillβYou should be able to explain:
every dependency in this path.
41 β Add Workload Identity to the Application Tier
Section titled β41 β Add Workload Identity to the Application TierβUse the workload identity created in Lab 11 where appropriate.
Conceptually:
Application VM βcloudplus-app-identity βScoped Cloud Permission42 β Define the Workload Requirement
Section titled β42 β Define the Workload RequirementβPerhaps the application needs to read objects from:
cloudplus-lab-objectsGrant only:
Read Approved Storage43 β Validate Workload Access
Section titled β43 β Validate Workload AccessβFrom the application workload:
Application βWorkload Identity βApproved Storage βREAD ALLOWED44 β Validate Unrelated Access Is Denied
Section titled β44 β Validate Unrelated Access Is DeniedβConfirm the workload cannot perform unrelated operations such as:
Manage IAM
Delete Network
Delete VMπ§ Architecture Connection
Section titled βπ§ Architecture ConnectionβYou now have:
Network Segmentation+Workload Identity+Least Privilegeworking together.
45 β Review Storage Requirements
Section titled β45 β Review Storage RequirementsβThe application may use:
Block Storage
Section titled βBlock Storageβfor VM filesystems.
Object Storage
Section titled βObject Storageβfor objects, documents, static assets, or backups.
Database Storage
Section titled βDatabase Storageβfor structured application data.
46 β Identify Where Each Data Type Belongs
Section titled β46 β Identify Where Each Data Type BelongsβCreate:
| Data | Storage Model |
|---|---|
| VM OS | Block |
| Database Data | Block/Managed DB Storage |
| Shared Application Assets | File where required |
| Images/Documents | Object |
| Backup Objects | Object |
47 β Understand Tier-Specific Responsibilities
Section titled β47 β Understand Tier-Specific ResponsibilitiesβWeb tier should focus on:
PresentationApplication tier:
Business LogicDatabase tier:
Persistence48 β Avoid Cross-Tier Shortcuts
Section titled β48 β Avoid Cross-Tier ShortcutsβPoor design:
Web βDatabaseBetter:
Web βApplication βDatabasewhere that matches the applicationβs intended architecture.
49 β Review Network Security End to End
Section titled β49 β Review Network Security End to EndβYour security path should resemble:
Internet βHTTPS βWeb βApp Port βApplication βDB Port βDatabase50 β Build the Security Rule Matrix
Section titled β50 β Build the Security Rule Matrixβ| Source | Destination | Port | Expected |
|---|---|---|---|
| Internet | Web | 443 | Allow |
| Internet | App | Any | Deny |
| Internet | DB | Any | Deny |
| Web | App | App Port | Allow |
| Web | DB | DB Port | Deny |
| App | DB | DB Port | Allow |
51 β Review Routing
Section titled β51 β Review RoutingβConfirm:
Web Tier
Section titled βWeb TierβHas required public routing.
Application Tier
Section titled βApplication TierβUses private routing and controlled outbound access where required.
Database Tier
Section titled βDatabase TierβUses internal routes and no unnecessary public path.
52 β Review DNS
Section titled β52 β Review DNSβConfirm:
web.cloudplus.lab
app.cloudplus.lab
db.cloudplus.labresolve to the expected destinations within their intended scope.
53 β Review IAM
Section titled β53 β Review IAMβConfirm:
-
users use appropriate human identities
-
administrators use privileged controls
-
application uses workload identity
-
no developer credentials are embedded in the application
54 β Review Storage Security
Section titled β54 β Review Storage SecurityβConfirm:
-
storage remains private where required
-
encryption is enabled where appropriate
-
permissions are scoped
-
backups/recovery are considered
55 β Build the Complete Architecture
Section titled β55 β Build the Complete Architectureβ Internet | HTTPS | v +------------------+ | Web Tier | | Public Subnet | | 10.10.10.0/24 | +------------------+ | Application Port | v +------------------+ | Application Tier | | Private Subnet | | 10.10.20.0/24 | +------------------+ | | | | DB Port | Workload Identity | | v v +----------------+ Object Storage | Database Tier | | Private Subnet | | 10.10.30.0/24 | +----------------+56 β Understand Failure Domains
Section titled β56 β Understand Failure DomainsβYour current lab may contain:
One Web VM
One App VM
One DBThis is useful for learning but does not provide strong high availability.
π§ Single Point of Failure
Section titled βπ§ Single Point of FailureβIf:
Web VM βFAILSthe application may become unavailable.
Later labs will address:
-
load balancing
-
auto scaling
-
high availability
57 β Understand Vertical vs Horizontal Application Scaling
Section titled β57 β Understand Vertical vs Horizontal Application ScalingβVertical:
Web VM βBigger Web VMHorizontal:
Web VM 1+Web VM 2+Web VM 3Three-tier architecture makes independent scaling easier.
58 β Identify Tier Scaling Requirements
Section titled β58 β Identify Tier Scaling RequirementsβExample:
Web TierHigh User Traffic βScale Horizontally
Application TierHeavy Processing βScale Independently
Database TierStorage / Query Constraints βDatabase-Specific Scaling59 β Understand Tier-Specific Monitoring
Section titled β59 β Understand Tier-Specific MonitoringβEach tier needs different telemetry.
Web:
-
request latency
-
HTTP errors
-
CPU
-
traffic
Application:
-
application errors
-
processing latency
-
dependencies
Database:
-
query performance
-
connections
-
storage
-
database health
60 β Create a Monitoring Requirement Matrix
Section titled β60 β Create a Monitoring Requirement Matrixβ| Tier | Metric / Signal |
|---|---|
| Web | HTTP Errors |
| Web | Request Latency |
| App | Application Errors |
| App | Processing Time |
| DB | Connections |
| DB | Storage Usage |
| DB | Query Health |
You will implement deeper monitoring later.
61 β Perform End-to-End Validation
Section titled β61 β Perform End-to-End ValidationβValidate the complete path.
Client βWeb βApplication βDatabase βResponse62 β Record the Validation
Section titled β62 β Record the ValidationβWeb Access:Pass / Fail
Web β App:Pass / Fail
App β DB:Pass / Fail
Web β DB:Blocked / Unexpected
Internet β App:Blocked / Unexpected
Internet β DB:Blocked / Unexpected63 β Deliberately Break Web-to-App Connectivity
Section titled β63 β Deliberately Break Web-to-App ConnectivityβIn the isolated lab, temporarily remove the required application-tier network rule.
Expected:
Web βApplication βFAIL64 β Observe User Impact
Section titled β64 β Observe User ImpactβThe web tier may remain:
Reachablewhile the application function fails.
This teaches an important lesson:
A healthy web server does not prove the entire application is healthy.
65 β Troubleshoot the Failure
Section titled β65 β Troubleshoot the FailureβUse:
Web Service βApplication DNS βApplication IP βRoute βSecurity Rule βApplication Listener66 β Restore the Rule
Section titled β66 β Restore the RuleβRestore the required:
Web βApplication Port βApplicationValidate the application again.
67 β Deliberately Break Application-to-Database Connectivity
Section titled β67 β Deliberately Break Application-to-Database ConnectivityβTemporarily remove the required app-to-database rule.
Expected:
Web β βApplication β βDatabase βπ§ Important
Section titled βπ§ ImportantβThis is a classic multi-tier troubleshooting scenario.
The visible application may fail even though:
-
web server is running
-
application service is running
because a backend dependency has failed.
68 β Troubleshoot the Database Path
Section titled β68 β Troubleshoot the Database PathβUse:
Application βDB DNS βDB IP βRoute βSecurity Rule βDatabase Listener βDatabase Authentication69 β Restore Database Connectivity
Section titled β69 β Restore Database ConnectivityβRestore the required app-to-db rule.
Validate the end-to-end application again.
70 β Deliberately Break DNS
Section titled β70 β Deliberately Break DNSβTemporarily modify:
app.cloudplus.labto an incorrect lab address.
Observe the resulting failure.
71 β Troubleshoot DNS
Section titled β71 β Troubleshoot DNSβUse:
Hostname βResolver βRecord βReturned IP βExpected IPRestore the correct record afterward.
72 β Deliberately Stop the Application VM
Section titled β72 β Deliberately Stop the Application VMβStop:
cloudplus-lab-app-01Observe what happens to the end-to-end application.
73 β Troubleshoot the Compute Failure
Section titled β73 β Troubleshoot the Compute FailureβYour path now becomes:
DNS βRoute βSecurity βApplication VM βπ§ Troubleshooting Lesson
Section titled βπ§ Troubleshooting LessonβNot every connectivity failure is:
network related.
74 β Restart the Application VM
Section titled β74 β Restart the Application VMβValidate:
-
VM health
-
application process
-
application port
-
web-to-app communication
75 β Understand Service Startup Dependencies
Section titled β75 β Understand Service Startup DependenciesβA VM may start successfully while the application remains stopped.
Check:
VM Running βOperating System Healthy βApplication Service Running?76 β Build the Multi-Tier Troubleshooting Framework
Section titled β76 β Build the Multi-Tier Troubleshooting FrameworkβUse:
Client βDNS βWeb Tier βWeb Security βApp DNS βApp Tier βApp Security βDB DNS βDB Tier βDatabase Service βResponse77 β Use Dependency-Based Troubleshooting
Section titled β77 β Use Dependency-Based TroubleshootingβInstead of asking:
Why is the application down?
Break the problem into:
Can Client Reach Web?
Can Web Reach App?
Can App Reach DB?
Can DB Process Request?78 β Troubleshooting Scenario β Website Loads but Login Fails
Section titled β78 β Troubleshooting Scenario β Website Loads but Login FailsβPossible architecture:
Web β
Application ?
Database ?Do not assume the web server is the root cause.
79 β Troubleshooting Scenario β Web Shows 502/Backend Error
Section titled β79 β Troubleshooting Scenario β Web Shows 502/Backend ErrorβInvestigate:
-
application DNS
-
route
-
security rule
-
application service
-
application health
80 β Troubleshooting Scenario β Application Reports Database Timeout
Section titled β80 β Troubleshooting Scenario β Application Reports Database TimeoutβInvestigate:
DB DNS βNetwork βSecurity βListener βDatabase Health81 β Troubleshooting Scenario β Web Can Access Database Directly
Section titled β81 β Troubleshooting Scenario β Web Can Access Database DirectlyβThis may indicate:
excessive network permissions.
Review the architecture and remove unnecessary direct access.
82 β Troubleshooting Scenario β Application VM Has Public IP
Section titled β82 β Troubleshooting Scenario β Application VM Has Public IPβAsk:
Is direct public access required?
If no:
-
remove public exposure
-
maintain controlled administration
-
validate outbound requirements separately
83 β Troubleshooting Scenario β Database Has Public IP
Section titled β83 β Troubleshooting Scenario β Database Has Public IPβTreat this as a significant architecture review item unless explicitly required.
Review:
-
public IP
-
routing
-
security rules
-
workload requirement
84 β Troubleshooting Scenario β Application Uses Developer Credentials
Section titled β84 β Troubleshooting Scenario β Application Uses Developer CredentialsβReplace:
Application βDeveloper Credentialswith:
Application βWorkload Identity βScoped Role85 β Troubleshooting Scenario β Everything Works Using IP but Fails Using Name
Section titled β85 β Troubleshooting Scenario β Everything Works Using IP but Fails Using NameβFocus on:
DNS.
86 β Troubleshooting Scenario β DNS Resolves but Connection Fails
Section titled β86 β Troubleshooting Scenario β DNS Resolves but Connection FailsβMove down the stack:
DNS β βRoute βSecurity βService87 β Perform a Three-Tier Security Assessment
Section titled β87 β Perform a Three-Tier Security AssessmentβReview:
[ ] Only required public services exposed[ ] Application tier private[ ] Database tier private[ ] Web β App limited to required port[ ] App β DB limited to required port[ ] Web β DB blocked[ ] Administrative access controlled[ ] Workload identity used[ ] Static cloud credentials avoided[ ] Storage access scoped[ ] DNS uses intended private names[ ] Logging and monitoring considered88 β Perform an Architecture Review
Section titled β88 β Perform an Architecture ReviewβAsk:
Exposure
Section titled βExposureβWhich resources are publicly reachable?
Identity
Section titled βIdentityβWhich identities can manage the environment?
Workload IAM
Section titled βWorkload IAMβWhich resources can the application access?
Where is application data stored?
Availability
Section titled βAvailabilityβWhich components are single points of failure?
Operations
Section titled βOperationsβHow would the environment be monitored?
89 β Identify Current Single Points of Failure
Section titled β89 β Identify Current Single Points of FailureβYour lab may currently contain:
| Component | Single Point of Failure? |
|---|---|
| Web VM | Yes |
| App VM | Yes |
| DB VM | Yes |
| Single Network Path | Review |
π§ Important
Section titled βπ§ ImportantβThree-tier architecture provides:
separation
but not automatically:
high availability.
90 β Create an Improvement Roadmap
Section titled β90 β Create an Improvement RoadmapβYour next architecture improvements might include:
Load Balancer βMultiple Web Servers βAuto Scaling βMultiple Failure Domains βHighly Available DatabaseThese are exactly what the next labs will introduce.
91 β Create the Final Architecture Documentation
Section titled β91 β Create the Final Architecture DocumentationβDocument:
Application:CompTIA Cloud+ Three-Tier Lab
Network:10.10.0.0/16
Web Tier:10.10.10.0/24
Application Tier:10.10.20.0/24
Database Tier:10.10.30.0/24
Web DNS:web.cloudplus.lab
Application DNS:app.cloudplus.lab
Database DNS:db.cloudplus.lab
Workload Identity:cloudplus-app-identity
Public Exposure:Web Only
Application Exposure:Private
Database Exposure:Private92 β Create the Application Dependency Map
Section titled β92 β Create the Application Dependency MapβUser βDNS βWeb Service βApplication DNS βApplication Service βDatabase DNS βDatabase Service βPersistent Storage93 β Create the Security Architecture Record
Section titled β93 β Create the Security Architecture RecordβInternet β Web:HTTPS Only
Internet β App:Denied
Internet β Database:Denied
Web β App:Required Application Port
Web β Database:Denied
App β Database:Required Database Port
Application β Storage:Scoped Workload Identity94 β Update the Resource Inventory
Section titled β94 β Update the Resource Inventoryβ| Resource | Tier | Network | Purpose | Status |
|---|---|---|---|---|
| cloudplus-lab-web-01 | Web | Public | Presentation | Active |
| cloudplus-lab-app-01 | App | Private App | Business Logic | Active |
| cloudplus-lab-db-01 | Data | Private DB | Database | Active |
| cloudplus-app-identity | App | IAM | Workload Access | Active |
95 β Capture Evidence
Section titled β95 β Capture EvidenceβCapture sanitized evidence of:
-
three-tier network architecture
-
web workload
-
application workload
-
database workload
-
security-group rules
-
DNS records
-
workload identity
-
successful web-to-app test
-
successful app-to-db test
-
denied web-to-db test
-
broken-dependency troubleshooting
Do not include:
-
passwords
-
database credentials
-
access keys
-
private keys
-
tokens
-
MFA secrets
96 β Create the Lab Report
Section titled β96 β Create the Lab ReportβUse:
Lab:Build a Three-Tier Cloud Application Architecture
Architecture:
Web Tier:
Application Tier:
Database Tier:
Network Design:
Traffic Flows:
DNS:
IAM:
Workload Identity:
Storage:
Security Controls:
Validation:
Failure Tests:
Root Causes:
Remediation:
Architecture Improvements:
Lessons Learned:π§ͺ Final Validation Checklist
Section titled βπ§ͺ Final Validation Checklistβ| Validation | Status |
|---|---|
| Web tier deployed | |
| Application tier deployed | |
| Database tier deployed | |
| Web placed in public subnet | |
| App placed in private app subnet | |
| DB placed in private DB subnet | |
| Web service operational | |
| App service operational | |
| Database service operational | |
| Web DNS configured | |
| App DNS configured | |
| DB DNS configured | |
| Internet-to-web works | |
| Internet-to-app blocked | |
| Internet-to-db blocked | |
| Web-to-app works | |
| Web-to-db blocked | |
| App-to-db works | |
| Workload identity assigned | |
| Storage access scoped | |
| Static credentials avoided | |
| Broken web-to-app path tested | |
| Broken app-to-db path tested | |
| DNS failure tested | |
| Compute failure tested | |
| Architecture documented | |
| Security review completed | |
| Availability gaps identified |
97 β Cleanup Decision
Section titled β97 β Cleanup DecisionβIf you are continuing with the next labs, retain the three-tier environment.
It will become the foundation for:
-
load balancing
-
auto scaling
-
high availability
-
monitoring
-
logging
-
alerting
Keep:
Virtual Network
Public Subnet
Application Subnet
Database Subnet
Security Groups
DNS Records
Web Tier
Application Tier
Database Tier
Workload IdentityReview any billable database or compute resources before leaving the environment idle.
Stop or remove unnecessary resources where appropriate.
π― Certification Connection
Section titled βπ― Certification ConnectionβA Cloud+ scenario may say:
An internet-facing application server can communicate directly with a database containing sensitive information.
Think:
segmentation and tier separation.
Another:
The application tier needs to access a database but should not be reachable directly from the internet.
Think:
Private Application Subnet +App β DB Access +No Direct Internet InboundAnother:
An application uses hard-coded infrastructure addresses.
Think:
DNS/service naming.
Another:
The web page loads but requests requiring application logic fail.
Think:
check the web-to-application dependency.
π€ Interview Questions
Section titled βπ€ Interview QuestionsβPractice without notes.
1. What is a three-tier architecture?
Section titled β1. What is a three-tier architecture?β2. What are the three tiers?
Section titled β2. What are the three tiers?β3. What does the web tier do?
Section titled β3. What does the web tier do?β4. What does the application tier do?
Section titled β4. What does the application tier do?β5. What does the data tier do?
Section titled β5. What does the data tier do?β6. Why separate these tiers?
Section titled β6. Why separate these tiers?β7. Which tier normally requires public internet access?
Section titled β7. Which tier normally requires public internet access?β8. Why should the application tier normally be private?
Section titled β8. Why should the application tier normally be private?β9. Why should the database tier normally be private?
Section titled β9. Why should the database tier normally be private?β10. Why should web servers not normally communicate directly with databases?
Section titled β10. Why should web servers not normally communicate directly with databases?β11. How would you secure communication between tiers?
Section titled β11. How would you secure communication between tiers?β12. How does DNS help a multi-tier application?
Section titled β12. How does DNS help a multi-tier application?β13. Why use workload identities?
Section titled β13. Why use workload identities?β14. Why avoid hard-coded cloud credentials?
Section titled β14. Why avoid hard-coded cloud credentials?β15. What is a dependency in a cloud application?
Section titled β15. What is a dependency in a cloud application?β16. How would you troubleshoot a three-tier application?
Section titled β16. How would you troubleshoot a three-tier application?β17. What does it mean if the web server is healthy but the application is unavailable?
Section titled β17. What does it mean if the web server is healthy but the application is unavailable?β18. Does three-tier architecture automatically provide high availability?
Section titled β18. Does three-tier architecture automatically provide high availability?β19. How would you scale the web tier?
Section titled β19. How would you scale the web tier?β20. How would you improve availability of this architecture?
Section titled β20. How would you improve availability of this architecture?βπ¨ Scenario Interview Question 1
Section titled βπ¨ Scenario Interview Question 1βUsers can access the website, but application requests fail.
Investigate:
Web β βApp DNS βRoute βSecurity βApplication Serviceπ¨ Scenario Interview Question 2
Section titled βπ¨ Scenario Interview Question 2βThe application can reach the database by IP but not by hostname.
Focus on:
DNS.
π¨ Scenario Interview Question 3
Section titled βπ¨ Scenario Interview Question 3βThe database hostname resolves correctly, but the application cannot connect.
Check:
Route βSecurity Rule βHost Firewall βDatabase Listener βDatabase Authenticationπ¨ Scenario Interview Question 4
Section titled βπ¨ Scenario Interview Question 4βA database VM has a public IP because administrators find it easier to manage.
A stronger architecture would use:
Administrator βControlled Management Path βPrivate Databaserather than unnecessary public exposure.
π¨ Scenario Interview Question 5
Section titled βπ¨ Scenario Interview Question 5βThe web server has direct database access even though the architecture uses an application tier.
Review whether that access is actually necessary.
If not:
remove it.
π¨ Scenario Interview Question 6
Section titled βπ¨ Scenario Interview Question 6βA web VM fails and the entire application becomes unavailable.
This identifies:
a single point of failure.
Possible improvement:
Load Balancer βMultiple Web Serversπ¨ Scenario Interview Question 7
Section titled βπ¨ Scenario Interview Question 7βApplication demand increases, but database demand remains stable.
A three-tier architecture allows:
scaling the application tier independently.
π¨ Scenario Interview Question 8
Section titled βπ¨ Scenario Interview Question 8βA developer stores cloud-storage credentials in the application configuration.
Replace the pattern with:
Application βWorkload Identity βScoped Permissionπ¨ Scenario Interview Question 9
Section titled βπ¨ Scenario Interview Question 9βManagement asks why three servers are better than putting everything on one VM.
Explain:
-
separation of concerns
-
independent scaling
-
reduced blast radius
-
clearer access control
-
easier troubleshooting
-
better availability design options
π¨ Scenario Interview Question 10
Section titled βπ¨ Scenario Interview Question 10βA user reports βthe cloud application is down.β
Do not immediately restart every server.
Troubleshoot dependencies:
Client βDNS βWeb βApplication βDatabase βStorageπ§ Three-Tier Interview Framework
Section titled βπ§ Three-Tier Interview FrameworkβUse:
User βDNS βWeb Tier βNetwork Security βApplication Tier βWorkload Identity βDatabase Tier βStorage βMonitoringπ¬ Interview Tip
Section titled βπ¬ Interview TipβAvoid:
βI would create three VMs: one web, one app, and one database.β
A stronger answer is:
βI would first define the applicationβs communication requirements and trust boundaries. I would place the web tier in a controlled public-facing network, keep application and database tiers private, allow only required tier-to-tier traffic, use private DNS instead of hard-coded addresses, use dedicated workload identities for cloud-resource access, protect data with appropriate storage controls, and validate both expected communication and denied paths. I would then identify single points of failure and design the next stage for load balancing and high availability.β
That demonstrates Cloud Engineer and Solutions Architect thinking.
π Portfolio Deliverables
Section titled βπ Portfolio DeliverablesβKeep sanitized versions of:
1. Three-Tier Architecture Diagram
Section titled β1. Three-Tier Architecture DiagramβShow:
Internet βWeb βApplication βDatabase2. Network Segmentation Diagram
Section titled β2. Network Segmentation DiagramβDocument:
Public βPrivate Application βPrivate Database3. Traffic-Flow Matrix
Section titled β3. Traffic-Flow MatrixβDocument:
-
source
-
destination
-
protocol
-
port
-
expected action
4. DNS Architecture
Section titled β4. DNS ArchitectureβShow:
web.cloudplus.lab
app.cloudplus.lab
db.cloudplus.lab5. Workload Identity Architecture
Section titled β5. Workload Identity ArchitectureβShow:
Application βWorkload Identity βScoped Storage6. Troubleshooting Case
Section titled β6. Troubleshooting CaseβDocument one complete dependency failure:
Failure βEvidence βDependency Identified βRoot Cause βRemediation βValidation7. Architecture Review
Section titled β7. Architecture ReviewβDocument:
-
security strengths
-
single points of failure
-
scalability limitations
-
recommended improvements
π Resume Examples
Section titled βπ Resume ExamplesβInstead of:
Built a three-tier cloud application.
Use:
Designed and deployed a segmented three-tier cloud application architecture with public web, private application, and private database tiers using controlled routing, least-privilege network access, private DNS, workload identities, and scoped storage permissions.
Or:
Validated end-to-end cloud application dependencies across DNS, web, application, database, IAM, routing, and security controls while troubleshooting deliberately introduced tier-to-tier failures.
Or:
Performed cloud architecture and security reviews identifying unnecessary exposure, cross-tier access, workload identity risks, and single points of failure with prioritized remediation recommendations.
β Job-Readiness Check
Section titled ββ Job-Readiness CheckβYou should now be able to:
-
explain three-tier architecture
-
identify web, app, and data tiers
-
place workloads in appropriate subnets
-
distinguish public and private tiers
-
define tier-to-tier communication
-
configure least-privilege network access
-
use DNS between application tiers
-
use workload identity
-
avoid hard-coded cloud credentials
-
secure storage access
-
explain application dependencies
-
validate end-to-end traffic
-
troubleshoot web-to-app failures
-
troubleshoot app-to-db failures
-
distinguish DNS from network failures
-
identify single points of failure
-
explain how the architecture can be scaled
-
perform a basic architecture review
π Mission Complete
Section titled βπ Mission CompleteβYou have now moved from individual cloud components to:
Complete Cloud Application βWeb Tier βApplication Tier βDatabase TierYour cloud environment now combines:
Compute+Networking+Routing+Security+DNS+Storage+IAM+Workload Identity+Application ArchitectureThe key lesson from this lab is:
Cloud architecture is about designing how components interactβnot simply deploying resources. Strong designs control exposure, isolate responsibilities, use identity intentionally, protect data, and make dependencies understandable.
π Whatβs Next?
Section titled βπ Whatβs Next?βYour current web tier still depends on a single web workload.
That creates:
a single point of failure.
The next lab introduces cloud load balancing.
You will move from:
User β Web VMto:
User β Load Balancer / \ β β Web VM 1 Web VM 2You will work with:
-
frontend listeners
-
backend pools
-
multiple web servers
-
health checks
-
traffic distribution
-
security groups
-
DNS integration
-
unhealthy backend detection
-
backend failure simulation
-
load-balancer troubleshooting
-
availability concepts
β‘οΈ Next: Lab 13 β Cloud Load Balancing Lab