Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 22

TECHNICAL SEMINAR

On

DevOps
Bachelor Of Technology

In

Computer Science And Engineering

ELLENKI COLLEGE OF ENGINEERING ANDTECHNOLOGY


(Approved by AICTE, New Delhi , Affiliated to JNT University , Hyderabad)
Accredited by NAAC, Recognisation of 2(f) by UGC, ISO 9001:2015 certified
Patelguda (V), near BHEL, Ameenpur (M), Sangareddy(Dist)5022319,T.S.

Presented by
A.Archana
19TU1A0515

1|Page
TECHNICAL SEMINAR

On

DevOps
Bachelor Of Technology

In

Computer Science And Engineering

ELLENKI COLLEGE OF ENGINEERING AND TECHNOLOGY


(Approved by AICTE, New Delhi , Affiliated to JNT University , Hyderabad)
Accredited by NAAC, Recognisation of 2(f) by UGC, ISO 9001:2015 certified
Patelguda (V), near BHEL, Ameenpur (M), Sangareddy(Dist)5022319,T.S.

HEAD OF THE DEPARTMENT


Dr.Mahaboob sharief

2|Page
ABSTRACT

DevOps word in itself is a combination of two words one is Devolopment and


other is Operations. It is neither an application nor a tool; instead, it is just a
culture to promote Development and Operation process collaboratively. As a
result of DevOps implementation, the speed to deliver applications and servi-
-ces has increased.

DevOps enables organizations to serve their customers strongly and better in


the market. In other words, we can say that DevOps is the process of alignment
of IT and development operations with better and improved communication.

In DevOps, the operations team have a complete idea of the progress of devel-
-opment. Operations team and development team and work together to develop
a monitoring plan that caters to the current business, and IT needs.

Fig:- DevOps

3|Page
1.INTRODUCTION

1.1 Introduction

Devops word in itself is a combination of two words one is Development and


other is Operations. It is neither an application nor a tool; instead, it is just a
culture to promote Development and Operation process collaboratively.

DevOps promotes collaboration between Development and Operations team


to deploy code to production faster in an automated & repeatable way.

DevOps helps to increase organizations speed to deliver applications and


Services. It also allows organizations to serve their customers better and
Compete more strongly in the market. Devops can also defined as a sequence
Of development and IT operations with better communication and
collaboration.

1.2 History

 In 2009, the first conference named DevOps day was held in


Ghent Belgium. Belgium consultant and Patrick Debois founded
the conference.
 In 2012, the state of DevOps report was launched and conceived
by Alanna Brown at puppet.
 In 2014,the annual state of DevOps report has published by Nicole
Forsgren, Jez Humble,Gene Kim, and others. They found DevOps
Adoption was accelerating in 2014 also.
 In 2015, Nicole Forsgren, Jez Humble and Gene Kim founded
DORA (DevOps Research and Assignment).

4|Page
1.3 What is DevOps?
The word DevOps is a combination of two words Development and operation
Before getting into what DevOps is, let us get an idea about the two teams involved in
software development. The development team is responsible for developing,
designing, and building the application. The operation team deals with the
deployment and testing of the application. If there are problems with the application,
the operation team also provides feedback to the development team. Now let us get
to the history of DevOps.

1.4 Why did we need DevOps?


As we know about the problems faced in traditional models like in the waterfall
model, there is a problem of a one-way stream of work, due to which if there is any
mistake, the whole process repeats, and there is no interaction with customers. Now,
this is solved in agile by splitting the whole development plan into several iterations
for better production efficiency.  The agile model also includes customer interaction
with the company to rectify mistakes. But there is another problem faced in Agile too.
Here, the problem arises when the development team continuously changes the code
for better performance and sends the code to the operations team for testing. But
there may be a delay in the operations team feedback in situations like if the
developers sent code for review at night but due to the unavailability of the
operations team, there will be a delay in the project feedback.
So, DevOps is the solution to this problem. DevOps is a practice or a methodology in
which the development and operations teams work together by including automation
at the initial stages. So they can work on rapidly changing systems, fix bugs, and help
to deliver a good quality of software in time.

5|Page
2.EXISTENCE

 Before DevOps, the development and operations team worked in


Complete isolation.
 Testing and Deployment were isolated activities done after design
And build.Hence they consumed more time than actual.
 Before DevOps, we had the waterfall model and the agile model
for software development.let us discuss about them,

2.1 Waterfall Model

 The waterfall model can be defined as a sequential process in the


development of a system or software that follows a top-down approach.
This model was a straight forward and linear model. The waterfall model
had various phases such as Requirement Definition, Software Design,
Implementation, Testing, Deployment, and Maintenance.

 Software development companies that used the waterfall model


approach, had to spend a lot of time to get their product right. That is
because unless you complete a particular phase, you could not proceed to
the next phase. Also, the working software was delivered only after the
final phase of this model.

 This model was only suitable for projects which had stable requirements.
By stable, I mean that requirements will not change with the time. But in
today’s world, this is a very unlikely thing because requirements keep on
changing from time to time. These were a few drawbacks

6|Page
Fig;-Waterfall Model

