DEV Community

Yash Sonawane
Yash Sonawane

Posted on

The Modern Cloud Engineer Roadmap: AWS, Terraform, Kubernetes, Git & Go โ˜๏ธ๐Ÿš€

If you want to become a Cloud Engineer or DevOps Engineer, you have probably seen a huge list of technologies:

AWS. Docker. Kubernetes. Terraform. Git. Linux. Python. Go. CI/CD.

And then you ask yourself:

"Where do I even start?" ๐Ÿ˜ตโ€๐Ÿ’ซ

The problem isn't that there are too many technologies.

The problem is that most people learn them in isolation.

They learn AWS without Terraform.

Terraform without Git.

Kubernetes without Docker.

Docker without Linux.

And programming without actually building anything.

The better approach is to understand how these technologies fit together.

In this article, I'll show you a practical roadmap for building a modern cloud engineering skill set.


๐Ÿง  First: Understand What a Cloud Engineer Actually Does

A Cloud Engineer doesn't simply launch EC2 instances.

A real cloud engineer thinks about:

  • Infrastructure
  • Networking
  • Security
  • Scalability
  • Automation
  • Reliability
  • Monitoring
  • Deployment
  • Cost
  • Disaster recovery

Imagine you're asked:

"Deploy an application that needs to handle millions of users."

You can't solve that problem with one AWS service.

You need an architecture.


โ˜๏ธ Step 1: Learn Cloud โ€” AWS

Start with the cloud platform.

AWS is a great place to build your cloud fundamentals.

Begin with the services that teach you the core concepts:

Compute

EC2

Learn virtual machines, instance types, AMIs, networking, and scaling.

Storage

S3

Understand object storage, lifecycle policies, permissions, and durability.

Database

RDS

Learn managed relational databases, backups, Multi-AZ concepts, and scaling.

Networking

VPC

This is extremely important.

Learn:

  • Subnets
  • Route tables
  • Internet Gateway
  • NAT Gateway
  • Security Groups
  • Network ACLs

DNS

Route 53

Understand how applications are reached through DNS.

Load Balancing

Elastic Load Balancing

Learn how traffic can be distributed across multiple application instances.


๐Ÿ—๏ธ Don't Just Learn Services โ€” Build an Architecture

After learning the basics, connect them.

For example:

                    Users
                      โ”‚
                      โ†“
                  Route 53
                      โ”‚
                      โ†“
                 CloudFront
                      โ”‚
                      โ†“
              Load Balancer
                 /       \
                โ†“         โ†“
              EC2       EC2
                \         /
                 \       /
                    RDS
                     โ”‚
                     โ†“
                    S3
Enter fullscreen mode Exit fullscreen mode

Now you're starting to understand cloud architecture.


๐Ÿ”€ Step 2: Learn Git

Once you're working with infrastructure, you need version control.

That's where Git comes in.

Think of Git as:

A history and collaboration system for your code and infrastructure.

You'll use it to manage:

  • Application code
  • Terraform files
  • Kubernetes manifests
  • Configuration
  • Documentation

A typical workflow looks like:

Create Branch
     โ†“
Write Code
     โ†“
git add
     โ†“
git commit
     โ†“
git push
     โ†“
Pull Request
     โ†“
Code Review
     โ†“
Merge
Enter fullscreen mode Exit fullscreen mode

Git isn't just for developers.

Cloud engineers use Git too.


๐Ÿ—๏ธ Step 3: Learn Terraform

Now we reach one of the most important concepts in modern cloud engineering:

Infrastructure as Code

Imagine creating:

  • VPC
  • Subnets
  • EC2
  • Load Balancer
  • Security Groups
  • RDS

manually.

It works.

But it's slow and difficult to reproduce.

Now imagine defining your infrastructure as code:

Terraform
    โ†“
AWS Provider
    โ†“
VPC
    โ†“
Subnets
    โ†“
EC2
    โ†“
Load Balancer
    โ†“
Database
Enter fullscreen mode Exit fullscreen mode

