100% found this document useful (1 vote)
76 views12 pages

Experiment No 1 DOP

The document provides an introduction to DevOps. It discusses that DevOps promotes collaboration between development and operations teams to deploy code to production faster in an automated and repeatable way. It helps increase speed and allows organizations to better serve customers. DevOps represents a change in IT culture with a focus on rapid service delivery through agile practices. Organizations see improvements in software quality, deployment frequency, customer satisfaction, and revenue with DevOps.

Uploaded by

Techtrip
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
76 views12 pages

Experiment No 1 DOP

The document provides an introduction to DevOps. It discusses that DevOps promotes collaboration between development and operations teams to deploy code to production faster in an automated and repeatable way. It helps increase speed and allows organizations to better serve customers. DevOps represents a change in IT culture with a focus on rapid service delivery through agile practices. Organizations see improvements in software quality, deployment frequency, customer satisfaction, and revenue with DevOps.

Uploaded by

Techtrip
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 12

Priya Vishwakarma

BE IT 2 - 64

Experiment No. 01

Introduction to DevOps

Aim: Introduction to DevOps.

Theory:

The DevOps is a combination of two words, one is software Development, and second
is Operations. This allows a single team to handle the entire application lifecycle, from
development to testing, deployment, and operations. DevOps helps you to reduce the
disconnection between software developers, quality assurance (QA) engineers, and system
administrators.

DevOps promotes collaboration between Development and Operations team to deploy


code to production faster in an automated & repeatable way.DevOps helps to increase
organization 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 be defined as
a sequence of development and IT operations with better communication and collaboration.
DevOps has become one of the most valuable business disciplines for enterprises or
organizations. With the help of DevOps, quality, and speed of the application delivery has
improved to a great extent.DevOps is nothing but a practice or methodology of making
"Developers" and "Operations" folks work together. DevOps represents a change in the IT
culture with a complete focus on rapid IT service delivery through the adoption of agile
practices in the context of a system-oriented approach.
DevOps is all about the integration of the operations and development process. Organizations
that have adopted DevOps noticed a 22% improvement in software quality and a 17%
improvement in application deployment frequency and achieve a 22% hike in customer
satisfaction. 19% of revenue hikes as a result of the successful DevOps implementation.

Why DevOps?
• The operation and development team worked in complete isolation.
• After the design-build, the testing and deployment are performed respectively. That's
why they consumed more time than actual build cycles.
• Without the use of DevOps, the team members are spending a large amount of time on
designing, testing, and deploying instead of building the project.
• Manual code deployment leads to human errors in production.
• Coding and operation teams have their separate timelines and are not in synch, causing
further delays.
Development and operations both play essential roles in order to deliver applications.
The deployment comprises analysing the requirements, designing, developing, and testing of
the software components or frameworks. The operation consists of the administrative processes,
services, and support for the software. When both the development and operations are
combined with collaborating, then the DevOps architecture is the solution to fix the gap
between deployment and operation terms; therefore, delivery can be faster.

DevOps architecture is used for the applications hosted on the cloud platform and large
distributed applications. Agile Development is used in the DevOps architecture so that
integration and delivery can be contiguous. When the development and operations team work
separately from each other, then it is time-consuming to design, test, and deploy. And if the
terms are not in sync with each other, then it may cause a delay in the delivery. So, DevOps
enables the teams to change their shortcomings and increases productivity.

Below are the various components that are used in the DevOps architecture:
Build
Without DevOps, the cost of the consumption of the resources was evaluated based on the pre-
defined individual usage with fixed hardware allocation. And with 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.

Code
Many good practices such as Git enables the code to be used, which ensures writing the code
for business, helps to track changes, getting notified about the reason behind the difference in
the actual and the expected output, and if necessary, reverting to the original code developed.
The code can be appropriately arranged in files, folders, etc. And they can be reused.

Test
The application will be ready for production after testing. In the case of manual testing, it
consumes more time in testing and moving the code to the output. The testing can be automated,
which decreases the time for testing so that the time to deploy the code to production can be
reduced as automating the running of the scripts will remove many manual steps.

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.

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.

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.

Operate
DevOps changes the way traditional approach of developing and testing separately. 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, it is done by manual triggering. Many processes involved in
release management commonly used to do the deployment in the production environment
manually to lessen the impact on the customers.
DevOps Architecture Features
Here are some key features of DevOps architecture, such as:

Automation
Automation can reduce time consumption, especially during the testing and deployment phase.
The productivity increases, and releases are made quicker by automation. This will lead in
catching bugs quickly so that it can be fixed easily. For contiguous delivery, each code is
defined through automated tests, cloud-based services, and builds. This promotes production
using automated deploys.

Collaboration
The Development and Operations team collaborates as a DevOps team, which improves the
cultural model as the teams become more productive with their productivity, which strengthens
accountability and ownership. The teams share their responsibilities and work closely in sync,
which in turn makes the deployment to production faster.

Integration
Applications need to be integrated with other components in the environment. The integration
phase is whore the existing code is combined with new functionality and then tested.
Continuous integration and testing enable continuous development. The frequency in the
releases and micro-services leads to significant operational challenges. To overcome such
problems, continuous integration and delivery are implemented to deliver in a quicker, safer,
and reliable manner.

Configuration management
It ensures the application to interact with only those resources that are concerned with the
environment in which it runs. The configuration files are not created where the external
configuration to the application is separated from the source code. The configuration file can
be written during deployment, or they can be loaded at the run time, depending on the
environment in which it is running.

DevOps Lifecycle
DevOps defines an agile relationship between operations and Development. It is a process that
is practiced by the development team and operational engineers together from beginning to the
final stage of the product.
Learning DevOps is not complete without understanding the DevOps lifecycle phases. The
DevOps lifecycle includes seven phases as given below:

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.

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.

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.

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

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.
The continuity is the essential factor in the DevOps as it removes the unnecessary steps which
are required to take a software application from development, using it to find out its issues and
then producing a better version. It kills the efficiency that may be possible with the app and
reduce the number of interested customers.

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. Containerization tools help to maintain consistency across the environments where the
application is tested, developed, and deployed. There is no chance of errors or failure in the
production environment as they package and replicate the same dependencies and packages
used in the testing, development, and staging environment. It makes the application easy to run
on different computers.

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.

DevOps Advantages
• DevOps is an excellent approach for quick development and deployment of
applications.
• It responds faster to the market changes to improve business growth.
• DevOps escalate business profit by decreasing software delivery time and
transportation costs.
• DevOps clears the descriptive process, which gives clarity on product development and
delivery.
• It improves customer experience and satisfaction.
• DevOps simplifies collaboration and places all tools in the cloud for customers to
access.
• DevOps means collective responsibility, which leads to better team engagement and
productivity.

DevOps Disadvantages
• DevOps professional or expert's developers are less available.
• Developing with DevOps is so expensive.
• Adopting new DevOps technology into the industries is hard to manage in short time.
• Lack of DevOps knowledge can be a problem in the continuous integration of
automation projects.

Conclusion
Hence, we studied about DevOps, it’s architecture along with features of it and the
lifecycle of DevOps.

You might also like