Table of contents
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.
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.
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.
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.
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.
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.
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
.
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
.
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.
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
, andgit reset --hard
.
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.
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.
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:
- 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
- Printing Even Numbers:
#!/bin/bash
for i in {1..20}; do
if [ `expr $i % 2` == 0 ]
then
echo $i
fi;
done
- 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:
LinkedIn: Connect with me
GitHub: Check out my projects
#DevOps #Linux #AWS #ShellScripting #Git #VersionControl #CloudComputing #LearningJourney #ContinuousImprovement