Your First Steps into the Cloud: The Must-Know Guide for Engineers
Youβve heard the term βthe cloud.β Itβs where your photos are stored, where you stream movies from, and where the apps you use every day live. As a future software or data engineer, you won't just be using the cloud; you'll be building on it. The cloud will be your workshop, your factory, and your shipping center all in one.
But what is it, really? When you get past the marketing, the cloud is a global network of powerful, interconnected computers, and companies like Amazon Web Services (AWS), Microsoft (Azure), and Google (Google Cloud Platform aka GCP) let you rent access to them. Think of it like a utility. You don't build your own power plant to get electricity; you just plug into the grid. The cloud is a grid for computing power.
This guide will demystify the fundamental terms and concepts you'll encounter on day one of your job.
1. Storing Your Data: Cloud Storage πΎ
At its heart, a lot of what you do in the cloud comes down to storing and accessing data. The most common and fundamental type of storage you'll use is Object Storage.
Objects and Buckets
In a traditional file system, you have files and folders. In object storage, the two core concepts are objects and buckets.
- An object is a bundle containing the data itself (an image, log file, etc.), metadata (data about the data), and a unique ID.
- A bucket (called a "container" in Azure) is a globally unique repository where your objects are stored.
Hierarchical vs. Flat
Your computer's file system is hierarchical (e.g., C:\Users\Docs). Object storage, however, has a flat structure. There are no real folders. An object with the key images/profiles/avatar.jpg simply has a name that contains slashes. The UI creates the illusion of folders for our convenience, which is a crucial concept for organizing vast amounts of data.
π Learn More: What is Object Storage? (AWS S3)
2. Securing Your Kingdom: Identity & Access Management (IAM) π
Now that you have data in a bucket, who can access it? This is where Identity and Access Management (IAM) comes in. IAM is the security grammar of the cloud.
Policies
The core of IAM is the policy, a document (usually in JSON format) that explicitly defines permissions (e.g., "Allow UserA to Read from BucketB").
Identities
Policies are attached to identities to grant them power.
- Users: Accounts for individual people or applications.
- Groups: Collections of users to make managing permissions easier.
- Roles: An identity with temporary permissions that can be assumed by a trusted user or, more importantly, a cloud service (like a VM). This is the secure way to grant services access without hardcoding secret keys.
Principle of Least Privilege
This is the golden rule of IAM. Only grant the absolute minimum permissions necessary for a user or service to perform its function.
π Learn More: What is IAM? (AWS IAM)
3. Running Your Code: Core Compute Models π»
Storing data is passive; compute is where the action happens. You should know the three main ways to run your code.
Virtual Machines (VMs)
This is your own private server (e.g., AWS EC2) living in a data center. You have full control over the operating system, memory, and CPU. Itβs the foundational compute block.
Containers
Mhhh, if you're wondering what a container is, you haven't read my second blog... go check it out here!. I will anyways give a quick definition of it below π:
A container (popularized by Docker) packages your application and all its dependencies into a single, isolated unit. This is the modern standard for deploying applications because it's lightweight and consistent. Kubernetes is the most popular tool for managing containers at scale.
Serverless Functions
The highest level of abstraction (e.g., AWS Lambda). You upload small pieces of code that run in response to events (like a new file upload). You don't manage any servers at all.
π Learn More: Overview of AWS Compute Services
4. Connecting Everything: Virtual Networking π
You can't just put servers on the public internet. You need a secure, isolated network to connect your resources.
Virtual Private Cloud (VPC)
This is your own logically isolated section of the public cloud. Think of it as putting a digital fence around all your resources for a project.
Subnets & Security Groups
- Subnets are subdivisions within your VPC. A common pattern is having public subnets for web servers and private subnets for databases that shouldn't be exposed to the internet.
- Security Groups are the virtual firewalls or bouncers at the door of each resource (like a VM). They control what traffic is allowed in and out, for example, allowing your web server to talk to your database on its specific port.
π Learn More: What is a VPC? (AWS VPC)
5. Building, Not Managing: Automation & Managed Services π οΈ
The goal of the cloud is to move, scale faster and most importantly, save money (virtually, no CapEX and low OpEx!). These two concepts are key to that velocity and efficiency.
Managed Databases
While you could install PostgreSQL on a VM yourself, you almost never should. Services like Amazon RDS (Relational Database Service) handle the hard parts for you: patching, backups, and scaling. This lets you focus on your application, not on being a database administrator.
Infrastructure as Code (IaC)
Manually clicking in the web console to set up your environment is slow and error-prone. IaC is the practice of defining your cloud resources (VMs, buckets, networks) in code files. Terraform is the most popular tool for this. It allows you to build, change, and version your infrastructure safely and repeatably.
π Learn More: What is a Managed Database? (AWS RDS)
π Learn More: What is Infrastructure as Code with Terraform?
Your Next Step
By understanding these core pillarsβStorage, IAM, Compute, Networking, and Automationβyou have the foundational knowledge to understand almost any cloud architecture.
Now, get your hands dirty. I personally use AWS and would recommend getting started there. You can sign up for a free tier account and try to build a simple two-tier application using these concepts. While Azure and GCP are also fantastic platforms, the key is to start somewhere. Theory is good, but practice is better. Welcome to the cloud!