In this blog, we will take a leap into the world of DevOps and learn some basic terms used in it.
Let’s understand with the example.
A developer writes some code and moves to QA. The QA raises the bug and sent back to the developer. After a successful back and forth process between dev and QA. The code is deployed to the environment. This is a long process. And still, if the code fails at production by any of reasons. Again cycle move from Dev to QA and then deploy. In order to save time, faster execution of the process. The DevOps comes into the picture.
DevOps team works along with developer team. There are only two goals
– New feature created and tested at a faster rate.
– Stability of system (operation) while ready to deploy new changes.
Let’s say, during latest deployment broke something in production. We need some automated monitoring that can detect a problem and notify team with the issue.
So that problem solves as soon as possible. So that end users don’t face any problem.
The team does rollback by deploying the previous working version within some minutes.
An hour later, Dev team fixed the issue with the new code. And we immediately deploy the fixed version with the new code.
In order to understand better. We have to understands the following terms. What
Automating the build means building artifacts automatically. Artifacts like jars, docker images, etc.
Different team members integrate their code continuously. Each integration will trigger the automated build process to check whether the functionality of the existing product has not been affected by recent changes.
Continuous Delivery and Continuous Deployment
Continuous Delivery is to deliver change in the code including new features, configuration changes or bug fixes into production. Continuous deployment is the aftermath of continuous delivery: Every change that passes the automated tests is deployed to production automatically.
Infrastructure as Code
It means provisioning of resources like instance, database, servers etc via a code.
It means managing and configuring the memory, storage and network using DevOps tools.
Provisioning and de-provisioning of resources.
Collection and presentation of data in order to check about the performance and stability of services and infrastructure.