Day 1: What is DevOps

What is DevOps ?

It is a cultural practice in an organization by development team and operations team to use each other’s tools, to smooth out the process of software delivery.

DevOps is a work culture primarily centered around collaboration, communication, and integration among the development teams. It was introduced to address the disconnect primarily between the development, operations, and quality assurance teams.

What is automation ?

Automation is the use of technology to perform tasks without human intervention.

Automation can be used to control a wide variety of processes, including manufacturing, transportation, and communication systems.

The goal of automation is to increase efficiency and productivity by reducing the need for human labor.

Automation can be achieved through the use of a variety of technologies, including robots, artificial intelligence, and computer software.

What is Scaling ?

Scaling refers to the process of increasing the capacity or capabilities of a system to meet the demands of a growing user base or workload.

This can involve a variety of measures, such as adding more servers or other resources to the system, implementing load balancing to distribute traffic across multiple servers, and using automation to streamline the process of provisioning and managing resources.

There are two types of scaling:

*Vertical scaling refers to the process of increasing the capacity of a single server or system by adding more resources such as CPU, memory, or storage.

This can be done by upgrading the hardware on the existing server, or by adding additional servers that are connected to the main server in some way.

*Horizontal scaling refers to the process of increasing capacity by adding more servers or systems to a network.

This can be done by adding new servers that are independent of the existing ones, or by using load balancers to distribute traffic across multiple servers.

What is infrastructure ?

Infrastructure refers to the underlying hardware and software resources that are required to support the development, testing, and deployment of software applications.

This can include servers, networks, storage devices, and other hardware, as well as the tools and frameworks that are used to manage and automate these resources.

By using infrastructure as code (IaC) and other automated tools, organizations can more easily provision, manage, and scale their infrastructure to meet the demands of their software development and deployment processes.

This can help to improve efficiency, reduce errors, and enable faster delivery of new features and updates to users.

Why DevOps is Important ?

DevOps aims to bridge the gap between development and operations teams, and to automate many of the processes involved in software delivery.

There are several reasons why DevOps is needed:

  1. Faster delivery of software: By automating the software development and delivery process, DevOps can help organizations to release new features and updates more quickly.

  2. Improved collaboration: DevOps promotes closer collaboration between development and operations teams, which can help to reduce conflicts and improve communication.

  3. Higher quality software: By implementing continuous integration and testing, DevOps can help to identify and fix errors and defects more quickly, resulting in higher quality software.

  4. Greater agility: DevOps enables organizations to more easily adapt to changing requirements and priorities, as they can quickly make and deploy changes to their software.

What are the common technologies used in DevOps?

  1. Version Control System: GIT,GITLAB,CIRCLECI
  1. Configuration Managment Tool: Ansible

  2. Continuous Integration Tools: Jenkins,

  3. Containerization Technologies: Docker

  4. Cloud Provider: AWS

  5. Monitoring Tool: Nagios