What is DevOps?
DevOps culture is a set of practices that reduce the barriers between developers and operations. It can also be said as an extension of Agile technology.
DevOps practice includes a set of processes and tools that provide rapid, scalable and reliable software delivery. It allows organizations to serve their customers better and compete more strongly in the market. There are four basic continuous processes in DevOps:
Continuous Integration
Continuous Delivery
Continuous Testing
Continuous Monitoring
DevOps Lifecycle
Since DevOps is a deep integration between development and operations understanding DevOps is not possible without knowing DevOps life cycle. Here is brief information about the Continuous DevOps life-cycle:
Development: In this stage development of software takes place constantly. The entire development process is separated into small development cycles. This benefits DevOps team to speed up the software development and delivery process.
Testing: QA team uses tools like Selenium to identify and fix bugs in the new piece of code.
Integration: In this stage, new functionality is integrated with the prevailing code, and testing takes place.
Deployment: In this phase, the deployment process takes place continuously. It is performed in such a manner that any changes made at any time in the code, should not affect the functioning of high-traffic applications.
Monitoring: In this phase, the operation team will take care of the inappropriate system behavior or bugs which are found in production.
There are multiple tools required in each stage to perform all the operations successfully.
Popular Tool for DevOps Automation:
Git: Version Control System tool
Jenkins: Continuous Integration tool
Python, Selenium: Continuous Testing tool
Ansible: Configuration Management and Deployment tools
Docker: Containerization tool
Kubernetes: Container orchestration tool
Terraform: Infrasturucture as code
Prometheus, Graffana: Continuous Monitoring tool
What is automation,scaling and infrastructure?
Automation: It is the use of technology to perform tasks with reduced human assistance. Any industry that encounters repetitive tasks can use automation, but automation is more prevalent in the industries of manufacturing, robotics, automotives as well as in the world of technology.
Scaling: Software scalability is a measure of how easy it is to grow or shrink a piece of software. In many cases, it refers to the software’s ability to handle increased workloads while adding users and removing them with minimal cost impact. Often software scalability also refers to the software’s ability to perform and support growing amounts of data.
Infrastructure: It defines the formation of an organization with facilities to operate the whole working system without any exceptions. In DevOps, it refers to the hardware and software components that support the development, testing, and deployment of software applications. This includes servers, storage devices, networking equipment, VMs, containers.
Importance of DevOps
Continuous delivery of software
Better collaboration between teams
Easy deployment
Better efficiency and scalability
Errors are fixed at the initial stage
More security
Less manual intervention (which means fewer chances of error)
#90daysofdevops#trainwithshubham