Lecture 1 Introduction to DevOps
Lecture 1 Introduction to DevOps
1
Contents
• DevOps
• DevOps Lifecycle
• DevOps Tools
2
DevOps
DevOps stands for Development and Operations.
DevOps helps you to reduce the disconnection between software developers, quality
assurance (QA) engineers, and system administrators.
3
DevOps (Cont.)
It’s a practice that aims at merging development, quality assurance, and operations
(deployment and integration) into a single, continuous set of processes.
4
DevOps Advantages
Higher speed and quality of product releases.
• DevOps speeds up product release by introducing continuous delivery, encouraging faster feedback, and
allowing developers to fix bugs in the system in the early stages. Practicing DevOps, the team can focus on
the quality of the product and automate a number of processes.
• Adopting new DevOps technology into the industries is hard to manage in short time.
6
DevOps Architecture
• Architecture
7
DevOps Components
• There are the various components are continues process.
8
DevOps Component (cont.)
• Plan
• DevOps use Agile methodology to plan the development. With the operations and development
team in sync, it helps in organizing the work to plan accordingly to increase productivity.
• Code
• The code can be appropriately arranged in files, folders, etc. And they can be reused. Many good
practices such as Git enables the code to be used, which ensures writing the code for business.
9
DevOps Component (cont.)
• Build
• In DevOps, the usage of cloud, sharing of resources comes into the picture, and the build is
dependent upon the user's need, which is a mechanism to control the usage of resources or
capacity. Means to execution.
• Test
• A quality assurance team sets committed code testing using automation tools like Selenium, Junit
etc. If bugs and vulnerabilities are revealed, they are sent back to the engineering team. The
application will be ready for production after testing.
10
DevOps Component (cont.)
• Monitor
• Continuous monitoring is used to identify any risk of failure. Also, it helps in tracking the system
accurately so that the health of the application can be checked. The monitoring becomes more
comfortable with services where the log data may get monitored through many third-party tools
such as Splunk, Nagian.
• Deploy
• Many systems can support the scheduler for automated deployment. The cloud management
platform enables users to capture accurate insights and view the optimization scenario, analytics
on trends by the deployment of dashboards.
11
DevOps Component (cont.)
• Operate
• The teams operate in a collaborative way where both the teams actively participate throughout
the service lifecycle. The operation team interacts with developers, and they come up with a
monitoring plan which serves the IT and business requirements.
• Release
• Deployment to an environment can be done by automation. But when the deployment is made to
the production environment. Means to integrate
12
DevOps Lifecycle
Continuous Development
• This phase involves the planning and coding of the software. The vision of the project is decided
during the planning phase. And the developers begin developing the code for the application.
There are no DevOps tools that are required for planning, but there are several tools for
maintaining the code.
13
DevOps Lifecycle (Cont.)
Continuous Integration
• This phase involves the build and coding of the software. The code supporting new functionality is
continuously integrated with the existing code. The updated code needs to be integrated
continuously and smoothly with the systems to reflect changes to the end-users.
• Whenever there is a change in the Git repository, then Jenkins fetches the updated code and
prepares a build of that code, which is an executable file in the form of war or jar. Then this build
is forwarded to the test server or the production server.
• Jenkins is a popular tool used to automate this phase.
14
DevOps Lifecycle (Cont.)
Continuous Testing
• This phase, where the developed software is continuously testing for bugs. For constant testing,
automation testing tools such as TestNG, JUnit, Selenium, etc are used. These tools allow QAs to
test multiple code-bases thoroughly in parallel to ensure that there is no flaw in the functionality.
15
DevOps Lifecycle (Cont.)
Continuous Monitoring
• Monitoring is a phase that involves all the operational factors of the entire DevOps process, where
important information about the use of the software is recorded and carefully processed to find
out trends and identify problem areas. Usually, the monitoring is integrated within the operational
capabilities of the software application.
• The system errors such as server not reachable, low memory, etc are resolved in this phase. It
maintains the security and availability of the service.
16
DevOps Lifecycle (Cont.)
• Continuous Feedback
• The application development is consistently improved by analyzing the results from the operations
of the software. This is carried out by placing the critical phase of constant feedback between the
operations and the development of the next version of the current software application.
17
DevOps Lifecycle (Cont.)
• Continuous Deployment
• In this phase, the code is deployed to the production servers. Also, it is essential to ensure that
the code is correctly used on all the servers.
• Here are some popular tools which are used in this phase, such as Chef, Puppet, Ansible,
and SaltStack.
18
DevOps Lifecycle (Cont.)
• Continuous Operations
• Its last phase where all DevOps operations are based on continuity with complete automation of
the release process and allow the organization to accelerate the overall time to market
continuingly.
19
DevOps Tools
• Some most popular DevOps tools
20
DevOps Engineers
• DevOps Engineer is an IT professional who works with system operators, software developers, and
other production IT staff to administer code releases.
21
DevOps Engineer Roles and
Responsibilities
• DevOps engineers work full time.
• DevOps engineer understands the software development lifecycle and various automation tools for
developing digital pipelines.
• They are responsible for the production and continuing maintenance of a software application platform.
• DevOps should have the soft skill of problem solver and a quick learner.
• Able to perform system troubleshooting and problem-solving across the platform and application domains.
• Ensuring the critical resolution of system issues by using the best cloud security solution services. 22
Thanks
…?
23