Your infrastructure becomes:

Repeatable.

Version controlled.

Automatable.

Reviewable.


๐Ÿ”ฅ Git + Terraform Is a Powerful Combination

Now combine what you've learned:

Developer
    โ†“
Git
    โ†“
Terraform Code
    โ†“
Pull Request
    โ†“
Review
    โ†“
Terraform Plan
    โ†“
Terraform Apply
    โ†“
AWS Infrastructure
Enter fullscreen mode Exit fullscreen mode

Now infrastructure changes can follow a professional software-development workflow.

This is one of the foundations of modern DevOps.


๐Ÿณ Step 4: Learn Docker

Now let's talk about applications.

Your infrastructure exists.

But how do you package your application?

Containers.

Docker allows you to package an application together with the dependencies it needs to run.

Think:

Application
+
Dependencies
+
Configuration
        โ†“
     Container
Enter fullscreen mode Exit fullscreen mode

Instead of saying:

"It works on my laptop."

You can move toward:

"The application runs consistently wherever the container runtime is supported."


โ˜ธ๏ธ Step 5: Learn Kubernetes

Docker helps you run containers.

But imagine you have:

100 containers.

Now you need:

  • Scheduling
  • Service discovery
  • Scaling
  • Health checks
  • Networking
  • Rolling updates
  • Self-healing

This is where Kubernetes becomes important.

A simplified architecture:

             Kubernetes Cluster
                    โ”‚
             โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”
             โ”‚ Control Planeโ”‚
             โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                    โ”‚
        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
        โ†“           โ†“           โ†“
      Node         Node        Node
        โ†“           โ†“           โ†“
      Pods         Pods        Pods
Enter fullscreen mode Exit fullscreen mode

Kubernetes continuously works toward the desired state you've defined.

If a workload crashes, Kubernetes can work to restore it.

If you need more replicas, it can scale the workload.

If you deploy a new version, Kubernetes can manage the rollout.


โ˜๏ธ AWS + Kubernetes

Now connect Kubernetes to AWS.

You can use Amazon EKS to run managed Kubernetes control planes on AWS.

Your stack now becomes:

                     AWS
                      โ”‚
                     EKS
                      โ”‚
             โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
             โ†“        โ†“        โ†“
           Pod      Pod      Pod
             โ”‚        โ”‚        โ”‚
             โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                      โ†“
                 Application
Enter fullscreen mode Exit fullscreen mode

Now your AWS knowledge and Kubernetes knowledge reinforce each other.


๐Ÿ’ป Step 6: Learn a Programming Language

You don't need to become a software engineer to work in Cloud or DevOps.

But learning programming is extremely valuable.

It helps you:

  • Automate tasks
  • Build tools
  • Understand applications
  • Work with APIs
  • Debug systems
  • Write infrastructure utilities

For cloud-native environments, Go is especially interesting.

Why?

Because Go is widely used in cloud-native infrastructure and is excellent for:

  • APIs
  • CLI tools
  • Networking
  • Microservices
  • Distributed systems
  • Infrastructure tools

๐Ÿš€ Go + Cloud = A Powerful Combination

Imagine building a Go application:

Go Application
      โ†“
Docker
      โ†“
Kubernetes
      โ†“
AWS EKS
Enter fullscreen mode Exit fullscreen mode

Now you're not just learning Go syntax.

You're learning how to build and deploy a real cloud-native application.

That's a much better learning experience.


๐Ÿ”„ Step 7: Add CI/CD

Now automate the entire workflow.

Instead of:

Developer
   โ†“
Manual Build
   โ†“
Manual Test
   โ†“
Manual Deployment
Enter fullscreen mode Exit fullscreen mode

Build this:

Developer
   โ†“
Git Push
   โ†“
CI/CD
   โ†“
Build
   โ†“
Test
   โ†“
Docker Image
   โ†“
Deploy
   โ†“
Kubernetes
   โ†“
AWS
Enter fullscreen mode Exit fullscreen mode

