Section 02 · Module 07 Available 🕑 ~2–3 hrs + lab

> cat module-07-cloud-fundamentals.md

Cloud Fundamentals

Cloud isn't "no servers" — it's someone else's servers, with the same networking, identity and security fundamentals wrapped in different product names. This module covers AWS, Azure and GCP's core services side by side, then requires you to deploy, break, and fix a real cloud web server yourself — that lab isn't optional.

Introduction

Cloud computing is now a core part of modern IT infrastructure. Even organisations that still operate traditional data centres usually have some connection to AWS, Microsoft Azure, Google Cloud Platform, Microsoft 365, SaaS applications or other cloud services. For someone entering IT or cybersecurity, understanding cloud technology is therefore no longer optional.

However, working in cloud environments is not simply about knowing how to create a virtual machine. Engineers need to understand how cloud environments are organised, how identities receive permissions, how networks are segmented, how applications communicate, how data is stored, how Internet access is controlled, how organisations connect cloud networks to traditional data centres, how administrators monitor cloud environments, how cloud resources are secured, how organisations prevent uncontrolled spending, and how the same concepts differ between AWS, Azure and Google Cloud.

Learning Objectives

By the end of this module, you should be able to explain what cloud computing is, understand IaaS/PaaS/SaaS, explain public/private/hybrid/multi-cloud architectures, understand regions and availability zones, explain the shared responsibility model, recognise the major services in AWS/Azure/GCP, deploy a basic cloud VM, understand cloud storage and IAM (including workload identities), explain Security Groups/NSGs/firewall rules, understand VPCs/VNets and subnets, explain Internet gateways/NAT/VPNs/private connectivity, understand hybrid cloud, recognise legacy technologies being migrated to cloud, identify common cloud security mistakes, understand how large organisations structure their cloud environments, and deploy and secure a basic cloud workload yourself.

1 What Is Cloud Computing?

Cloud computing means consuming computing resources from a provider rather than owning and operating all the underlying physical infrastructure yourself. Instead of purchasing physical servers, storage arrays, network switches, firewalls, racks, power, cooling and data centre space, a company could create a virtual machine in AWS, Azure or Google Cloud within minutes.

The cloud provider operates the physical infrastructure. The customer controls the services they deploy on top of it.

Traditional: Office → Firewall → Corporate Network → Data Centre (physical servers, VMware, AD, SQL, SAN) Cloud: Users → Internet/WAN → Cloud Provider → Virtual Network (VMs, DBs, containers, load balancers, storage, APIs, identity)

In reality, many large organisations use both — a corporate data centre connected via VPN/private connection to a cloud environment. This is hybrid cloud.

2 Why Companies Use Cloud Computing

Faster Deployment

Purchasing a physical server could historically mean requesting budget, ordering hardware, waiting for delivery, installing it, configuring networking and storage, installing an OS, patching it, and installing the application — weeks or months. A cloud VM can often be provisioned in minutes.

Scalability

Cloud platforms allow resources to increase or decrease according to demand. An online retailer might run 10 application servers normally, scale to 50 during a major sale, then back to 10 afterwards — instead of permanently owning enough hardware for peak traffic.

Global Reach

Cloud providers operate data centres around the world, so global organisations can deploy services closer to their customers (London users → European region, Singapore users → Asian region, US users → North American region), improving latency, resilience, disaster recovery and customer experience. This also introduces considerations around data residency, privacy, regulatory requirements, cross-border data transfers, and encryption.

Cost Model

Traditional infrastructure is often associated with capital expenditure (CapEx) — buying infrastructure upfront. Cloud environments typically rely more on operational expenditure (OpEx) — resources consumed and billed over time (VM hours, storage GB, database requests, bandwidth). Cloud can reduce some costs, but is not automatically cheaper — poorly governed cloud environments can become extremely expensive. This has driven the growth of FinOps, which focuses on managing and optimising cloud expenditure.

3 IaaS, PaaS and SaaS

One of the most important cloud concepts is understanding what part of the technology stack the provider manages.

IaaS
Infrastructure as a Service — the provider supplies infrastructure (e.g. AWS EC2, Azure VMs, Compute Engine). You still manage the OS, patches, applications, user accounts, configuration, and endpoint security. The provider manages physical hardware, networking, power, cooling and the data centre.
PaaS
Platform as a Service — the provider manages more of the underlying platform (Azure App Service, Google App Engine, AWS Elastic Beanstalk). You deploy an application onto a managed platform instead of managing the OS yourself, letting developers focus on the application.
SaaS
Software as a Service — the provider operates almost the entire application (Microsoft 365, Salesforce, ServiceNow, Slack, Google Workspace). Users simply consume it.
LayerOn-PremIaaSPaaSSaaS
ApplicationsYouYouYouProvider
Operating SystemYouYouProviderProvider
VirtualisationYouProviderProviderProvider
ServersYouProviderProviderProvider
StorageYouProviderProviderProvider
Networking hardwareYouProviderProviderProvider
Data centreYouProviderProviderProvider

