Cloud 101
I thought I would write a brief piece on Cloud 101 and an introduction to the cloud!
First, we need to define what a cloud is, as described by NIST 800-145:
Cloud computing provides easy, on-demand access to shared computing resources — such as networks, servers, storage, and applications — over the internet. These resources can be quickly set up or scaled down with little effort or interaction with the service provider. It has five key features, three service types, and four deployment options.
Key Features:
- On-demand self-service: Users can access computing resources like server time or storage automatically, without contacting the provider.
- Broad network access: Resources are available over the internet and can be used on various devices, such as phones, tablets, or laptops.
- Resource pooling: The provider combines resources to serve multiple users, dynamically assigning them based on demand. Users may not know the exact location of resources but can sometimes choose a general region (e.g., a country or data centre).
- Rapid elasticity: Resources can quickly scale up or down to match user needs, often automatically, making them seem unlimited.
- Measured service: Usage is tracked and optimised automatically, with transparent reporting for the provider and user, based on metrics like storage, processing, or bandwidth.
There are three (3) types of clouds
Private
Cloud services are used by only one organisation. A company hosting its cloud infrastructure or using a private cloud service. It offers more control and security, but it can be more expensive.
Public
Cloud services are available over the internet for anyone to use. Services like Google Drive or Amazon Web Services (AWS). It's cost-effective and scalable, but shared with other users.
Hybrid
A mix of public and private clouds, allowing data and apps to move between them. A business uses a private cloud for sensitive data and a public cloud for less critical applications.
Now that we have worked out the definition and terminology of "cloud" infrastructure. A cloud model provides three service models: Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS). Each offers different levels of control, flexibility, and user management. Here's a clear explanation of each:
- SaaS:
- SaaS delivers software applications over the internet, managed by a third-party provider. Users access these apps via a browser without installing or maintaining software.
- Key features:
- Fully managed by the provider (updates, security, infrastructure).
- Subscription-based pricing (per user or month).
- Accessible from any device with an internet connection.
- Examples: Google Workspace (Docs, Sheets), Microsoft 365, Salesforce, Dropbox.
- Use case: Ideal for businesses or individuals needing ready-to-use software (e.g., email, CRM, collaboration tools) without managing servers or updates.
- User control: Minimal. Users only configure settings or customise the app's features.
- PaaS:
- PaaS provides a platform allowing developers to build, deploy, and manage applications without worrying about underlying infrastructure (servers, storage, networking).
- Key features:
- Includes development tools, databases, and middleware.
- Provider manages OS, server software, and hardware.
- Scales automatically to handle demand.
- Examples: Google App Engine, Microsoft Azure App Services, Heroku, AWS Elastic Beanstalk.
- Use case: Suited for developers creating custom applications, as it simplifies deployment and reduces infrastructure management (e.g., web apps, API's).
- User control: Moderate. Users manage the application and data, while the provider handles the platform and infrastructure.
- IaaS:
- IaaS offers virtualised computing resources (servers, storage, networking) over the internet. Users rent infrastructure and have more control over it.
- Key features:
- Provides virtual machines, storage, and networking.
- Users manage OS, applications, and data.
- Highly scalable and flexible for custom setups.
- Examples: Amazon Web Services (EC2, S3), Microsoft Azure, Google Compute Engine, DigitalOcean.
- Use case: Best for businesses needing complete control over infrastructure for custom workloads, such as hosting websites, running databases, or testing environments.
- User control: High. Users manage everything except the physical hardware.
This post discusses the basic terminology of cloud networks. I will discuss securing cloud infrastructure with common vendor-specific software.