Now you have a real automated software delivery pipeline.


๐Ÿ“Š Step 8: Learn Observability

Your application is deployed.

Is your job finished?

Absolutely not.

You need to know:

Is it healthy?

Is it fast?

Are users experiencing errors?

Are containers crashing?

Is infrastructure overloaded?

Learn:

  • Logs
  • Metrics
  • Traces
  • Alerts
  • Dashboards

Tools and services can include:

  • CloudWatch
  • Prometheus
  • Grafana
  • OpenTelemetry

Observability is what allows you to understand what's happening inside production systems.


๐Ÿ” Step 9: Learn Security

Security shouldn't be a final step.

It should be part of every step.

Learn:

AWS IAM

Who can access what?

Network Security

Which traffic should be allowed?

Kubernetes RBAC

Which users and workloads can perform which actions?

Secrets

Where should credentials live?

Container Security

How do you minimize unnecessary privileges?

Infrastructure Security

How do you prevent accidental exposure?

A strong cloud engineer doesn't just make systems work.

They make them work securely.


๐Ÿ’ฐ Step 10: Learn Cost Optimization

Cloud makes infrastructure easier to provision.

But that can also make it easy to spend money.

A good cloud engineer understands:

  • Instance sizing
  • Storage costs
  • Data transfer
  • Scaling
  • Reserved capacity options
  • Serverless pricing
  • Idle resources

The goal isn't simply:

"Make it cheap."

The goal is:

"Find the right balance between cost, performance, reliability, and business requirements."


๐Ÿงฉ Your Complete Cloud Engineer Stack

Now let's put everything together:

                    CLOUD ENGINEER
                          โ”‚
        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
        โ”‚                 โ”‚                 โ”‚
       AWS               Git             Linux
        โ”‚                 โ”‚                 โ”‚
        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                          โ†“
                       Docker
                          โ†“
                      Terraform
                          โ†“
                     Kubernetes
                          โ†“
                        Go
                          โ†“
                       CI/CD
                          โ†“
                  Observability
                          โ†“
                       Security
Enter fullscreen mode Exit fullscreen mode

You don't need to master everything simultaneously.

Learn one layer at a time.


๐Ÿ“š My Learning Resources

If you're following this roadmap and want structured resources for some of these technologies, I've created several practical guides.

โ˜๏ธ AWS / Cloud

Build your AWS fundamentals around compute, storage, networking, databases, security, and cloud architecture.

๐Ÿ”€ Git Mastery

Learn Git from the fundamentals through professional workflows, including branching, merging, rebasing, GitHub, GitLab, and collaboration.

๐Ÿ‘‰ Git Mastery: From Zero to Expert

๐Ÿ—๏ธ Terraform

Learn Infrastructure as Code, Terraform workflows, providers, resources, modules, state management, and AWS infrastructure automation.

๐Ÿ‘‰ Terraform Associate (003) Exam Crash Course

โ˜ธ๏ธ Kubernetes

Build your Kubernetes knowledge around architecture, workloads, networking, storage, security, troubleshooting, and CKA preparation.

๐Ÿ‘‰ CKA Complete Study Guide

๐Ÿ’ป Go

Learn Go fundamentals, structs, interfaces, error handling, concurrency, APIs, backend development, and practical projects.

๐Ÿ‘‰ Mastering Go: The Complete Developer's Masterclass


๐Ÿ—บ๏ธ A 6-Month Learning Strategy

If I were starting from zero today, I wouldn't try to learn everything at once.

I'd break it down.

Month 1 โ€” Foundations

Learn:

  • Linux
  • Networking basics
  • Git
  • Basic scripting

Build small projects.


Month 2 โ€” AWS

Learn:

  • IAM
  • EC2
  • S3
  • VPC
  • RDS
  • Load Balancing
  • Auto Scaling

Build a complete AWS architecture.


Month 3 โ€” Docker + Terraform

Learn:

  • Dockerfiles
  • Images
  • Containers
  • Networks
  • Volumes
  • Terraform
  • Providers
  • Resources
  • Variables
  • Modules
  • State

