1. LPU MCA Semester 1
  2. CAP470
  3. 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 architectureIdea
Three-tierPresentation, application and data tiers
Load-balanced web tierA load balancer spreads requests across instances
MicroservicesSmall independent services communicating over a network
Serverless / event-drivenFunctions 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

Question 1 · Tier 3, Apply

What does a load balancer do in a cloud application architecture?

  1. It stores the application's database tables
  2. It compiles the source code of the application
  3. It creates user accounts for the provider's staff
  4. 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.

Question 2 · Tier 3, Apply

Which methodology emphasises short iterations, frequent feedback and working software?

  1. Agile
  2. Waterfall
  3. Big bang
  4. 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.