DevOps - introduction
What is DevOps?
The word “DevOps” was first coined in 2009 by Patrick Debois. DevOps is a culture that is adopted by an organization to collaborate the work of the Development and the Operations teams. DevOps practices help to deliver a product to the customer faster and in a more accurate way than the traditional approach. DevOps practices encourages collaboration and the communication between the teams which by default increases the quality of the product delivered. This culture encourages engineers to automate the manual tasks using various tools like Jenkins for automating ci/cd process, Ansible used for configuration management, Terraform it automates the infrastructure using a code.
What is Automation, Scaling, and Infrastructure in DevOps?
Automation is a process where a specific task which was repetitive is completed with minimum manual effort. Once the automations scripts are created the engineers are only responsible to run the scripts, make few changes over the changing features. It not only reduces time to deliver a specific task it also reduces the chances of human errors. For example, using terraform which is Infrastructure as a Code the whole infrastructure can be created in any cloud environment by just a click.
Scaling ensures the application is running fine in its peak hours also in low demand hours. So, if we allocate resources sufficient for peak hours at the time of creation of the infrastructure then extra resources will be wasted in the non-peak hours. To solve this problem scaling was introduced with the help of horizontal scaling we can increase the number of servers and with vertical scaling we can increase the server’s capacity.
Infrastructure signifies the platform where the software is implemented and delivered seamlessly to the customer. Infrastructure includes operating systems(mainly Unix is used),servers (virtual or physical), databases, networking components, load balancers, security groups and many more other components which are important for the application delivery. Infrastructure can be provisioned by various tools like IaaC (Terraform), configuration management tool (Ansible). Also the usage of cloud platforms like AWS, Azure, GCP can be an integral part of the infrastructure deployment.
Why DevOps is important?
Below are the few perks of using DevOps methodologies in the organizationà
Faster, better product delivery.
Faster issue resolution and reduced complexity.
Greater scalability and availability. Auto-scaling is also used to automate the scaling process.
More stable operating environments.
Better resource utilization.
Greater automation.
Greater visibility into system outcomes.
Greater innovation.