Day-1                      Introduction to DevOps

Day-1 Introduction to DevOps

DevOps is a combination of two words i-e Development and Operations.

Development Team consists of people who write code and create applications while the Operations Team consists of people who Build, Deploy and make sure that code is passing from different test cases before passing it to the end user.

DevOps is a mindset, Set of Rules and Procedures or Methodology through which the application/code written by your Developer is passed through Build, Test, Deploy, Monitor, Scabale and Manaintance by the Operations Team before going to Production.

Through these sets of Rules and practices, both Operations Team and Development Team collaborate.


Process In DevOps


Following are the steps involved in DevOps:

  1. Idea and Plan on which the team of developers is going gather information and then Plan how much resource is required to complete the job.

  2. Code, in this step the team of developers will start writing the code from the initial stage to the final stage of the application. Developers push their code to the GitHub repository so it can be easy for everyone to access.

  3. Build, Test and Release, in this part, the code is build and it is then pass through different test phases and then Release to Production

  4. Deployment, In this stage the application will be deployed on the client end along with all the dependencies.

  5. Operate and Monitor, in this stage we do maintenance and monitoring of the application with help of Prometheus and Grafana.


DevOps Tools


Following are the tools we use in DevOps:

  1. Linux is Open Source and 91% of the applications are running on Linux as it allows multitasking and multi-user with a very powerful shell. It doesn't need any Antivirus as it is highly secure.

  2. Git & GitHub is a Version Control System and a platform for collaboration

  3. Docker is used for Virtualization and it is very lightweight and it also allows reusability.

  4. Docker Swarm With Docker you only do Virtualization but to run it on the Production Level you use Docker Swarm

  5. Jenkins, You build CI/CD Pipelines with Jenkins. CI/CD Stands for Continous Integration and Continuous Deployment. The following are the steps involved in Jenkins:

    • Build

    • Test

    • Deploy

  6. Kubernetes It is a container orchestration Tool that allows Auto scaling and auto healing for containers

  7. Cloud Service Providers We have different Cloud Service Providers but for this course, we will go with AWS

  8. Infrastructure As Code There are 2 parts:

    • Provisioning which consists of Terraform and Cloud Formation

    • Configuration Management which consists of Ansible and Chef

  9. Grafana With help of this you monitor the performance of the application

What is Automation?

It is a practice of using a specialized software tools and methodlogies to automate repetitive and manual tasks throughout the Software Development Lifecycle.

What is Scaling?

It is automation driven environment where developers or companies can adopt the devops culture and choose the right technologies to scale the business growth whenever required.

What is Infrastructure?

It is a concept which revolves around the idea of managing the infrastructure with help of code (IaC), It can be done by writing a piece of code to setup whole infrastructure examples are Teraforrm, Cloud Formation.

Why DevOps is important?

It is important as it is a approach by both Software Team and Operations Team which enables faster development of apps and easier maintenance of existing deployments