Day-1: Introduction to DevOps ♾️

Day-1: Introduction to DevOps ♾️

Day 1 TASK

What is DevOps?

DevOps is a culture or DevOps is a software development approach that emphasizes collaboration and communication between development and operations teams to improve the speed and quality of software delivery.

It involves automating processes, tools, and infrastructure for continuous delivery and deployment.

What is Automation?

Automation is the use of technology to perform tasks and reduce human error. The goal is to enhance efficiency, reduce erros, and accelerate processes use of various technologies, software, artificial intelligence and robotics.

What is scaling?

Scaling in the context of software development refers to the ability of a system or application to handle increased load or demand effectively without sacrificing performance, reliability, or user experience.

There is two primary types of scaling.

  1. Horizontal scaling: horizontal scaling involves adding more servers to a system to increase capacity by distribution of traffic across multiple servers.

  2. Vertical scaling: vertical scaling involves adding resources like CPU, memory, storage of single server to handle increased load.

What is infrastructure?

Infrastructure refers to the foundational components, facilities, and systems that support the operations of an organisation.

This can includes hardware, software, networks.

Why DevOps is important?

▸Greater Scalability and availability
▸ Improved deployment frequency
▸Great Automation
▸Enhanced Recovery time
▸Improved Security
▸Monitoring
▸Early error detection
▸Production support

What is DevOps-CAMS model?

CAMS stands for Culture, Automation, Measurement, and Sharing.

  1. Culture: A culture of collaboration and continuous improvement is essential for successful DevOps implementation

  2. Automation: Automation involves using tools and scripts to automate manual and repetitive tasks. Automation increases efficiency, reduces human error, and accelerates the software development lifecycle. It enables rapid, reliable, and consistent delivery of applications.

  3. Measurement: Measurement is all about monitoring and gathering data and matrics the progress of various activities involved in the DevOps process.

  4. Sharing: Sharing facilitates learning and encourages a culture of continuous improvement. It breaks down silos between teams, promotes cross-functional collaboration, and accelerates the adoption of best practices.

DevOps Lifecycle

  1. Plan: Define the goals of the software development and plan the tasks required to achieve those goals. Requirement gathering, analysis, and Project planning. Plan tools Jira, Basecamp.

  2. Code: Developers write and commit code to version control systems. Code tools Git, GitHub.

  3. Build: Commit the code into the shared code repository Automated build tools Jenkins, Maven, Gradle

  4. Test: Verify that the code functions as intended and identify and fix any defects. Do testing like Unit testing, Integration testing, etc. Test tools JUnit, selenium.

  5. Release: The build is ready to deploy on the production environment at this phase. Once the build passes all tests, the operations team schedules the releases or deploys multiple releases to production, depending on the organizational needs. Release tool Jenkins

  6. Deploy: Deploy the application to a staging or production environment. Automated deployment Deploy tools Jenkins, Ansible, and Docker.

  7. Operate: The release is live now for use by customers. Monitor and maintain the deployed application in production. Operate tool Nagios.

  8. Monitor: The DevOps pipeline is monitored based on data collected from customer behavior, application performance, etc. Monitoring tools Prometheus, Grafana, Nagios.

_Wow! You are at the end, if it is helpful please do follow ➕ and like to support.💚

_Thank you for reading. 📖

_Jay