- LPU MCA Semester 1
- CAP470
- Unit 7
CAP470 · Unit 7: Cloud application design and collaboration
Cloud application design considerations, reference architectures and methodologies
11 practice questions · in the ETE syllabus
Key points
- Design for scalability, availability and failure
- Stateless instances behind a load balancer
- Three-tier, microservices and serverless architectures
- Agile and DevOps methodologies
Cloud applications are designed to use the strengths of the cloud: scalability (add instances), availability (survive failures), elasticity and multi-tenancy. Key considerations include statelessness (session data kept in shared storage, so any instance can serve any request), loose coupling, caching, security and cost. Design for failure: assume parts will fail and use redundancy, retries and health checks, for example running instances in several availability zones.
| Reference architecture | Idea |
|---|---|
| Three-tier | Presentation, application and data tiers |
| Load-balanced web tier | A load balancer spreads requests across instances |
| Microservices | Small independent services communicating over a network |
| Serverless / event-driven | Functions run in response to events |
An autoscaling rule can compute the instances needed as ceil(load / capacity), so a load of 950 with capacity 200 per instance needs 5 instances. Methodologies: Agile works in short iterations with feedback, and DevOps joins development and operations with automation so software is built, tested and released continuously. A monolith keeps everything in one unit, which makes scaling one part harder than with microservices.
Exam trap: autoscaling rounds up. Four instances cannot serve a load that needs 4.75.
Try two questions
What does a load balancer do in a cloud application architecture?
- It stores the application's database tables
- It compiles the source code of the application
- It creates user accounts for the provider's staff
- It distributes incoming requests across several instances
Show the answer
D. Load balancers improve availability and performance by spreading traffic.
Why not A: A database stores tables.
Why not B: A compiler translates code.
Why not C: A load balancer handles traffic, not accounts.
Which methodology emphasises short iterations, frequent feedback and working software?
- Agile
- Waterfall
- Big bang
- Throwaway
Show the answer
A. Agile development delivers in short cycles, which suits cloud applications that change often.
Why not B: Waterfall completes each phase before the next begins.
Why not C: Big bang releases everything at once.
Why not D: Throwaway is not a development methodology.