Introduction to DevOps

Introduction to DevOps

Day 01: Introduction to DevOps

What is DevOps ?

Devops is a software development methodology which improves the collaboration between developers and operations team using various automation tools. These automation tools are implemented using various stages which are a part of the Devops Lifecycle

Why DevOps Is Important?

Although, the software quality was improved. We still had a lack of efficiency among the development team. A typical software development team consists of Developers and Operations employees. Let us understand their job roles .A developer’s job is to develop applications and pass his code to the operations team .The operations team job is to test the code, and provide feedback to developers in case of bugs. If all goes well, the operations team uploads the code to the build servers. The developer used to run the code on his system, and then forward it to operations team. The operations when tried to run the code on their system, it did not run! But, the code runs fine on the developer’s system and hence he says “It is not my fault!” .The operations then marked this code as faulty, and used to forward this feedback to the developer .This led to a lot of back and forth between the developer and the operations team, hence impacted efficiency.This problem was solved using Devops!

What is Automation?

DevOps is a set of practices that works to automate and integrate the processes between software development and IT teams, so they can build, test, and release software faster and more reliably. DevOps automation scripts are the tools used to automate the DevOps processes, allowing developers to focus on their core tasks and speed up software delivery.

These automation scripts ensure fast testing and deployment of the software in a consistent, reliable, and repeatable way. With DevOps automation, organizations can reduce their marketing duration, improve software quality, and streamline other activities.

What is Scaling?

Auto Scaling allows your application to always have the compute capacity needed and reduces the need to manually monitor server capacity. You can autoscale based on incoming requests (front-end) or number of jobs in the queue and how long jobs have been in the queue (back-end).

DevOps Lifecycle :-

Continuous Development ->This stage involves committing code to version control tools such as Git or SVN for maintaining the different versions of the code, and tools like Ant, Maven, Gradle for building/ packaging the code into an executable file that can be forwarded to the QAs for testing. Ex:- GIT

Continuous Integration ->The stage is a critical point in the whole Devops Lifecycle. It deals with integrating the different stages of the devops lifecycle, and is therefore the key in automating the whole Devops Process EX:- Jenkins

Continuous Deployment-> In this stage the code is built, the environment or the application is containerized and is pushed on to the desired server. The key processes in this stage are Configuration Management, Virtualization and Containerization . Ex:- Docker

Continuous Testing->The stage deals with automated testing of the application pushed by the developer. If there is an error, the message is sent back to the integration tool, this tool in turn notifies the developer of the error. If the test was a success, the message is sent to Integration tool which pushes the build on the production server. EX:- selenium

Continuous Monitoring->The stage continuously monitors the deployed application for bugs or crashes. It can also be setup to collect user feedback. The collected data is then sent to the developers to improve the application.Ex:- Nagios

Devops#devops,#90daysofDevOps

Thank you for reading!! I hope you find this article helpful!!

if any query or if any correction to be done in this blog please let me know.

Happy Learning!!

Saikat Mukherjee

Did you find this article valuable?

Support Saikat Mukherjee's blog by becoming a sponsor. Any amount is appreciated!