Change of plans

Sahal ImranSahal Imran
2 min read

In my recent blogs I shared my daily progress on my Linux journey, and I found myself in what’s called Tutorial Hell, so I took some time to come up with a new plan for learning DevOps I recently started learning about Golang and I am thinking about learning more about it and while doing so I am planning to learn about DevOps along with development,
so, here’s the plan:

Phase 1: Build and Deploy Locally

  • 1.1 Setting Up Your Environment

  • 1.2 Creating a Simple Go Application

  • 1.3 Building the Application

  • 1.4 Deploying Locally

    Phase 2: Automate Build and Deployment with Jenkins

    • 2.1 Installing Jenkins

    • 2.2 Creating a New Jenkins Job

    • 2.3 Configuring Source Code Management

    • 2.4 Setting Up Build Steps

    • 2.5 Deploying the Application

Phase 3: Set Up Development and QA Environments

  • 3.1 Creating a QA Server

  • 3.2 Modifying Jenkins Configuration

  • 3.3 Deploying to Dev and QA

Phase 4: Implement Stage Gate for QA Deployment

  • 4.1 Configuring Manual Approval in Jenkins

  • 4.2 Notifying the Dev Manager

Phase 5: Integrate Unit Testing

  • 5.1 Writing Unit Tests

  • 5.2 Pushing Code to GitHub

  • 5.3 Setting Up Jenkins to Run Tests

Phase 6: Integrate SonarQube for Static Code Analysis

  • 6.1 Installing SonarQube Locally

  • 6.2 Configuring SonarQube

  • 6.3 Integrating SonarQube with Jenkins

Phase 7: Transition to AWS EC2

  • 7.1 Creating EC2 Instances

  • 7.2 Deploying SonarQube on EC2

  • 7.3 Modifying Jenkins Jobs for Cloud Deployment

Phase 8: Adopt Cloud-Native DevOps with AWS Services

  • 8.1 Setting Up AWS CodeCommit

  • 8.2 Configuring AWS CodePipeline

  • 8.3 Using AWS CodeDeploy

Phase 9: Infrastructure as Code (IaC)

  • 9.1 Choosing Between Ansible or Terraform

  • 9.2 Installing Terraform

  • 9.3 Writing Terraform Scripts

  • 9.4 Deploying Infrastructure with Terraform

Phase 10: Containerization with Docker

  • 10.1 Installing Docker

  • 10.2 Creating a Dockerfile

  • 10.3 Building and Running Docker Containers

  • 10.4 Running Jenkins in Docker

Phase 11: Cloud Containerization with Amazon EKS

  • 11.1 Learning Kubernetes Basics

  • 11.2 Installing eksctl

  • 11.3 Creating an EKS Cluster

  • 11.4 Deploying Your Application to EKS

  • 11.5 Exposing Your Application

I do believe this might be somewhat more optimistic approach of learning something new while not following the traditional way of learning DevOps along with learning Development, but I do think this could work more than the traditional way.

0
Subscribe to my newsletter

Read articles from Sahal Imran directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Sahal Imran
Sahal Imran