# 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*](https://lnkd.in/eNUDW_wR)

### **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*](https://lnkd.in/edkg7PKd)

### **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*](https://lnkd.in/gVWqYA37)

### **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*](https://lnkd.in/gimYrHj2)

### **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*](https://lnkd.in/gXFiEdR4)

### **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*](https://lnkd.in/g4HYzpYs)

---

## **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*](https://lnkd.in/ghVAgHjw)

---

## **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*](https://youtu.be/gx5E47R9fGk?si=QiQAqTlSdMGehtqP)

### **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*](https://youtu.be/OuyNM5-r8P8?si=fQBa5Bmg8liyBIk9)

---

## **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*](https://git-scm.com/downloads)

### **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*](https://youtu.be/MCyvYT8FS5w?si=xAB0QLLRga763ZcQ)

---

## **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*](https://youtu.be/NLmF64KdLN0?si=ogmdLfD1lBuw2CuO)

---

## **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**:
    

```bash
#!/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
```

2. **Printing Even Numbers**:
    

```bash
#!/bin/bash
for i in {1..20}; do
if [ `expr $i % 2` == 0 ]
then
    echo $i
fi;
done
```

3. **Printing Multiplication Table of 6**:
    

```bash
#!/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](https://www.linkedin.com/in/amitabh-soni)
    
* **GitHub:** [Check out my projects](https://github.com/Amitabh-DevOps)
    

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