Introduction To DevOps And Azure DevOps

This article will provide you with the basics about DevOps and Azure DevOps as a one-time solution.

Introduction

 
This article will cover the following things.
  • What is Devops?
  • Shortcomings of the traditional way
  • Result - Wall of Confusion
  • Why is DevOps needed?
  • How is DevOps different from Agile?
  • DevOps Principles
  • DevOps Categories
  • One Solution – Azure DevOps

What is DevOps?

 
DevOps is a “culture which promotes collaboration between Development and Operations Team to deploy code to production faster in an automated & repeatable way”.
Introducing DevOps And Azure DevOps

Shortcomings of the traditional way

  • Development and operation teams used to work in complete isolation.
  • Teams used to spend a big amount of their time in deploying instead of development of the project.
  • Manual code deployment ~ human errors in production
  • Coding & operation teams have their separate timelines and are not in sync and cause the delay.

Result - Wall of Confusion

 
With all the shortcomings mentioned above, there is always a wall of confusion between dev and operation team which results in “Failure”.
Introducing DevOps And Azure DevOps 

Why is DevOps needed?

  • Allows teams to implement Continuous Integration and Continuous Delivery
  • Provides Predictability by offering a lower failure rate of releases
  • Provides resiliency by keeping the app more stable and secure
  • Helps the team to provide quality as it captures infrastructure issues.

How is DevOps different from Agile?

 
Typical IT Process
 
It gives us a picture of our typical IT process which consists of three teams – Requirement gathering team, development and testing team along with a separate operation team
Introducing DevOps And Azure DevOps 

Agile Implementation

It gives us a picture of our typical IT process with an agile implementation where there is a clear communication between the requirement gathering team and development and the testing team (where BA is sitting with the team rather than creating a SRS and leave forever) along with a separate operation team
Introducing DevOps And Azure DevOps 

Devops Implementation

 
It gives us a picture of our typical IT process with an agile implementation where there is a clear communication between a requirement gathering team and a development and operation team (where DevOps / Ops person is sitting with the team rather than sitting on another floor and taking a whole day to get development code to production) along with a separate requirement gathering team
Introducing DevOps And Azure DevOps 

DevOps Principles

  • End-To-End Responsibility
  • Continuous Delivery
  • Automate everything
  • Monitor everything

DevOps Categories

  • Infrastructure Automation
  • Configuration Management
  • Deployment Automation
  • Performance Management
  • Monitoring

Infrastructure Automation

“It’s a capability of providing more servers based on traffic automatically, no hardware cost up-front.”
Introducing DevOps And Azure DevOps
Configuration Management
 
“It’s a process of scripting environments — from installing an operating system to installing servers on instances; i.e. environment configuration as a script.”
Introducing DevOps And Azure DevOps

Deployment Automation

“It’s a process of providing continuous integration and testing along with finding issues as soon as a build is deployed”
Introducing DevOps And Azure DevOps

Performance Management

“It’s a process of offering real-time performance monitoring which eventually helps developers to debug when issues occur."
Introducing DevOps And Azure DevOps

Monitoring

“It’s a process of being notified when infrastructure and related services go down.”
Introducing DevOps And Azure DevOps

One Solution – Azure Devops

 
It gives us an effortlessness of deploying an API into the cloud by using best practices like infrastructure as code using ARM
 
Introducing DevOps And Azure DevOps
 
Stay tuned for the next series of articles which will cover a deep dive into Azure Devops.
 
Happy learning!