Drawbacks

1. It was difficult to maintain ~100% uptime of the production environment.


2.Infrastructure Automation tools were not very affective.
3. Number of severs to be monitored keeps on increasing with time and hence
complexity.

4.It was very difficult to provide feedback and diagnose issue in the product

7|Page
2.2 Agile Model

The agile methodology of software development. Agile methodology is a practice


that promotes continuous iteration of development and testing throughout the
software development life cycle of the project. Both development and testing
activities are concurrent, unlike the Waterfall model. While the Agile approach
brought agility to development, it was lost on Operations which did not come up to
speed with agile practices.

There was a lack of collaboration between Developers and Operation Engineers and
this slowed down the development process and releases. Software companies had
begun to realize the need for better collaboration between the teams and faster
delivery of software. This gave birth to the DevOps approach. DevOps enabled
continuous software delivery with less complex problems to fix and faster resolution
of problems.

Fig:-Agile Methodology

8|Page
2.3 Difference between DevOps and traditional IT operations

We assume the application is scheduled to go live in 2 weeks and coding is 80%


done. We assume the application is a fresh launch and the process of buying servers
to ship the code has just begun-

Old process DevOps

After placing an order for new servers, Operations team has no clue on the
the Development team works on progress of the Development team.
testing. The Operations team works on Operations team develop a monitoring
extensive paperwork as required in plan as per their understanding.
enterprises to deploy the
infrastructure.

Projection about failover, redundancy, Project about failover,redundancy,


data center locations, and storage disaster recovery, data center locations,
requirements are skewed as no inputs and storage requirements are pretty
are available from developers who accurate due to the inputs from the
have deep knowledge of the devolopers.
application.

Operations team has no clue on the In devops, the operations team is


progress of the Development team. completely aware of the progress the
Operations team develop a monitoring developers are making.
plan as per their understanding. Operations team interact with
developers and jointly develop a
monitoring plan that caters to IT and
business needs.they also use advance
applications performance monitor tools
2.4 Difference between DevOps and Agile
9|Page
DevOps Agile

DevOps deals with filling the time gap between Agile methodology deals with filling the gap
the development team and the operations team. between customers and the company.

Here the feedback will be coming from the Here the feedback will be coming from the
Operations team to the development team. customers to the company.

It focuses on constant testing and delivery. It focuses on constant changes.

Some of the tools used for Agile: JIRA,


Some of the tools used in DevOps: Puppet, AWS
Bugzilla, Kanboard

10 | P a g e
2.5 Applications of DevOps

DevOps is not only used by dvelopers and operators.Rather this is used by


The administrators such as project managers, test engineers, and in the
Different segments by the administrators. There are numerous practices that
Permit the organization to offer faster and more reliable updates for its
Customers.The DevOps core aspect revolves around the agile principle, which
is the significant influencer of DevOps concept creation.below we have
listed down the applications.

Microservices:
It is a well-planned approach that supports building single apps
as a package for small services. All the services in these applications
are capable of communicating through well-defined interfaces. It
utilizes the lightweight mechanism which is mostly the
HTTP-oriented API.

DevOps in Networking:
The doctrine of the DevOps concept is alluring and it is harvesting
unprecedented popularity in handling networking services.with
the aid of the vendor hardware, deployment modes automation
of the network functions,devices, and configuration tools it has
just become an easier way for the professionals to deploy it.

DevOps in Data Science:


The companies are persistently working hard to become more
buoyant. And thus more organizations are switching to Devops
to deploy the codes robustly and efficiently. And it makes use of
integrated method and successively deploys the plan of the
Data Science in the production.

DevOps in Testing:
Based on survey report gathered from the Rightscale, it is stated

11 | P a g e
that numerous companies have preffered DevOps for testing. It
is done for reaching agility and speed as it is more essentiak to
automate the complete process of the configuration and testing.
The complete function of DevOps is entrusted on the “Agile Manifesto”.
And yet the root of the proficient strategy is called the “DevOps Trinity”.

Examples:

HP:

This company faced a problem regarding testing their software. Here bugs are
detected using manual testing after six weeks of writing code and if there are any
bugs found it would take one week to fix them. So to overcome this issue they
integrated the Continuous Integration and Continuous Deployment pipeline. 

Rabobank:

Rabobank is a Dutch multinational banking and financial services company. By the


integration of DevOps, this company has reduced its bugs by up to 35%. Which helped
the company to deliver applications faster to the clients. It also decreased the time of
regression testing as it had already been tested several times while developing.

12 | P a g e
3. Proposed

2007-2008: The DevOps idea was started

2009 : In the initial stage the first conference was ” Deploys a day: Dev and Ops cooperation
of

Flicker. Another conference called “DevOps Days in Ghent, Belgium” also happened
.

2010:DevOps days conference happened in the United States at mount view, calif.

2012: Allana browns at puppet creates a state of DevOps report

2014: Publishing the annual “State of DevOps report”

2017: Forrester Research calls 2017 “The Year of DevOps”

2018: 30 DevOps day conferences were scheduled across the united states.

13 | P a g e
4. DevOps Architecture

