Skip to main content

Command Palette

Search for a command to run...

DevOps and Cloud Engineering Learning Path

Updated
5 min read
DevOps and Cloud Engineering Learning Path
K
👋 Hi, I'm Khushi Dubey, a passionate final year BCA student diving deep into the world of Cloud & DevOps. My journey is focused on the intersection of cloud technologies and cutting-edge DevOps methodologies to drive innovation and transformation. 🌍 Here’s a snapshot of who I am: 🚀 Aspiring Cloud/DevOps Professional: Passionate about streamlining processes, automating workflows, and optimizing cloud infrastructures. 💻 Tech Enthusiast: Constantly exploring new tools, trends, and techniques in cloud computing and DevOps engineering. 🎯 Problem-Solver: Dedicated to finding practical and scalable solutions to real-world challenges. ✍️ Lifelong Learner: Continuously improving my skill set to keep pace with evolving technologies and industry demands. 🌐 Collaborator: Believer in the power of teamwork and open knowledge sharing to build a thriving tech community. 📚 Follow my journey as I share insights, tutorials, and hands-on experiences from my Cloud and DevOps

1. Basics of SDLC

Understand how is a software created and where do “DevOps” fall in Software Development Life Cycle.

  • You don't have to get too detailed; just a grasp of software deployment processes and DevOps basics is sufficient.

What is DevOps?

DevOps = Development + Operations

Imagine building a toy in a factory (development) and then delivering it to stores (operations). DevOps is the smooth teamwork between these two — so the toy (or your software) gets made faster, better, and with fewer breakdowns.


2. Operating System (Linux🐧)

As a DevOps engineer, you manage the servers where applications run.

Linux is the go-to choice for servers, and Most DevOps tools are Linux-based; so knowing linux commands helps a lot in server management and handling Devops Tasks.

✏️ Things you can do to practice Linux:

  • Web Server setup

  • Database setup

  • User and Group Management

  • Install Different Devops tools (docker, jenkins, terraform etc)

Popular Linux Distributions: Ubuntu, CentOS, Debian, Arch linux and more.Best way to learn is to have Linux as OS for your laptop, but you can also spin up servers on Cloud, WSL or virtualbox.


3. Scripting/Programming

After you learn the basics of Linux, use your knowledge to create scripts.

✏️ How is scripting used in DevOps

  • Backup Automation

  • Working with APIs

  • Integration with other devops tools

  • System Cleanup Automation

  • Email Notification Script

  • Software Update Automation

  • Log Analysis Automation

  • Network Diagnostics Script

  • Data Transformation Automation

  • User Account Management Script


4. Git for Version Control

Version control, using Git, is important for tracking changes in code, collaborating with teams, ensuring a reliable history of software development, and facilitating essential DevOps practices such as CI/CD, GitOps, and storing Infrastructure as Code (IaC) files.

Git is Important to work as DevOps engineer but also helps if want to make open source contributions 👍


5. Networking & Security 🔐

Network Fundamentals

  • OSI Model - In-depth

  • TCP/IP Protocol Suite

  • Internet Protocols ( HTTP, HTTPS, SSH, SMTP, ICMP, etc)

  • How to analyze network packets using tools such as Wireshark

  • DDOS attack and how to mitigate that

  • CIDR and Subnetting

  • DNS and DHCP

  • Vertical V/s Horizontal Scaling

  • SSL/TLS, symmetric vs asymmetric encryption and how it works :

  • Reverse Proxy V/s Forward Proxy V/s load balancer

  • Troubleshooting application slowness, latency, unavailability etc

  • RAID

  • NAS vs SAN storage

  • SQL vs NoSQL

  • DB Sharding, Caching etc


6. Learn any one Cloud

  • Companies now prefer deploying applications on cloud providers like AWS, Azure, or GCP instead of on-premise. This shift enables organizations to take advantage of the scalability, flexibility, and cost efficiency provided by cloud services.

  • AWS is most popular cloud provider. Other popular ones are Microsoft azure, Google cloud Platform, Oracle cloud etc.

    What should you know as a DevOps Engineer:

    for AWS, you should know the basics of:

  • 1. VPC (Virtual Private Cloud): Create isolated networks.

  • 2. EC2 (Elastic Compute Cloud): Manage virtual servers.

  • 3. S3 (Simple Storage Service): Scalable object storage.

  • 4. RDS (Relational Database Service): Managed databases.

  • 5. IAM (Identity and Access Management): Secure access control.

  • 6. Lambda: Serverless code execution.

  • 7. Route 53: Scalable DNS service.

  • 8. CloudWatch: Monitoring and observability.

  • 9. EKS (Elastic Kubernetes Service): Managed Kubernetes service for container orchestration


7. Microservices and Containerization (Docker)📦

  • Microservices is the new way to deploy applications independently for better scaling and management, and they are packaged in a container. 📦

  • Docker is the most popular container technology.
# Docker Fundamentals
├── Container Basics
├── Dockerfile Creation, Multi-Stage Builds
├── Image Management
├── Docker Compose
├── Container Networking
├── Docker Best Practices
└── Volume Management
How to push and pull docker images in DockerHub

8. Container Orchestration (Kubernetes)

  • When using microservices an application can have hundreds or thousands of containers on multiple servers. Managing, scaling and other operations for these containers require container orchestration tools like Kubernetes.


9. CICD Pipelines

  • CICD is really important to know!!! Because every company deploys software in automated fashion using CICD.

CI = Continuous Integration
CD = Continuous Delivery/Deployment

CI/CD is like a smart robot that checks your code and puts it live automatically!

  • CI/CD Pipeline ensures that each code change, whether introducing new features or fixing bugs, seamlessly integrates into the existing application and deploys continuously and automatically for end-users. This automation streamlines development processes, promotes consistency, and speeds up the delivery of software innovations.

  • Popular CICD tools : Gitlab CI, GitHub Actions, Jenkins, Circle CI.

10. Infrastructure as Code 📃

  • Tools like Terraform and Ansible uses the IaC concept to automate the manual creation and configuration which are time consuming and error prone.

  • Using IAC we code to create and configure infrastructure & there are 2 types of IAC tools:

    1. Infrastructure Provisioning

    2. Configuration Management

  • Benefits of having everything in code -

    Ensures consistency accross different environments (stage, dev, prod)

    Can be stored and version controlled and collaborated.

    Less chances of issues or configuration errors.

    Saves time avoiding to repeat creation and configuration.


11. Monitoring and Logging

  • Once the software is released you need to continuosly monitor it to track performance and discover problems

  • Popular tools used for Observability: Prometheus, Grafana, Cloudwatch, Nagios, ELK etc

Work on Projects 👨‍💻

Now combine everything:

Build an app → containerize with Docker → deploy on Kubernetes → automate with CI/CD → monitor with Prometheus

🛠️ Example Projects:

To-Do app CI/CD pipeline

Dockerize a portfolio website

Deploy a Flask app using Terraform + AWS


Linkedin: https://www.linkedin.com/in/khushi-dubey-6036a2305

Thank You!