LearnwithVishnu
LearnwithVishnu
Basics → Production → Architect
← Home
☁️Cloud Fundamentals
BeginnerEngineerProductionArchitectCloud computing concepts — IaaS/PaaS/FaaS, shared responsibility, pricing, architecture patterns
Service ModelsPricing & ResponsibilityArchitecture PatternsInterview Q&A

☁️ What is Cloud Computing?

Service models — the most important concept to understand first

Before learning AWS or Azure, understand what cloud computing actually is: renting compute, storage, and networking instead of buying hardware. The key question is always: what do you manage vs what does the provider manage?

ModelYou manageProvider managesExample
On-PremiseEverythingNothingYour data centre
IaaSOS, runtime, app, dataHardware, network, virtualisationEC2, Azure VM, GCP Compute
CaaSContainers, dataEverything + K8s control planeEKS, AKS, GKE
PaaSApp code, dataOS, runtime, scalingElastic Beanstalk, App Service
FaaSFunction code, dataEverything elseLambda, Azure Functions
SaaSConfig, user dataEverythingGmail, Salesforce
Service models + key cloud concepts

💰 Pricing Models & Shared Responsibility

Cost optimisation starts with understanding pricing models

The Most Important Security Concept in CloudThe shared responsibility model. AWS/Azure/GCP secure their infrastructure. You secure your configuration. The largest cloud breaches in history — Capital One, Twitch, Toyota — were misconfigurations, not cloud provider failures. Public S3 buckets, overly permissive IAM roles, databases accessible from the internet. Know this model cold for any cloud security interview.
Pricing models + shared responsibility model

🏗️ Architecture Patterns

Three-tier, microservices, event-driven, serverless, 12-factor

☁️ Cloud Service Models — IaaS, PaaS, SaaS, FaaS

What you manage vs what the cloud manages

LayerOn-PremiseIaaSPaaSSaaS
ApplicationYouYouYouProvider
Runtime/FrameworkYouYouProviderProvider
OSYouYouProviderProvider
VirtualisationYouProviderProviderProvider
Servers/HardwareYouProviderProviderProvider

Real examples of each model

ModelWhat it isAWSAzureWhen to use
IaaSRent raw compute — you manage OS, runtime, appEC2, VPCAzure VM, VNetFull control, legacy migration
PaaSPlatform manages OS — you manage app and dataRDS, BeanstalkApp Service, Azure SQLDevs focus on code not infra
SaaSFully managed software — you just use itWorkMailOffice 365, TeamsEnd-user tools
FaaSServerless — pay per executionLambdaAzure FunctionsEvent-driven, short tasks
CaaSManaged container platformEKS, ECSAKSContainers without managing masters

Memory tip: IaaS = I manage almost everything. PaaS = Platform manages OS. SaaS = Software delivered, I use it. FaaS = Function on demand.

🏗️ Deployment Models — Public, Private, Hybrid, Multi-Cloud

Four ways to deploy cloud infrastructure

ModelWhat it isWho uses it
Public CloudResources on shared provider infrastructureStartups, SMEs, enterprises
Private CloudDedicated cloud on-premise or hostedBanks, defence, regulated industries
Hybrid CloudPublic cloud + private/on-premise connectedMost large enterprises
Multi-CloudMultiple public cloud providers simultaneouslyLarge enterprises, resilience-focused

Hybrid vs Multi-Cloud

Hybrid: one cloud + on-premise. Example: SAP on-prem, web tier in Azure, connected via ExpressRoute. Multi-Cloud: multiple public clouds. Example: AWS for ML, Azure for enterprise identity, GCP for analytics.

🔐 Shared Responsibility Model

Who is responsible for security — you or the cloud?

Security areaIaaS (EC2/VM)PaaS (RDS)SaaS
Physical data centreCloud providerCloud providerCloud provider
Hypervisor/hardwareCloud providerCloud providerCloud provider
Network controls (VPC, NSG)YouYouCloud provider
OS patchingYouCloud providerCloud provider
Application securityYouYouYou
Data encryptionYouYouYou
IAM configurationYouYouYou

