Introduction to DevOps

Kartik SangalKartik Sangal
3 min read

What is DevOps?


  • DevOps is a culture that is used to deliver projects to clients quickly

  • Nowadays most companies are following this DevOps process/culture

  • DevOps is a set of practices that combines software development & IT operations

  • The main aim of DevOps is to reduce the software development life cycle period and deliver projects to clients quickly

-> Development team members will develop the project by writing code

-> Team members will test the code that developers develop (they will check application code is working as per client requirement)

-> The Operation Team will set up an environment to run our applications and will deliver our application to the client.

By using DevOps culture we can achieve CI CD

  • CI - Continous Integration

  • CD - Continous Delivery

DevOps = Development + Operation


What do we need to learn to become a DevOps engineer?

  • Linux Operating System

  • Shell Scripting

  • Cloud Computing (AWS / Azure / GCP)

  • DevOps Tools (Maven, GitHub, Jenkins, Sonar Qube, Docker, K8S, Ansible, Terraform, ELK)


Roles & Responsibilities of DevOps Engineer :

  • Setup infrastructure required to run our application.

    (Setup servers, databases, LBR etc)

  • Take the code which is done by developers from the “Source code Repository”

    (SVN or GitHub or BitBucket)

  • Build the code using build tools

    (Maven, Gradle)

  • Deploy the code into servers using CI CD tools

    (Jenkins, UDeploy etc)

  • Deliver project to the client


SDLC (Software Development Life Cycle)


  • SDLC stands for Software Development Life Cycle

  • It represents how one project will be developed and delivered

Note: From start to end is called a Life Cycle

SDLC contains several phases :

  1. Requirement Gathering

  2. Analysis

  3. Design

  4. Development

  5. Testing

  6. Deployment

  7. Delivery

SDLC Methodologies


  1. Waterfall Methodology

  • It is the first and foremost methodology used to develop the projects

  • it is a linear methodology

  • If the current step is completed then only we will go to the next step in the waterfall model

When to go for the waterfall model :

  1. If requirements are fixed

  2. If the budget is fixed

  3. For small-scale applications (it is not suitable for large-scale applications)

in today's world business needs to keep on changing every day hence we can't do business with fixed requirements

Note: Client involvement is much less in the waterfall model. The client will see the final project at the end

-> To overcome the problems of waterfall methodology we are using Agile methodology

  1. Agile Methodology

  • It is one of the SDLC methodologies which is trending in the market nowadays

  • It is an interactive approach to develop and deliver the project to clients

  • Agile promoting continuous development & continuous delivery throughout SDLC

This Methodology is going to break project functionality into multiple phases/releases

Eg: The client has given 100 requirements (Duration: 2 years)

The main aim of the DevOps is to reduce SDLC time

-> We have several tools in the market to automate the application delivery process

(Maven, GitHub, Jenkins, SonarQube, Docker, K8S, Ansible, Terraform)

-> Using these tools we are going to set up DevOps practices in our application.

2
Subscribe to my newsletter

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

Written by

Kartik Sangal
Kartik Sangal