Understanding DevOps: Development and Growth

·

5 min read

Understanding DevOps: Development and Growth

My DevOps Journey: A Week-by-Week Progress Update

Hello, fellow tech enthusiasts! 🚀

I’m excited to share my journey as I delve into the world of DevOps. Over the past few weeks, I’ve been learning from Abhishek Veeramalla’s "DevOps Zero to Hero" course, and I’ve made some significant progress. Here’s a week-by-week breakdown of what I’ve learned and accomplished.


Week 1: Introduction to DevOps and Cloud Computing

Lecture 1: What is DevOps?

I started with an introduction to DevOps, understanding its purpose and importance in modern software development. Here’s what stood out:

  • DevOps Defined: It’s a culture that promotes collaboration between development and operations teams to automate and improve the software delivery process.

  • Why DevOps?: The primary goal is to shorten the system development life cycle and provide continuous delivery with high software quality.

Watch the full lecture

Lecture 2: Software Development Life Cycle (SDLC)

Next, I explored the SDLC, a process that guides the development of software in a systematic manner. The key stages include:

  • Planning: Defining the project scope and requirements.

  • Designing: Architecting the software structure.

  • Building: Writing and compiling the code.

  • Testing: Ensuring the software functions as intended.

  • Deployment: Releasing the software to production.

Learn more

Lecture 3: Virtual Machines

This lecture introduced me to virtual machines (VMs), essential for running multiple operating systems on a single physical server, which optimizes resources and creates isolated environments.

Explore more

Lecture 4: Cloud Computing with AWS and Azure

I set up my first AWS account and launched an EC2 instance, marking my initial steps into cloud computing. Learning to manage cloud infrastructure on platforms like AWS and Azure was a key takeaway.

Get started with AWS

Lecture 5: Connecting to EC2 Instances from Windows

As a Windows user, I found this lecture particularly helpful. I learned how to connect to an EC2 instance using MobaXterm, which allowed me to run basic Linux commands on a cloud server.

Check out the lecture

Lecture 6: Mastering AWS CLI

The AWS Command Line Interface (CLI) is a powerful tool for managing AWS services directly from the terminal. I learned how to install, configure, and use AWS CLI to handle EC2 instances and S3 buckets efficiently.

Watch the guide


Week 2: Operating Systems, Linux, and Basic Commands

Lecture 7: Introduction to Operating Systems and Linux

This lecture was all about understanding how operating systems work, with a focus on Linux, which is crucial for DevOps. I practiced some basic Linux commands that are essential for any DevOps engineer:

  • Commands Learned: pwd, ls, mkdir, rm, cd, touch, vi, cat, df -h, top.

Learn Linux basics


Week 3: Real-World Projects and Shell Scripting

Lecture 11: AWS Resource Usage Reporting Project

I created a shell script that reports AWS resource usage, including EC2 instances, S3 buckets, Lambda functions, and IAM users. I automated this script using crontab to run daily at midnight, ensuring I always have up-to-date information on my AWS resources.

  • Key Commands: aws ec2 describe-instances, aws s3 ls, aws lambda list-functions, aws iam list-users.

Watch the project tutorial

Lecture 12: Shell Scripting with GitHub API Integration

This lecture was a deep dive into a real-world project where I integrated the GitHub API with shell scripting. I retrieved the names of collaborators for a specific repository, which was both challenging and rewarding.

Learn API integration


Week 4: Git and Version Control

Lecture 13: Version Control with Git

I began learning about different version control systems, with a focus on Git, which is the most popular. I explored:

  • Version Control: The practice of tracking and managing changes to software code.

  • Git Basics: I learned essential commands like git init, ls .git, git status, git diff, git commit -m, git log, and git reset --hard.

Start with Git

Lecture 14: Branching Strategies in Git

This lecture was all about different types of branches in Git, such as Master/Main, Feature, Release, and Hot Fix. I understood how these branches are used in real-world scenarios to manage the development process effectively.

Learn about Git branches


Week 5: Deployment and Practice

Lecture 15: Deploying and Exposing Your First Application on AWS

I deployed and exposed my first application on AWS, which was a major milestone. This involved setting up the environment, configuring services, and making the application accessible over the internet.

Deploy your first app


Bash Scripting Practice

During this period, I also dedicated time to writing and testing various Bash scripts to solidify my understanding. Here are some examples of what I worked on:

  1. Printing Numbers Divisible by 3 or 5 but Not by 15:
#!/bin/bash
for i in {1..20}; do
if ([ `expr $i % 3` == 0 ] || [ `expr $i % 5` == 0 ]) && [ `expr $i % 15` != 0 ]
then
    echo $i
fi;
done
  1. Printing Even Numbers:
#!/bin/bash
for i in {1..20}; do
if [ `expr $i % 2` == 0 ]
then
    echo $i
fi;
done
  1. Printing Multiplication Table of 6:
#!/bin/bash
for i in {1..10}; do
  result=$((6 * i))
  echo "6 * $i = $result"
done

What’s Next?

I’m excited to continue my DevOps journey with more advanced topics and hands-on projects. I’ll keep sharing my progress, insights, and learnings, so stay tuned!

Thank you for following along. I hope this inspires you to start or continue your own DevOps journey. Let’s keep learning and growing together!


Stay Connected:

#DevOps #Linux #AWS #ShellScripting #Git #VersionControl #CloudComputing #LearningJourney #ContinuousImprovement

Â