The exact responsibility model varies by service.

4 Shared Responsibility Model

One of the biggest misconceptions beginners have:

"If it's in the cloud, the cloud provider secures everything."

This is incorrect. Cloud security is based around shared responsibility. AWS describes this as security of the cloud versus security in the cloud — with EC2, AWS operates the underlying cloud infrastructure, while the customer remains responsible for guest OS patching, credentials, security groups and IAM permissions.

If a company creates a Windows server in AWS but never installs security patches, that is generally the customer's responsibility. If an administrator creates an inbound rule allowing TCP 3389 from 0.0.0.0/0 and exposes Windows RDP to the entire Internet, the cloud provider did not create that insecure configuration — the customer did. The same principle exists across Azure and Google Cloud.

5 Public, Private, Hybrid and Multi-Cloud

Public Cloud
Infrastructure operated by AWS, Azure, Google Cloud. Physical infrastructure is shared across many customers, while logical controls isolate tenants and workloads.
Private Cloud
Infrastructure operated specifically for one organisation (VMware, VMware Cloud Foundation, Nutanix, OpenStack, private Kubernetes). Common where there are regulatory requirements, large existing data centres, specialised hardware, legacy applications, or strict latency requirements.
Hybrid Cloud
Connects traditional infrastructure (AD, SQL, mainframe, legacy apps) with cloud environments over a private WAN/VPN. Extremely common in banks, governments, healthcare, and large enterprises.
Multi-Cloud
Operating more than one public cloud — e.g. AWS for customer-facing apps, Azure for Microsoft workloads/identity, GCP for analytics/ML. Increases flexibility but adds complexity: multiple IAM models, networking architectures, logging platforms, billing systems, and terminology.

6 Regions and Availability Zones

Cloud infrastructure exists in physical locations around the world. Providers divide infrastructure into geographical regions (UK, Germany, Ireland, US, Canada, India, Singapore, Japan, Australia, etc.), then design separate infrastructure locations within each region for resilience — AWS and Azure call these Availability Zones; Google Cloud uses regions and zones.

Instead of one server in London, an organisation might run application servers across Availability Zones A, B and C within the Europe region — if one data centre location fails, workloads in the others can continue.

⚠ Important principle

Putting two virtual machines in the same cloud provider does not automatically provide resilience. If both exist in the same failure domain, they could fail together. Cloud engineers design around regions, availability zones, load balancing, database replication, backups, and disaster recovery.

7 AWS – Amazon Web Services

AWS is one of the world's largest cloud computing platforms. Students do not need to memorise hundreds of AWS products — learn the core services and understand what problem each one solves.

RequirementAWS Service
Virtual machineEC2
Object storageS3
Virtual diskEBS
Shared file storageEFS
NetworkingVPC
Identity permissionsIAM
Workforce accessIAM Identity Center
DNSRoute 53
Load balancingElastic Load Balancing
Managed relational databaseRDS
Serverless computingLambda
MonitoringCloudWatch
Audit activityCloudTrail
SecretsSecrets Manager
Encryption keysKMS
ContainersECS / EKS
Infrastructure as CodeCloudFormation
Organisation managementAWS Organizations

EC2

Elastic Compute Cloud provides virtual machines known as instances. When creating one, administrators select the OS, instance size, storage, network, subnet, Security Group, IAM role, SSH key, and public/private IP configuration. Typical operating systems: Amazon Linux, RHEL, Ubuntu, SUSE, Windows Server.

AWS provides different instance families optimised for general workloads, CPU-intensive, memory-intensive, storage, GPU, or ML workloads. Choosing the correct size is known as rightsizing.

AWS VPC

A Virtual Private Cloud (VPC) is an isolated logical network — conceptually, a traditional network's cloud equivalent. A VPC has an IP range (e.g. 10.10.0.0/16), with subnets created inside it for public web, application, and database tiers, letting workloads be separated by function and security requirement.

AWS Security Groups

A Security Group acts as a virtual firewall for resources like EC2 instances, controlling inbound/outbound traffic. AWS Security Groups are stateful. Example: allow HTTPS (443) from 0.0.0.0/0, but SSH (22) only from 10.50.0.0/16 — the Internet can reach the web server over HTTPS, but cannot SSH to it.

AWS IAM

