What Is Devops
What Is Devops
1 2
1 2
DevOps Model
What does DevOps aim for?
Delivery Pipeline & Feedback Loop
• DevOps is a software development approach that aims to
shorten the software development lifecycle and improve the
quality and reliability of software releases.
3 4
3 4
5 6
1
DevOps Working DevOps Working
• DevOps eliminates the “siloed” conditions between the development team and • DevOps is a practice that enables a single team to handle the
operations team.
whole application lifecycle, including development, testing,
• These two teams work together for the entire application lifecycle, from development and test to
deployment to operations, and develop a range of skills not limited to a single function. release, deployment, operation, display, and planning.
• Teams in-charge of security and quality assurance may also integrate more closely with
development and operations over the course of an application’s lifecycle under various
DevOps models. • With the aid of DevOps teams can speed up the delivery of
• These teams employ procedures to automate labor-intensive, manual processes that
applications and services by a business.
were slow in the past. • Amazon, Netflix, and other businesses have all effectively embraced
• They employ a technological stack and tooling that facilitate the swift and dependable operation DevOps to improve their customer experience.
and evolution of apps. A team’s velocity is further increased by these technologies, which also
assist engineers in independently completing activities (such provisioning infrastructure or
delivering code) that ordinarily would have needed assistance from other teams.
7 8
7 8
9 10
11 12
11 12
2
1. Continuous Development 2. Continuous Integration (CI)
• CI is the practice of merging all developers' working
• In Continuous Development code is written in small, copies to a shared mainline several times a day.
continuous bits rather than all at once. Automated tests are run to ensure that the codebase
• Continuous Development is important in DevOps because this is always in a stable state. CI helps in detecting
improves efficiency every time a piece of code is created, it is integration issues early in the development process.
tested, built, and deployed into production. • In DevOps Continuous Integration involves mainly
• Continuous Development raises the standard of the code and in 4 stages that are the flow of Continuous
streamlines the process of repairing flaws, vulnerabilities, and Integration. The stages are:
defects. 1.Getting the SourceCode from SCM
• It facilitates developers’ ability to concentrate on creating high- 2.Building the code
quality code. 3.Code quality review
4.Storing the build artifacts
13 14
13 14
15 16
15 16
Continuous Deployment (CDep): is the process of automatically Continuous Delivery (Cdel): is the process of deploying an
deploying an application into the production environment when application into production servers manually when it has
it has completed testing and the build stages. completed testing and the build stages.
Here, everything is automated, from obtaining the application’s Here, the continuous integration processes is automated,
source code to deploying it. however, manual involvement is still required for deploying it to
the production environment.
17 18
17 18
3
5. Continuous Monitoring 6. Continuous Feedback
• By continuous monitoring, the DevOps team can continuously monitor • As the application is released into the market and end users use it, they give
and can get notified before anything goes wrong feedback about the performance of the application and any glitches affecting the
user experience.
• Continuous Monitoring can be achieved with the help of software like;
Prometheus and Grafana. • After getting multiple feedback from the end users’ the DevOps team analyzes
the feedbacks given by end users and they reach out to the developer team.
• Prometheus is an application used for event monitoring and alerting.
• Grafana is a powerful tool for DevOps teams, helping to monitor, visualize, and • The developer team tries to rectify the mistakes and by this this can
understand the vast amount of data generated by their systems and applications reduce/remove the errors or bugs.
• Prometheus helps gather many performance measures, including CPU and memory • Continuous Feedback can increase the performance of the application and
utilization, network traffic, application response times, error rates, and others. reduce bugs in the code making it smooth for end users to finally use the
• Grafana makes it possible to visually represent and keep track of data from time application.
series, such as CPU and memory utilization.
19 20
19 20
21 22
What is Jenkins
• Jenkins is an open-source automation server widely used in the
DevOps lifecycle to automate the building, testing, and
Jenkins deployment of software.
• It helps developers integrate changes to projects more easily and
provides a way to continuously deliver software by integrating with
a vast number of testing and deployment technologies.
23 24
23 24
4
Jenkins Pipeline
• A Jenkins Pipeline is a suite of plugins that supports implementing and
integrating continuous delivery pipelines into Jenkins.
• It defines the stages of the pipeline (e.g., build, test, deploy) using a domain-
specific language (DSL).
• Jenkins Pipelines enable the automation of the entire ‘Continuous Integration’
Key Features and Components of
and ‘Continuous Delivery’ (CI/CD) process in a scriptable way, ensuring that the
pipeline is versioned alongside the application code. Jenkins
25 26
25 26
27 28
27 28
29 30
29 30
5
Integration with Other Tools
User Interface & Configuration
• Jenkins provides a web-based user interface for managing the • Jenkins integrates seamlessly with a wide array of development,
server, configuring jobs, and viewing build results. testing, and deployment tools, making it a versatile choice for
• The interface is user-friendly and offers various views and implementing CI/CD pipelines.
dashboards to monitor the status of jobs and pipelines. • It supports integrations with version control systems like Git,
Subversion, and Mercurial, build tools like Maven and Gradle, and
deployment tools like Kubernetes and Docker.
31 32
31 32
What is Docker
• Docker is an open-source platform that enables developers to
automate the deployment, scaling, and management of
applications inside lightweight, portable containers.
• Containers package an application and its dependencies
together, ensuring that it runs consistently across different
Docker environments.
33 34
33 34
35 36
35 36
6
Key Features and Components of Docker Key Features and Components of Docker
• Docker Images • Dockerfile
• Docker images are read-only templates used to create containers. • A Dockerfile is a text file that contains a series of instructions on how to
build a Docker image.
• An image includes the application and its dependencies.
• It automates the creation of Docker images by specifying the base image,
• Images can be built from scratch or derived from existing images using application code, dependencies, and any additional configuration
Dockerfiles, which are scripts that specify the steps to create an image. required.
37 38
Questions
39 40
39 40