Day1:Introduction To Devops

Day1:Introduction To Devops

#90 days of challenge

Table Contents

Define DevOps

  • DevOps is a methodology in the software development and IT industry.

  • DevOps emphasizes the use of automation tools, such as configuration management, continuous integration, and continuous delivery (CI/CD), and infrastructure as code (IaC), to enable faster and more reliable software delivery.

  • It is the methodology of continuously writing the code, integrating, testing, and deploying it to production.

  • It has been widely adopted by organizations of all sizes and across various industries as a way to streamline software development and deployment processes and achieve more reliable and efficient operations.

Importance of DevOps

  • Automation plays a critical role in DevOps (Development Operations) practices, which is a set of software development methodologies that emphasize collaboration, integration, and automation between development and operations teams.

  • Better collaboration between teams.

  • For Easy deployment.

  • Better efficiency and scalability.

  • Errors are fixed at the initial stage.

  • It has more security.

  • Less manual intervention.

  • Deploy faster-50%

What is Automation

  • Automation is the use of technology to perform tasks with reduced human assistance.

  • Automation helps you accelerate processes and scale environments, as well as build continuous integration, continuous delivery, and continuous deployment (CI/CD) workflows

What is scaling

  • Scaling in DevOps is characterized as an automation-driven environment where developers or enterprises can adopt DevOps culture and choose the right technologies to scale their business growth.

  • The idea of using cloud-based technology is to provide agility and scalability to the organizations that use it. This means the server or the computing power needs to go up significantly when required and ramp down when not needed. This in simple terms is called Auto Scaling.

There are 2 types of scaling present,

  1. Horizontal Scaling

  2. Vertical Scaling

Horizontal Scaling:

  • Horizontal scaling is an approach of adding more devices to the infrastructure to increase capacity and efficiently handle increasing traffic demands.

  • As the name says, horizontal scaling is about expanding the capacity horizontally by adding extra servers. The load and processing power are shared among multiple servers within a system using a load balancer. It is also called scaling out.

Vertical Scaling:

  • Vertical scaling is a type of scalability wherein more computing and processing power is added to a machine to increase its performance. Also called scale-up.

  • Vertical scaling allows you to increase the machine’s capacity while maintaining resources within the same logical unit. The processor, memory, storage, and network capacity are increased in this approach. A notable example is buying an expensive machine such as VMware ESXi as a bare-metal hypervisor.

What is Infrastructure

DevOps infrastructure or Infrastructure Automation under DevOps refers to a concept that revolves around the idea of managing infrastructure with the help of code.

Infrastructure Automation is done with the help of certain tools or programs which can help to carry out the tasks automatically! Some of the leading IAC tools are listed below.

  1. Ansible

  2. Terraform

  3. SaltStack

  4. CloudFormation

  5. Azure Resource

  6. Manager

  7. SpectralOps