Automate your AWS infrastructure.


Month 4 โ€” Kubernetes

Learn:

  • Pods
  • Deployments
  • Services
  • ConfigMaps
  • Secrets
  • Ingress
  • Storage
  • RBAC
  • Scheduling
  • Troubleshooting

Deploy real applications.


Month 5 โ€” Go + CI/CD

Learn:

  • Go fundamentals
  • APIs
  • Concurrency
  • Dockerized Go applications
  • CI/CD pipelines

Build and deploy a Go application.


Month 6 โ€” Production Engineering

Focus on:

  • Monitoring
  • Logging
  • Security
  • Cost optimization
  • High availability
  • Disaster recovery
  • Architecture

Then build one complete end-to-end project.


๐Ÿ† Your Final Project

Here's a project that can bring everything together.

Build an application with:

Application

Go REST API

Version Control

Git + GitHub

Containerization

Docker

Infrastructure

Terraform

Cloud

AWS

Orchestration

Kubernetes / EKS

CI/CD

Automated build and deployment

Monitoring

Prometheus + Grafana / CloudWatch

Architecture:

                    Developer
                        โ”‚
                        โ†“
                       Git
                        โ”‚
                        โ†“
                     CI/CD
                        โ”‚
              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
              โ†“                   โ†“
          Docker Build        Terraform
              โ”‚                   โ”‚
              โ†“                   โ†“
          Container           AWS Infra
              โ”‚                   โ”‚
              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                        โ†“
                       EKS
                        โ”‚
                โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                โ†“       โ†“       โ†“
               Pod     Pod     Pod
                โ”‚       โ”‚       โ”‚
                โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                        โ†“
                  Go Application
                        โ”‚
                        โ†“
                     Database
Enter fullscreen mode Exit fullscreen mode

If you can build something like this and explain why every component exists, you've developed a much stronger understanding than someone who simply memorized hundreds of commands.


๐Ÿšจ Don't Make This Mistake

Don't spend the next year collecting certificates without building anything.

Certificates can help.

But projects demonstrate understanding.

Instead of saying:

"I know AWS."

Be able to say:

"I designed and deployed a highly available application on AWS, provisioned the infrastructure with Terraform, containerized the application with Docker, deployed it to Kubernetes, automated the pipeline with Git, and monitored it in production."

That's a much stronger story.


Final Thoughts ๐Ÿš€

Cloud engineering isn't one technology.

It's a combination of skills.

AWS teaches you cloud infrastructure.

Linux teaches you systems.

Git teaches you collaboration.

Docker teaches you containers.

Terraform teaches you infrastructure automation.

Kubernetes teaches you orchestration.

Go teaches you programming for cloud-native systems.

CI/CD teaches you delivery automation.

Observability teaches you how to operate production systems.

And security ties everything together.

Don't try to master all of them tomorrow.

Pick one.

Learn it.

Build something.

Break it.

Fix it.

Then move to the next.

That's how you build a careerโ€”not by collecting technologies, but by learning how they work together.


๐Ÿ’ฌ What's Your Roadmap?

If you had to choose your next skill, what would it be?

AWS โ˜๏ธ

Terraform ๐Ÿ—๏ธ

Kubernetes โ˜ธ๏ธ

Git ๐Ÿ”€

Go ๐Ÿ’ป

Tell me in the comments. ๐Ÿ‘‡

And if you're building your Cloud/DevOps journey right now, save this articleโ€”you'll want to come back to this roadmap.

Keep learning. Keep building. Keep shipping. ๐Ÿš€

Top comments (1)

Collapse
 
artyomsv profile image
Artjoms Stukans

Order is reasonable, but one step is missing between Kubernetes and observability, and this is restore. I learned my own cluster properly only when SSD died and I had to bring four years of it back from 13MB snapshot. Before that I could build everything and recover nothing, which is not same skill. Maybe add small exercise in month 4, break your cluster on purpose and put it back without help.