DEV Community

Cover image for My DevOps Journey: Part 9 - Into the Cloud (Cloud Computing, IAM, and AWS Foundations)
Sheersh Sinha
Sheersh Sinha

Posted on

My DevOps Journey: Part 9 - Into the Cloud (Cloud Computing, IAM, and AWS Foundations)

After exploring how to secure systems and networks in Day 8 (Network Security and DevSecOps), I wanted to understand where all these systems actually live.

I had spent enough time protecting the pipelines - now it was time to understand the platform that powers them.

That's when I entered the world of Cloud Computing - the heart of modern DevOps.

What is Cloud Computing?

When I first launched my sandbox project on an AWS EC2 instance, it hit me - the cloud isn't some distant, complex system.

It's computing on demand - available anytime, anywhere, in seconds.

No cables, no datacenters - just configuration, connectivity, and scalability.

Definition: Cloud computing delivers servers, databases, storage, networking, and software services over the internet ("the cloud") - on a pay-as-you-go model.

Cloud Service Models

Model Meaning What It Offers Example
IaaS Infrastructure as a Service Compute, storage, networking AWS EC2, Azure VM
PaaS Platform as a Service Managed environment for development AWS Elastic Beanstalk
SaaS Software as a Service Ready-to-use applications Gmail, Salesforce

Each model defines how much control you have:

  • IaaS: You manage everything above the OS.
  • PaaS: Focus only on code - the platform handles scaling.
  • SaaS: You consume; the vendor manages all.

Lesson: Cloud computing isn't about moving data online - it's about shifting responsibility strategically.

Deployment Models

Type Description Example
Public Cloud Shared by multiple organizations AWS, Azure, GCP
Private Cloud Dedicated to one organization VMware Cloud
Hybrid Cloud Mix of both AWS Outposts, Azure Stack

My "Aha!" Moment - Elasticity in Action

During one of my log analyzer tests, I scaled my application on AWS from 1 to 3 instances in under a minute.

Then, I stopped them - and billing stopped too.

That's when I realized what "elasticity" truly meant.

You only pay for what you use, and you scale when you need it.

Lesson: Cloud computing isn't just about running servers - it's about running them intelligently.

Identity and Access Management (IAM) - The Security Backbone of AWS

In traditional setups, access control meant login credentials.

In the cloud, it's Identity and Access Management (IAM) - a system that defines who can do what on which resources.

At first, I underestimated IAM - until I accidentally gave an admin-level policy to a test user.

It taught me a critical lesson about cloud security hygiene.

Key IAM Components

Component Role
Users Individual accounts (engineers, admins)
Groups Collection of users with common permissions
Roles Temporary access for AWS services (EC2, Lambda)
Policies JSON-based documents defining permissions

Example IAM Policy (Least Privilege)

This gives read-only access to the S3 bucket - nothing more.

Key takeaway: Always apply the Principle of Least Privilege - give only what's needed.

My First IAM Mistake

While experimenting with AWS, I once created a new IAM user to test access permissions for S3.
I wanted the user to upload log reports from the Bash Log Analyzer project — but every time I tried running:

aws s3 cp ./reports s3://my-devops-logs/ --recursive
Enter fullscreen mode Exit fullscreen mode

I kept getting this frustrating error:

An error occurred (AccessDenied) when calling the PutObject operation: Access Denied

After checking the policy, I realized the user only had s3:GetObject (read-only) permissions - not s3:PutObject (write).

It was such a small oversight, yet it stopped my automation completely.

I updated the policy to:

And instantly, everything worked.

Lesson: In the cloud, permissions can make or break productivity. Always double-check what’s allowed — both read and write.

Introduction to AWS - My First Steps into the Cloud

AWS (Amazon Web Services) felt like a huge universe of services at first.

So I simplified it - I started with the essentials every DevOps engineer must know.

Step 1: Launching an EC2 Instance

My first step was creating a virtual machine (EC2) on AWS.

Commands that became second nature:

ssh -i mykey.pem ubuntu@<public-ip>
sudo apt update && sudo apt install git
Enter fullscreen mode Exit fullscreen mode

That one EC2 instance became my testing ground for every experiment - from bash scripts to log analyzers.

Step 2: Storing Logs in S3

Then I moved my project's log reports to Amazon S3 (Simple Storage Service):

aws s3 cp reports/ s3://my-devops-logs/ --recursive
Enter fullscreen mode Exit fullscreen mode

Suddenly, my reports were globally accessible - securely and durably.

Step 3: Networking with VPC

I created a Virtual Private Cloud (VPC) - my own isolated network inside AWS.

I configured:

  • Subnets (Public & Private)
  • Internet Gateway
  • Routing Tables

That experience made me appreciate how my networking knowledge from Day 7 now directly applied in the cloud.

The DevOps Connection - Cloud as the Engine

In DevOps, cloud computing isn't just about hosting - it's about automation and scalability.

Benefit Impact
Scalability Auto-scaling instances during traffic spikes
Reliability Multi-region deployments
Speed CI/CD pipelines running globally
Security IAM, encryption, monitoring
Observability CloudWatch + custom dashboards

Lesson: DevOps without cloud is like scripting without a terminal - limited and local.

Real Scenario - The Forgotten S3 Policy

Once, while uploading files from EC2 to S3, I kept getting "Access Denied."

Everything seemed fine - until I checked the bucket policy.

It was denying uploads from non-HTTPS connections.

A small oversight, but a great reminder:

"Security isn't a barrier - it's a guide to better configurations."

Key Takeaways

  • Cloud Computing = Renting intelligence, not just hardware.
  • IAM = The guardian of every resource.
  • AWS = The backbone of modern DevOps workflows.
  • Always prefer roles over credentials.
  • Test your permissions before you automate them.

What's Next (Day 10 - Deep Dive into AWS EC2)

Now that we've explored the foundations of Cloud Computing and IAM, it's time to roll up our sleeves and build inside the cloud.

In Day 10, I'll dive deep into Amazon EC2 (Elastic Compute Cloud) - where theory meets execution.

Here's what's coming next:

  • Elastic Compute Cloud (EC2) - Understanding the core of AWS computing.
  • Amazon Machine Images (AMI) - The blueprints of every instance.
  • EC2 Instance Metadata & User Data - Automating configuration at launch.
  • EC2 Instance Types & Pricing Models - Choosing the right compute for the right workload.
  • AWS CLI - Managing AWS resources from the terminal like a true DevOps engineer.

"This is where cloud theory turns into infrastructure reality."

Stay tuned - Day 10 will be all about launching, configuring, and optimizing instances at scale.

Top comments (0)