categories.cloud-architecture Basic

What are the core design principles of Cloud-Native applications?

AI Practice

What Cloud-Native Means

Cloud-native is an approach to software design that fully leverages cloud environment characteristics, enabling applications to scale elastically, deploy rapidly, and achieve high availability.

Key 12-Factor App Principles

1. Codebase: One codebase, multiple deployment environments

2. Dependencies: Explicitly declare and isolate dependencies; don't rely on system-installed packages

3. Config: Store configuration in environment variables, not hardcoded (differentiates dev/staging/prod)

4. Backing Services: Treat databases, caches, and message queues as external swappable resources, connected via URL/credentials

5. Build, Release, Run: Strictly separate the Build → Release → Run stages

6. Stateless Processes: Processes store no state; session and other state goes to external stores (Redis)

7. Port Binding: Expose services by binding to a port; don't depend on external web containers

8. Concurrency: Handle larger load by adding processes (horizontal scaling)

9. Disposability: Second-level startup; gracefully stop handling requests upon receiving SIGTERM

10. Dev/Prod Parity: Keep development, staging, and production environments as similar as possible

11. Logs: Treat logs as event streams written to stdout; let the platform collect them

12. Admin Processes: Run admin tasks like database migrations as one-off processes

✦ AI Mock Interview

Type your answer and get instant AI feedback

Sign in to use AI scoring

Copyright © 2026 Wood All Rights Reserved · FE Interview Hub