DevOps architecture is used for applications hosted on cloud platforms and large
distributed applications. Agile Development is used here so that integration and
delivery can be continuous. When the Development and Operations team work
separately from each other, it is time-consuming to design, test and deploy. Also if the
teams are not in sync with each other, it may cause a delay in delivery. So DevOps
enables the teams to amend their shortcomings and increase productivity.

Below are the various DevOps components

14 | P a g e
 Plan – In DevOps planning plays an important role. In this stage, all the requirements
of the project and everything regarding the project like time for each stage, cost. etc
are discussed. This will help everyone in teams to get a brief idea about the project.

 Code – In this Stage the code is written over here according to the client’s
requirements. Here the code is divided into small codes called Units. This is done to
get a clear picture of the code. For example, if the team is doing a project on an online
-Ekart application then the login part is divided as one unit, after login the page which
shows all the categories is divided as another unit, user profile as another unit, etc. 

Build – In this stage Building of the units is done. Some of the examples of the tools

used are maven, Gradle.

 Test – Testing of all units is done in this stage. So we will get to know where exactly
the code is having bugs and if there are mistakes found it is returned. Some of the
examples of the tools used are Selenium, PYtest.

 Integrate – In this stage, all the units of the codes are integrated. That means in this
step we will be creating a connection between the development team and the
operation team to implement Continuous Integration and Continuous Deployment.
An example of the tool used is Jenkins.

Deploy – In this stage, the code is deployed on the client’s environment. Some of the
examples of the tools used are AWS, Docker.

 Operate – Operations are performed on the code if required. Some of the examples
of the tools used are Kubernetes, open shift.

15 | P a g e
 Monitor – In this stage monitoring of the application is done over here in the client’s
environment. Some of the examples of the tools used are Nagios, elastic stack.

Tools used in DevOps

16 | P a g e
4.1 DevOps WorkFlow

1) 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.

2) Continuous Integration
This stage is the heart of the entire DevOps lifecycle. It is a software
development practice in which the developers require to commit changes to
the source code more frequently. This may be on a daily or weekly basis. Then
every commit is built, and this allows early detection of problems if they are
present. Building code is not only involved compilation, but it also includes unit
testing, integration testing, code review, and packaging.

The code supporting new functionality is continuously integrated with the existing
code. Therefore, there is continuous development of software. The updated code
needs to be integrated continuously and smoothly with the systems to reflect changes
to the end-users.
Jenkins is a popular tool used in this phase. 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.

17 | P a g e
3) 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. In this


phase, Docker Containers can be used for simulating the test environment .

Selenium does the automation testing, and TestNG generates the reports. This entire
testing phase can automate with the help of a Continuous Integration tool
called Jenkins.
Automation testing saves a lot of time and effort for executing the tests instead of
doing this manually. Apart from that, report generation is a big plus. The task of
evaluating the test cases that failed in a test suite gets simpler. Also, we can schedule
the execution of the test cases at predefined times. After testing, the code is
continuously integrated with the existing code.

4) 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.

18 | P a g e
It may occur in the form of documentation files or maybe produce large-scale data
about the application parameters when it is in a continuous use position. 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.

6) 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.

The new code is deployed continuously, and configuration management tools play an
essential role in executing tasks frequently and quickly. Here are some popular tools
which are used in this phase, such as Chef, Puppet, Ansible, and SaltStack.

Containerization tools are also playing an essential role in the deployment


phase. Vagrant and Docker are popular tools that are used for this purpose. These
tools help to produce consistency across development, staging, testing, and
production environment. They also help in scaling up and scaling down instances
softly.

19 | P a g e
7) Continuous Operations
All DevOps operations are based on the continuity with complete automation
of the release process and allow the organization to accelerate the overall time
to market continuingly.
It is clear from the discussion that continuity is the critical factor in the DevOps
in removing steps that often distract the development, take it longer to detect
issues and produce a better version of the product after several months. With
DevOps, we can make any software product more efficient and increase the
overall count of interested customers in your product.

5. Advantages and Disadvantages of DevOps:


Advantages:

 Faster development of software and quick deliveries.


 DevOps is flexible and adaptable to changes easily.
 Compared to the previous software development models confusion about
the project is decreased due to which the product quality and efficiency
are increased.
 The gap between the development team and operation team was
bridged. i.e, the communication between the teams has been increased.
 Efficiency is increased by the addition of automation which includes
continuous integration and continuous deployment.
 Customer satisfaction is enhanced.

20 | P a g e
Disadvantages:

 DevOps is expensive.
 Certain levels of skills are required for maintaining the DevOps architecture.
 Adopting DevOps technology into the traditional style of industries is quite a
challenge.

6. Conclusion

By adopting DevOps, one can improve deployment frequency


and

Can have faster decelopment cycles.

Can also reduce the failure rate of newly released product .

21 | P a g e
7.References

 https://www.edureka.co/blog/devops-lifecycle/

 https://www.javatpoint.com/devops-architecture

 A two hours of videos designed to orient beginners

Into whole scope of DevOps.

22 | P a g e

You might also like