IAM controls permissions inside AWS: who are you, what are you allowed to do, which resources can you access. Key concepts: users, groups, roles, policies, permissions, trust relationships. Modern enterprise environments commonly combine AWS Organizations with IAM Identity Center rather than creating many permanent standalone IAM users per account — AWS recommends enabling IAM Identity Center with Organizations for organisation-wide environments.

Allow: s3:GetObject
Resource: company-reports/*
# Identity can read objects inside company-reports

IAM policies can become extremely detailed — this is why IAM engineering is an entire career specialisation.

AWS Enterprise Architecture

Small environments might contain one account; large companies usually use many, e.g. an AWS Organization split into Security (Security Tooling, Log Archive), Production (Banking App, Customer Portal), Development (Dev, Testing), and Infrastructure (Networking, Shared Services). AWS Organizations and services such as Control Tower establish central governance across accounts and organisational units.

8 Microsoft Azure

Azure is extremely common in enterprises already using Microsoft 365, Windows Server, Active Directory, Microsoft Entra ID, SQL Server, PowerShell, .NET, or Microsoft security products.

RequirementAzure Service
Virtual machinesAzure Virtual Machines
NetworkingAzure Virtual Network
Object storageBlob Storage
IdentityMicrosoft Entra ID
Cloud resource permissionsAzure RBAC
Managed databaseAzure SQL
DNSAzure DNS
Load balancingAzure Load Balancer
Web applicationsAzure App Service
ServerlessAzure Functions
MonitoringAzure Monitor
LoggingLog Analytics
SecretsAzure Key Vault
ContainersAzure Kubernetes Service
GovernanceAzure Policy
Infrastructure as CodeARM / Bicep
Private connectivityExpressRoute

Resource Hierarchy

Microsoft Entra Tenant Management Groups Subscriptions Resource Groups Resources

An Azure subscription provides a management and billing boundary — large organisations frequently have several (Production, Development, Testing, Networking, Security, Shared Services). Resources are normally organised inside Resource Groups (e.g. CustomerPortal-RG containing VMs, SQL, storage, and a VNet), and operations can often be managed at the Resource Group level.

Azure VMs, VNet and NSGs

Azure Virtual Machines provide Windows or Linux servers — when deploying one, engineers configure region, availability, VM size, OS, disk, network, subnet, NSG, identity, and management configuration. Azure's network service is the Virtual Network (VNet), e.g. 10.20.0.0/16 split into web, application, and database subnets.

Network Security Groups (NSGs) control traffic via rules specifying source, destination, port, protocol, allow/deny, and priority, and can be associated with subnets and VM network interfaces — e.g. priority 100, allow Internet → web subnet on port 443.

Azure Identity: Entra ID vs RBAC

This area regularly confuses beginners. Microsoft Entra ID controls identities — users, groups, applications, service principals, managed identities (previously called Azure Active Directory / Azure AD, so both names appear in enterprise environments). Azure RBAC determines what an identity can do to Azure resources — e.g. a user with "Virtual Machine Contributor" on a Resource Group can manage VMs there, while a user with "Reader" can only view.

Applications should avoid storing permanent usernames, passwords and API secrets wherever possible. Azure supports managed identities, letting Azure workloads authenticate to supported services using identities managed by Azure rather than credentials embedded in application code (Microsoft distinguishes system-assigned and user-assigned managed identities) — e.g. an Azure VM authenticating to Azure Storage via its managed identity instead of a username and password. This is significantly easier to secure and rotate.

Blob Storage is Azure's most commonly encountered storage model, useful for images, backups, videos, application files, logs and archives — access can be controlled using Microsoft Entra identities and Azure RBAC.

9 Google Cloud Platform – GCP

Google Cloud is widely used for application hosting, Kubernetes, data analytics, machine learning, large-scale data processing, and cloud-native workloads.

RequirementGoogle Cloud Service
Virtual machinesCompute Engine
NetworkingVPC
Object storageCloud Storage
Identity permissionsIAM
Managed KubernetesGoogle Kubernetes Engine
ServerlessCloud Run / Cloud Functions
Managed databaseCloud SQL
LoggingCloud Logging
MonitoringCloud Monitoring
DNSCloud DNS
SecretsSecret Manager
Encryption keysCloud KMS
Data warehouseBigQuery
Private connectivityCloud Interconnect
Organization Folders Projects Resources

Projects are extremely important in GCP — resources normally belong to a project. Google's primary VM platform is Compute Engine, conceptually similar to EC2/Azure VMs, configured with machine type, CPU, memory, OS, disk, VPC, subnet, firewall, service account, and external/internal IP.

GCP also uses the term VPC, but its architecture differs — one important difference is that Google Cloud VPC networks can span regions, while subnets are regional. Don't assume identical terminology means identical architecture.

Google Cloud does not use AWS-style Security Groups — instead, VPC firewall rules control traffic using direction, priority, protocol, ports, source, destination, target, network tags, and service accounts. Google documents these as distributed controls enforced for VM network interfaces, and also supports hierarchical firewall policies for organisation-level governance.

Google Cloud IAM controls access via Principal + Role + Resource, e.g. Alice with "Compute Viewer" on Project A. Roles contain permissions; Google provides predefined, basic, and custom roles — least privilege should always be preferred, and IAM explicitly supports granular resource access and custom roles where predefined roles are too broad.

Google Cloud commonly uses service accounts for applications and workloads — a service account represents a workload rather than a human user. An application VM might hold a service account with "Storage Object Viewer" permission, letting it read objects without a developer embedding their own admin credentials in the application.

10 Comparing AWS, Azure and GCP

Students should learn mappings between providers.

ConceptAWSAzureGCP
Virtual machineEC2Azure VMCompute Engine
Virtual networkVPCVNetVPC
Object storageS3Blob StorageCloud Storage
Identity permissionsIAMAzure RBACIAM
Workload identityIAM RoleManaged IdentityService Account
Network firewallSecurity GroupNSGVPC Firewall
ServerlessLambdaFunctionsCloud Functions / Cloud Run
KubernetesEKSAKSGKE
DatabaseRDSAzure SQLCloud SQL
SecretsSecrets ManagerKey VaultSecret Manager
LoggingCloudWatch/CloudTrailAzure MonitorCloud Logging
Organisation structureOrganizations/AccountsTenant/SubscriptionsOrganization/Projects

A cloud engineer should be able to translate requirements between these platforms.

11 Virtual Machines

Virtual machines remain one of the most important cloud technologies. Even though containers and serverless computing are increasingly common, huge numbers of enterprise workloads still run on VMs — Windows application servers, AD domain controllers, Linux application servers, legacy Java applications, databases, vendor appliances, monitoring servers, security tools, and jump servers.

Physical Cloud Server Hypervisor VM 1  ·  VM 2  ·  VM 3

The customer interacts with the VM but usually has no access to the physical hardware. Important sizing characteristics include vCPU, memory, storage performance, network performance, GPU, and architecture — oversizing wastes money, undersizing causes performance problems.

VMs are usually created from an image (Windows Server, Ubuntu, RHEL, Amazon Linux), and companies also create custom images baking in patches, EDR, monitoring, certificates, and security configuration so every new server starts from an approved baseline.

Cloud migrations frequently begin with lift-and-shift — a Windows/IIS/.NET/SQL application running in VMware might simply be recreated as a cloud VM, allowing rapid migration without necessarily using cloud-native technologies. Later the company might modernise: VM application → containers → managed Kubernetes, or VM application → managed app platform.

12 Cloud Storage

Block Storage
Think "virtual hard drive," used by VMs — AWS EBS, Azure Managed Disks, Google Persistent Disk/Hyperdisk. The VM sees something like a physical disk.
Object Storage
Stores data as objects — AWS S3, Azure Blob Storage, Google Cloud Storage. Widely used for backups, images, logs, videos, static web content, application data, and archives.
File Storage
Exposes familiar file protocols (SMB, NFS) — useful when migrating traditional applications that expect network file shares.

Traditional enterprise environments commonly contain SAN, NAS, Fibre Channel, iSCSI, Windows file servers, NFS and SMB — these haven't disappeared, and cloud engineers frequently need to migrate or integrate them (e.g. on-premises NAS → cloud file storage).

Common storage security controls: encryption at rest and in transit, IAM permissions, private endpoints, access logging, backup, versioning, retention policies, and replication. One of the most common cloud security failures historically has been accidentally exposing object storage publicly — default to private, grant only required identities access, and avoid anonymous public access unless genuinely required.

13 Identity and Access Management (IAM)

IAM is one of the most important areas of cloud security. Traditional networks were often heavily focused on the perimeter (Internet → Firewall → Trusted Network). Modern cloud security increasingly focuses on identity: Identity → Authentication → Authorization → Resource. If an attacker steals powerful cloud credentials, they may not need to attack the network perimeter at all.

Authentication asks "who are you?" Authorization asks "what are you allowed to do?" Example: Alice logs in with MFA (authentication succeeds), then attempts to delete a production database; IAM checks her permissions, and if she only has "Database Reader," the deletion is denied (that's authorization).

Least privilege means giving identities only the permissions required to perform their job — not "everyone = administrator," but Help Desk gets password-reset permissions, Developers get the development environment, the Security Team gets security logs, the Database Team gets database management.

Modern cloud environments contain both human identities (administrators, developers, analysts, help desk) and machine identities (applications, VMs, containers, automation scripts, CI/CD pipelines, functions) — increasingly described as workload identities, non-human identities, or service identities. These must also be secured.

Legacy applications frequently contain long-lived credentials (AWS_ACCESS_KEY_ID, passwords, service-account.json) stored in source code, config files, scripts, or even committed to Git and shared between engineers — dangerous. Modern approaches prefer AWS IAM Roles, Azure Managed Identities, and Google Service Accounts/Workload Identity, where short-lived credentials are issued dynamically. Administrative accounts should normally use strong MFA, since attackers frequently target cloud administrators, developers, service accounts, API keys, and session tokens.

14 Security Groups and Cloud Firewalls

Network controls vary between cloud providers.

# AWS Security Group
WebServer-SG
INBOUND
443 TCP  Source: 0.0.0.0/0
22  TCP  Source: 10.10.10.0/24

# Azure NSG
WebServer-NSG
Priority 100: Allow TCP 443, Internet -> WebServer
Priority 200: Allow TCP 22, AdminSubnet -> WebServer

# GCP firewall rule
allow-web
Direction: Ingress
Source: 0.0.0.0/0
Target: web-server
Protocol: TCP 443
⚠ Security principle

Do not configure ANY/ANY/0.0.0.0/0/ALLOW unless there is a very specific requirement. Be particularly careful with administrative ports: SSH (22), RDP (3389), WinRM (5985/5986), SMB (445), SQL Server (1433), MySQL (3306), PostgreSQL (5432) — these generally should not be exposed directly to the Internet without a strong architectural reason and additional protections.

15 Cloud Networking

Cloud networking uses many of the same principles covered in Module 3 — IP addresses, CIDR, routing, NAT, DNS, firewalls, subnets, VPNs. The major difference is that networking is largely software-defined.

10.50.0.0/16
   |
   +-- Web Subnet 10.50.1.0/24 -- Web Server
   +-- App Subnet 10.50.2.0/24 -- App Server
   +-- DB Subnet  10.50.3.0/24 -- Database

A public subnet workload might have a route allowing Internet connectivity (Internet → Cloud Internet Gateway → Public Subnet → Web Server). Database systems should generally sit in a private subnet with no direct inbound Internet access — instead Internet → Web Server → Application Server → Database, with the Internet unable to reach the database directly.

Private systems sometimes still need outbound Internet access (to download updates, for example) without accepting unsolicited inbound connections — that's what NAT provides. Cloud routers still rely on routing-table concepts (10.50.0.0/16 → Local, 0.0.0.0/0 → Internet Gateway, or 10.0.0.0/8 → Corporate VPN).

Cloud environments heavily depend on DNS — managed services like Route 53, Azure DNS, and Google Cloud DNS. Private DNS is also important, e.g. database.internal.company.com resolving only inside the company's private networks.

16 Connecting Cloud to Corporate Networks

Global companies rarely operate cloud environments in complete isolation:

London Office Corporate Network → Data Centre → Firewall VPN / Private Circuit Cloud

A site-to-site VPN is an encrypted tunnel connecting networks over the Internet (on-prem firewall → encrypted IPsec tunnel → cloud VPN gateway), commonly used for smaller environments, backup connectivity, rapid deployments, and development environments. Large enterprises may instead use dedicated private connectivity — AWS Direct Connect, Azure ExpressRoute, Google Cloud Interconnect — for private connectivity between corporate infrastructure and the cloud. Microsoft's current ExpressRoute guidance also emphasises identity controls for the management plane and least-privilege administration around circuits, gateways and route configuration.

17 Hub-and-Spoke Networking

Large cloud environments frequently use hub-and-spoke architectures:

Security VNet Network Hub Development VNet

with Production VNet and Shared Services also attached to the hub. The central hub might contain firewalls, VPN gateways, DNS, inspection appliances, routing, and proxy services — preventing every application team from designing completely independent connectivity.

18 Hybrid Identity

Cloud migration does not necessarily mean abandoning traditional Active Directory:

On-Prem Active Directory Microsoft Entra ID Azure / Microsoft 365

Applications might still depend on Kerberos, NTLM, LDAP, and Windows domain membership, while newer applications use OAuth 2.0, OpenID Connect, SAML, and workload identities. Engineers entering enterprise environments need to understand both generations.

19 Legacy Technologies in Cloud Environments

Many beginners imagine cloud companies run only modern technologies. They don't. A global company may simultaneously operate a mainframe, Windows Server 2012-era applications alongside 2016/2019/2022/2025 systems, legacy Java, Oracle databases, SQL Server, VMware, Active Directory, LDAP, SMB, NFS — and also Kubernetes, serverless functions, cloud APIs, managed databases, SaaS, and Infrastructure as Code. IT professionals frequently work between these environments.

Example migration of a legacy payment application (Windows Server + IIS + SQL Server + Active Directory):

Stage 1: On-Premises VM Stage 2: Cloud VM Stage 3: Managed SQL + Cloud VM Stage 4: Containerised Application + Managed Database Stage 5: Cloud-native microservices

Cloud transformation usually happens gradually.

20 Enterprise Cloud Governance

Creating one VM is easy. Managing 50,000 cloud resources is not. Global organisations require governance.

Naming standards: instead of server1, test123, use conventions like uk-lon-prod-web-001. Tags/labels add metadata — Environment=Production, Application=Payments, Owner=PaymentsTeam, CostCentre=CC3420, DataClassification=Confidential — helping with billing, ownership, automation, security, and compliance.

Organisations may implement policies such as "do not allow public storage," "do not create resources outside approved regions," "all disks must be encrypted," "production resources require backups," or "Internet-facing systems require approved security controls" — cloud governance platforms can enforce many of these automatically.

Large organisations frequently create a landing zone — the approved cloud architecture established before application teams begin deploying workloads, covering organisation hierarchy, identity, networking, logging, security, policies, billing, monitoring, DNS, and approved regions. Cloud platforms provide AWS Control Tower, Azure Landing Zones, and Google Cloud enterprise foundations for this.

21 Logging and Monitoring

Cloud activity must be logged. Important sources: AWS CloudTrail/CloudWatch, Azure Activity Log/Monitor/Log Analytics, GCP Cloud Audit Logs/Logging/Monitoring. Security teams may forward these into a SIEM such as Microsoft Sentinel, Splunk, Google Security Operations, Elastic, or QRadar.

02:31 — Administrator login from an unusual country 02:34 — IAM policy changed 02:36 — New access key created 02:40 — Storage accessed

Cloud audit logs allow security teams to reconstruct exactly what happened.

22 Cloud Backups and Disaster Recovery

Cloud does not eliminate the need for backups. If an administrator accidentally deletes a database, the infrastructure may be highly available but the data has still been deleted. Organisations require backups, snapshots, retention, replication, and recovery procedures.

RPO
Recovery Point Objective — how much data can the organisation afford to lose? E.g. RPO = 15 minutes.
RTO
Recovery Time Objective — how quickly must the system return? E.g. RTO = 1 hour.

Critical systems might use multi-region disaster recovery: a primary region (London) replicating to a secondary region, so operations can fail over if the primary experiences major problems.

23 Infrastructure as Code

Modern cloud environments increasingly avoid engineers manually creating everything through web portals. Instead infrastructure is described in code — Terraform, AWS CloudFormation, Azure Bicep, ARM Templates, or Google's infrastructure tooling:

network = 10.50.0.0/16
subnet = 10.50.1.0/24
server = Linux
allow_https = true

Automation then builds the environment. Benefits: repeatability, code review, version control, automation, and consistency.

24 Cloud Security Threats

Misconfigured IAM
A developer given Administrator when they only need one application.
Exposed storage
Customer data storage left publicly accessible on the Internet.
Public admin services
RDP (3389) open to 0.0.0.0/0.
Leaked credentials
Access keys committed to a public GitHub repository — attackers scan for these constantly.
Excessive service account permissions
An application with near-Global-Administrator privileges — if it's compromised, the attacker inherits everything.
Missing logging
Without audit logs, you can't determine who accessed what, when, or from where.
No MFA
Administrative accounts protected only by a password are a significant risk.
Unpatched VMs
Cloud VMs are still servers — a vulnerable application on a cloud VM remains vulnerable.

25 Zero Trust and Cloud

Modern cloud security increasingly follows Zero Trust principles. Instead of assuming "inside the network = trusted," the organisation continuously evaluates identity, device, location, risk, requested resource, and permissions before deciding whether access should be allowed. Identity has therefore become one of the most important cloud security boundaries.

26 Cloud Support Troubleshooting

Suppose: "the application cannot connect to the database." Do not immediately reboot servers.

1–2. DNS, then source IP 3–4. Destination IP, then port 5. Route 6. Security Group / NSG / Firewall rule 7. Operating system firewall 8. Application listener 9. Authentication 10. Logs
Test-NetConnection 10.10.2.20 -Port 1433   # PowerShell
nc -vz 10.10.2.20 1433                     # Linux

Then determine whether the failure is DNS, routing, firewall, service, authentication, or application. This exact troubleshooting method applies across traditional and cloud environments.

27 Cloud CLI Tools

Cloud engineers should eventually become comfortable working outside graphical portals. Major CLI tools: AWS CLI, Azure CLI (az), Google Cloud CLI (gcloud):

aws ec2 describe-instances
az vm list
gcloud compute instances list

Students do not need to memorise every command. Enterprise automation increasingly uses CLI, APIs, PowerShell, Python, Terraform, and CI/CD rather than manual portal operations.

28 APIs and Cloud Infrastructure

Nearly everything in modern cloud platforms can be controlled through APIs. When you click "Create Virtual Machine" in a portal, the portal itself ultimately interacts with cloud APIs — meaning infrastructure can also be created by Terraform, PowerShell, Python, a CI/CD pipeline, or an automation platform. This relationship becomes particularly important later when learning APIs, PowerShell and DevOps.

Enterprise Example

Imagine a multinational bank:

A bank's request flow from Internet through WAF, load balancer, web app, API, and private database, alongside a connected data centre and mainframe Internet Cloud WAF Load Balancer Web Application API Services Private Database Data Centre Mainframe Core Banking

Cloud-native front end, legacy core banking system behind it — a very typical large-enterprise shape.

Identity: Active Directory → Microsoft Entra ID → Cloud Federation → AWS/Azure/GCP. Security: MFA, Conditional Access, Cloud IAM, PAM, SIEM, EDR, firewalls, WAF, DLP, logging. Networking: MPLS/SD-WAN, VPN, ExpressRoute, Direct Connect, Cloud Interconnect.

This combination of old and new technology is much closer to what engineers encounter in large enterprises than an entirely cloud-native demonstration environment.

Lab Required Lab — Deploy a Cloud Web Server

🦡 Required hands-on lab · not optional

This is the core deliverable of Module 7. By the end you should have actually created a VPC/VNet, a subnet, a firewall rule, a Linux VM, a storage resource, and an IAM permission — then deliberately broken the network and fixed it. The exact interface changes regularly across providers, so concentrate on the concepts rather than memorising where buttons live in a portal.

Target architecture:

Internet HTTPS / HTTP Cloud Firewall Linux VM Private Network

Setup (Steps 1–4)

Create a cloud account (AWS, Azure, or Google Cloud — use free/trial resources). Enable MFA on the administrator account before continuing — never reuse an important personal or corporate password. Select an appropriate region (consider geography, latency, data residency, pricing, available services) and record it.

Create a virtual network, e.g. 10.100.0.0/16, then a subnet inside it, e.g. 10.100.1.0/24. Create a firewall rule allowing HTTP (TCP 80) from the Internet. For SSH, do not simply allow TCP 22 from 0.0.0.0/0 where avoidable — restrict administrative access to your own IP or use the provider's secure management capabilities.

Deploy and Test (Steps 5–9)

Create a small Linux VM (Ubuntu LTS or another provider-supported distribution, a low-cost instance type). Connect via SSH:

ssh user@PUBLIC_IP

Authentication may use SSH keys, provider identity systems, temporary credentials, or secure management services — password authentication should not be the default for Internet-exposed Linux servers. Update the system and install a web server:

sudo apt update
sudo apt upgrade
sudo apt install nginx
systemctl status nginx

Open http://PUBLIC_IP — you should see the default page. The traffic path: Browser → Internet → cloud firewall → VM network interface → operating system → nginx.

Break and Fix (Steps 10–13)

🔮 Predict first

If you remove the firewall rule vs. if you stop nginx, will the symptom look any different to a user? What would tell you which one happened?

Remove TCP 80 from the cloud firewall and test again — the website should fail. Ask: is nginx broken? No — nginx may be completely healthy, but the network path is blocked. Restore TCP 80.

Now stop nginx instead:

sudo systemctl stop nginx

Test again — the website fails, but this time the network may be working perfectly; the application itself is unavailable.

Reveal the lesson

Both produce "the website doesn't load" from a user's perspective, but the causes are completely different layers — network failure vs. application failure. This is exactly why the systematic troubleshooting method (check the network path, then the service, then the logs) matters more than guessing. Restart nginx (sudo systemctl start nginx) and confirm it works before continuing.

Examine the logs:

journalctl -u nginx

and inspect /var/log/nginx/ to understand how infrastructure and application logs assist troubleshooting.

Storage and IAM (Steps 14–16)

Create a storage resource (AWS S3 bucket, Azure Blob container, or GCP Cloud Storage bucket), upload test.txt. Do not make it publicly accessible. Create an identity or role with read-only access, try accessing the storage, then attempt an unauthorised operation such as deletion and observe the permission failure.

Authentication succeeded. Authorization failed.

This distinction is extremely important. Then find the provider's audit logging capability and look for actions like VM created, VM started, firewall changed, storage created, or IAM permissions modified — try to identify who performed each action, when, from where, against which resource, and whether it succeeded.

Cleanup (Steps 17–18)

Remove unnecessary public exposure — does this VM genuinely need a public IP? In production, many servers don't; a more mature architecture puts a load balancer in front of private web servers instead of giving every VM a public IP.

Finally, delete every resource you created: VM, disk, public IP, storage, network resources, firewall rules, and anything else chargeable. Cloud resources can continue generating costs even when you're no longer using them — understanding cleanup is part of learning cloud engineering.

Lab Optional Extension — Three-Tier Application

🦡 Optional, advanced

Extend the required lab into a three-tier network: web subnet (10.100.1.0/24) → application subnet (10.100.2.0/24) → database subnet (10.100.3.0/24), behind a load balancer. Configure rules so Internet → 443 → Web, Web → 8080 → Application, Application → DB port → Database — but Internet cannot reach the database directly. This demonstrates real network segmentation.

Lab Optional Extension — Hybrid Lab

🦡 Optional, advanced

If you have a home lab (from Module 2), connect it to your cloud VPC/VNet over a VPN, then deploy a cloud Linux VM and connect to it using its private IP. The architecture now resembles an enterprise hybrid environment.

Lab Security Exercise — Find the Problems

🦡 Exercise

You're given this environment:

VM Public IP: YES
Firewall: 22/0.0.0.0/0, 3389/0.0.0.0/0, 443/0.0.0.0/0, 445/0.0.0.0/0
IAM: Administrator
Storage: Public
MFA: Disabled

🔮 Predict first

List every security problem you can find in that configuration before revealing.

Reveal the expected findings

Excessive administrative access, SSH exposed to the Internet, RDP exposed to the Internet, SMB exposed to the Internet, excessive IAM permissions, public storage, missing MFA, an unnecessary public IP, and a lack of network segmentation. Now redesign the architecture securely.

Lab Troubleshooting Exercise

🦡 Exercise

Web VM 10.20.1.10, App VM 10.20.2.10, Database 10.20.3.10. The application reports: "cannot connect to database."

🔮 Predict first

Write your investigation order before revealing.

Reveal the investigation checklist

DNS, route, firewall, Security Group/NSG, operating system firewall, database listening port, service status, authentication, credentials, logs. Do not immediately assume "the cloud is down."

Interview Questions

Students should be able to answer the following. Click each one you're confident you can explain out loud.

0 / 28 reviewed

Common Beginner Mistakes

"Cloud means there are no servers"
There are still servers. Someone else may simply operate the underlying hardware.
"Everything in cloud is automatically secure"
Configuration remains the customer's responsibility in many areas.
"AWS, Azure and GCP work identically"
They implement similar concepts differently.
"Two servers in cloud = highly available"
Architecture determines availability, not simply having more than one VM.
"A VM doesn't need patching because it's in Azure/AWS/GCP"
Traditional IaaS virtual machines still require OS and application maintenance.
"Administrator access is easier, so everyone should have it"
Use least privilege instead.
"A service account is harmless because nobody logs into it"
Machine identities can have enormous privileges and are major attack targets.

What Students Should Remember

Do not try to memorise hundreds of cloud services. Understand the architecture.

Identity IAM Network Compute Application Data

And around all of them: security, logging, monitoring, governance, backup, automation. If you understand these layers, moving between AWS, Azure and GCP becomes much easier — the product names change, the underlying engineering principles largely remain the same.

Module Summary

Cloud infrastructure now forms a major part of global enterprise IT. AWS, Azure and Google Cloud each provide broadly equivalent capabilities for compute, networking, storage, identity, databases, security, monitoring and automation — but the terminology, resource hierarchy and defaults differ enough that you need to consciously translate between them.

Students should also recognise that enterprise environments rarely consist entirely of cloud-native technology. A real global company may simultaneously operate AWS, Azure, GCP, Microsoft 365, Active Directory, VMware, Windows, Linux, Oracle, SQL Server, mainframes, SaaS, Kubernetes, APIs, and legacy applications. Cloud engineers, support engineers and cybersecurity professionals therefore need to understand how modern cloud services integrate with traditional infrastructure.

The most important skills are not memorising cloud product names. They are understanding networking, identity, permissions, compute, storage, security, logging, troubleshooting, and automation. Those skills transfer between almost every technology you'll encounter throughout your career.