Key point: Cloud provider secures the infrastructure. You secure everything built on top. A misconfigured S3 bucket exposing data is YOUR responsibility, not AWS's.

🚀 Cloud-Native Principles

The principles of cloud-native design

PrincipleWhat it meansExample
StatelessNo local state — any instance handles any requestSession in Redis not in memory
ContainerisedPackage app with all dependenciesDocker image with app + runtime
Config from envNo config in code — inject via env varsDATABASE_URL env var not hardcoded
DisposableStart fast, shut down gracefullyK8s restarts pods in seconds
Scale horizontallyAdd instances not bigger instancesHPA adds pods not bigger pods
ObservableMetrics, logs, traces — cannot manage what you cannot seePrometheus + Loki + Jaeger
Automate everythingNo manual deployments or configGitOps, IaC, CI/CD pipelines

Cloud-native vs traditional

TraditionalCloud-Native
Monolith — one big deployableMicroservices — independent deployables
Deploy monthly or quarterlyDeploy multiple times per day
Scale vertically (bigger server)Scale horizontally (more instances)
Manual config, manual deployIaC + GitOps — everything automated
Failure is exceptionalFailure is expected — design for resilience

🎯 Interview Questions

CLOUD · ENGINEER
Explain the shared responsibility model in cloud security with a real example.
The shared responsibility model defines what the cloud provider secures and what you must secure. The cloud provider is responsible FOR the cloud — physical data centre security, hardware, hypervisor, network infrastructure, the managed service itself (RDS engine, S3 service). You are responsible IN the cloud — everything you configure, your data, your application code, your access control. Real example: S3 data breach. AWS guarantees S3 is available and their systems cannot be breached. But if you create an S3 bucket and configure it with public read access, and sensitive customer data leaks — that is entirely your responsibility. AWS did what they promised. You misconfigured it. Another example: RDS PostgreSQL. AWS patches the PostgreSQL engine — that is their responsibility. But if you configure the database to allow connections from 0.0.0.0/0 (the internet), or you choose not to enable encryption at rest, or you use default admin credentials — those are your responsibilities. The model gets more complex with PaaS and SaaS. With Lambda (FaaS), AWS manages the runtime environment and OS patching — you only manage your function code and the IAM permissions you configure. Understanding this model is critical for security architecture: before blaming a cloud breach on the provider, first check what YOU configured.
CLOUD · ARCHITECT
What is the difference between IaaS, PaaS, CaaS, and FaaS? Give a real example of choosing between them.
IaaS gives you virtual machines — you manage the OS, runtime, and everything above. Maximum control, maximum responsibility. Use when: you need specific OS configuration, legacy apps that cannot be containerised, or need direct hardware access. PaaS gives you a runtime platform — deploy code, platform handles OS, scaling, load balancing. Use when: your team should not spend time on infrastructure, simple web apps. CaaS gives you managed Kubernetes — deploy containers, the control plane is managed. Use when: containerised microservices, need K8s capabilities but do not want to manage masters. FaaS gives you function execution — write code, platform handles everything. Use when: event-driven tasks, API endpoints with variable traffic (scales to zero). Real decision example: a payment processing API. IaaS (EC2): team manages OS patches, load balancer config, auto-scaling — significant ops overhead. PaaS (Elastic Beanstalk): simpler, but less control, hard to customise. CaaS (EKS): team deploys Docker containers, K8s handles scheduling and scaling. AWS manages control plane. Right choice for microservices with >3 services. FaaS (Lambda): works for simple stateless APIs but payment processing often has >15 second transactions and stateful requirements. For HPE telecom SRO platform: CaaS (EKS/AKS/OpenShift) is the right choice — complex multi-service system needing full K8s capabilities but managed control plane.
CLOUD · BEGINNER
What is the difference between IaaS, PaaS, and SaaS?
IaaS (Infrastructure as a Service): the cloud provides raw compute, storage, and networking. You manage OS, runtime, and application. You patch the OS, configure security, and handle scaling. Examples: AWS EC2, Azure VMs, GCP Compute Engine. PaaS (Platform as a Service): cloud manages OS, runtime, and middleware. You deploy only your application code. No OS patching. Examples: AWS Elastic Beanstalk, Azure App Service, Google App Engine. Best for developers who want to focus on code not infrastructure. SaaS (Software as a Service): fully managed software over the internet. You configure and use it. Examples: Office 365, Salesforce, Gmail. DevOps relevance: databases should be PaaS (RDS, Azure SQL). Web apps can be PaaS or containers on IaaS. End-user tools are SaaS. The decision is: how much control do you need vs how much management overhead can you offload?
CLOUD · ENGINEER
What is the shared responsibility model and why does it matter?
The shared responsibility model defines what the cloud provider secures versus what the customer secures. The provider is always responsible for physical data centres, hardware, hypervisor, and global network. The customer is always responsible for data, IAM configuration, application security, and encryption. What sits between depends on the service: IaaS — customer also manages OS patching and OS-level firewall. PaaS — provider manages OS, customer manages database access controls and data. SaaS — provider manages almost everything, customer manages user access and data governance. Why it matters: most cloud security breaches are customer-side. Misconfigured S3 buckets, leaked IAM credentials on GitHub, open security groups — these are customer failures. AWS was not breached. The customer misconfigured their setup. In security audits and compliance reviews (PCI-DSS, ISO 27001, HIPAA), you must explicitly document this boundary — what your team is responsible for securing and what the provider handles.
CLOUD · ENGINEER
What are the key principles of cloud-native application design?
Cloud-native means exploiting cloud capabilities fully, not just moving a traditional app to the cloud. Core principles: Stateless services — any instance handles any request, no local state. Session data in Redis. Enables horizontal scaling and zero-downtime deploys. Containerisation — same image runs identically in dev, staging, and production. No more "works on my machine." Config from environment — no hardcoded config. Inject database URLs and API keys via env vars or K8s Secrets. Same image deploys everywhere with different configs. Disposability — design for crash recovery. Start fast, handle SIGTERM gracefully, drain connections before shutdown. Design for failure — any component can fail at any time. Circuit breakers, retries with backoff, multi-AZ redundancy. Observable — metrics, structured logs, distributed traces. Automate everything — IaC, GitOps, CI/CD. No manual steps. The litmus test: can you deploy to production at 2am with full confidence? If yes, you are cloud-native.
CLOUD · ARCHITECT
What is hybrid cloud and when would you design for it?
Hybrid cloud connects on-premise infrastructure with public cloud as one unified platform. Typically connected via dedicated network (AWS Direct Connect, Azure ExpressRoute) not public internet. Main use cases: Data residency compliance — regulations require certain data stays on-premise or in-country. App runs in cloud, sensitive data stays on-premise. Burst to cloud — baseline on owned hardware (cheaper for stable load), peak periods burst to cloud for elastic capacity. Legacy integration — mainframe or ERP cannot move to cloud. New cloud-native apps integrate with it via private connectivity. Gradual migration — some services moved, others not yet, both communicate as one system. Tools: Azure Arc extends Azure management to on-premise VMs and K8s clusters. AWS Outposts runs AWS infrastructure physically in your data centre. GCP Anthos manages on-premise K8s with Google Cloud tools. Difference from multi-cloud: hybrid = on-premise + one cloud. Multi-cloud = multiple public clouds. Most large enterprises are both — legacy on-premise (hybrid) and multiple clouds chosen by different teams (multi-cloud by accident).
Continue Learning
🟠 AWS🔵 Azure🟡 GCP🏠 All Topics
🤖
AI Assistant
Ask anything about this topic
👋 Hi! I have read this page and can answer your questions.

Try asking: "Explain this topic in simple terms" or "Give me an example" or ask any specific question.