Professional Documents
Culture Documents
Report Devops2
Report Devops2
1.INTRODUCTION
DevOps is basically a combination of two words- Development and Operations. DevOps is
a culture that implements the technology in order to promote collaboration between the
developer team and the operations team to deploy code to production faster in an automated
and repeatable way. 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.
Every phase of the software development lifecycle, including planning, coding, testing,
deployment, and monitoring, is heavily automated in DevOps. This improves productivity,
ensures consistency, and lowers error rates in the development process. A culture of
continuous improvement is also promoted by DevOps, where feedback loops are
incorporated into the procedure to facilitate quicker iteration and better decision-making.
Organizations can increase their agility, lower costs, and speed up innovation by adopting
DevOps.
1
Department of Computer Science and Engineering
Devops
2. DevOps History
o In 2009, the first conference named DevOpsdays was held in Ghent Belgium. Belgian
consultant and Patrick Debois founded the conference.
o In 2012, the state of DevOps report was launched and conceived by Alanna Brown at
Puppet.
o In 2014, the annual State of DevOps report was published by Nicole Forsgren, Jez
Humble, Gene Kim, and others. They found DevOps adoption was accelerating in
2014 also.
o In 2015, Nicole Forsgren, Gene Kim, and Jez Humble founded DORA (DevOps
Research and Assignment).
o In 2017, Nicole Forsgren, Gene Kim, and Jez Humble published "Accelerate:
Building and Scaling High Performing Technology Organizations".
2
Department of Computer Science and Engineering
Devops
3.DevOps Architecture
Development and operations both play essential roles in order to deliver applications. The
deployment comprises analyzing 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
works 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.
3
Department of Computer Science and Engineering
Devops
Below are the various components that are used in the DevOps architecture:
1) 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.
2) 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.
3) 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.
4
Department of Computer Science and Engineering
Devops
4) 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.
5) 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.
6) 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.
7) 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.
8) Release
5
Department of Computer Science and Engineering
Devops
1) 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.
2) 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.
6
Department of Computer Science and Engineering
Devops
3) Integration
Applications need to be integrated with other components in the environment. The integration
phase is where 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.
4) 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.
7
Department of Computer Science and Engineering
Devops
5. DevOps Lifecycle
DevOps is a practice that enables a single team to handle the whole application lifecycle,
including development, testing, release, deployment, operation, display, and planning. It is
a mix of the terms “Dev” (for development) and “Ops” (for operations). We can speed up
the delivery of applications and services by a business with the aid of DevOps. Amazon,
Netflix, and other businesses have all effectively embraced DevOps to improve their
customer experience.
DevOps Lifecycle is the set of phases that includes DevOps for taking part
in Development and Operation group duties for quicker software program delivery. DevOps
follows positive techniques that consist of code, building, testing, releasing, deploying,
operating, displaying, and planning. DevOps lifecycle follows a range of phases such as
non-stop development, non-stop integration, non-stop testing, non-stop monitoring, and
non-stop feedback. Each segment of the DevOps lifecycle is related to some equipment and
applied sciences to obtain the process. Some of the frequently used tools are open source
and are carried out primarily based on commercial enterprise requirements. DevOps
lifecycle is effortless to manipulate and it helps satisfactory delivery.
7 Cs of DevOps
1. Continuous Development
8
Department of Computer Science and Engineering
Devops
2. Continuous Integration
3. Continuous Testing
4. Continuous Deployment/Continuous Delivery
5. Continuous Monitoring
6. Continuous Feedback
7. Continuous Operations
1. Continuous Development
In Continuous Development code is written in small, continuous bits rather than all at once,
Continuous Development is important in DevOps because this improves efficiency every
time a piece of code is created, it is tested, built, and deployed into production. Continuous
Development raises the standard of the code and streamlines the process of repairing flaws,
vulnerabilities, and defects. It facilitates developers’ ability to concentrate on creating high-
quality code.
9
Department of Computer Science and Engineering
Devops
2. Continuous Integration :
3. Continuous Testing:
10
Department of Computer Science and Engineering
Devops
Any firm can deploy continuous testing with the use of the agile and DevOps
methodologies. Depending on our needs, we can perform continuous testing using
automation testing tools such as Testsigma, Selenium, LambdaTest, etc. With these tools,
we can test our code and prevent problems and code smells, as well as test more quickly
and intelligently. With the aid of a continuous integration platform like Jenkins, the entire
process can be automated, which is another added benefit.
4. Continuous Monitoring
DevOps lifecycle is incomplete if there was no Continuous Monitoring. Continuous
Monitoring can be achieved with the help of Prometheus and Grafana we can continuously
monitor and can get notified before anything goes wrong with the help of Prometheus we
can gather many performance measures, including CPU and memory utilization, network
traffic, application response times, error rates, and others. Grafana makes it possible to
visually represent and keep track of data from time series, such as CPU and memory
utilization.
5. Continuous Feedback
Once the application is released into the market the end users will use the application and
they will give us feedback about the performance of the application and any glitches
affecting the user experience after getting multiple feedback from the end users’ the
DevOps team will analyze the feedbacks given by end users and they will reach out to the
developer team tries to rectify the mistakes they are performed in that piece of code by this
11
Department of Computer Science and Engineering
Devops
we can reduce the errors or bugs that which we are currently developing and can produce
much more effective results for the end users also we reduce any unnecessary steps to
deploy the application. Continuous Feedback can increase the performance of the
application and reduce bugs in the code making it smooth for end users to use the
application.
Continuous Delivery:
12
Department of Computer Science and Engineering
Devops
7. Continuous Operations
13
Department of Computer Science and Engineering
Devops
software development, where development and operations were separate departments, was
proving to be too slow and cumbersome. The siloed nature of this approach led to poor
communication and collaboration, resulting in long lead times, slow feedback cycles, and
low-quality software.
One of the first organizations to embrace DevOps was Amazon, which implemented the
approach in the early 2000s. Amazon’s DevOps team was responsible for automating
manual processes and reducing the lead time for software delivery. This resulted in faster
feedback cycles and improved software quality, which helped Amazon stay ahead of the
competition.
In the early 2010s, DevOps started to gain mainstream popularity, and its adoption
accelerated. The rise of DevOps was also driven by the increasing importance of software
in all aspects of business, from product development to customer engagement.
Organizations realized that they needed to adopt DevOps to remain competitive, and the
demand for DevOps skills and expertise skyrocketed.
Over recent years, the DevOps wave has swept through the entire software development
world unhindered. This revolutionary approach has proved itself what is indeed needed for
businesses to scale development faster and more efficiently. The year 2020, with its main
feature being a global pandemic, has appeared to be a turning point for DevOps, one that
will determine the trajectory of software development for years to come, beginning from
the next, 2021.
This article explores how COVID-19, the shift to the cloud, and its implications for security
are driving a new wave of demands for software development in the near future, from a
DevOps perspective.
8.Challenges of DevOps:
1. Environmental Challenges in Devops
During DevOps the ownership of the codebase changes from one team to another; from
development to testing, to deployment and production. During such transitions there is a
14
Department of Computer Science and Engineering
Devops
general waste of time and effort as the environments used by these teams are separately
configured and the codebase must be modified to work smoothly on all these environments.
This sometimes causes teams to also waste time trying to investigate for problems in the code
rather than in the environment on which it is run.
Solutions
Creating infrastructural blueprints for Continuous Delivery enablement and making sure that
all environments are identical. This usually requires all teams to get together and plan the
Continuous Delivery process to ensure smooth transition.
A good solution to enable this is to adopt a cloud-based infrastructure for
DevOps enablement. The different parts of the DevOps pipeline, viz. coding, builds, testing,
deployment, and post-production monitoring require different tools to enable and are hosted
on different environments.
Hosting these pipelines on the cloud helps to create a centralised architecture that helps
different teams to access the codebase and continue to develop the pipeline as the cloud
environment manages the environment transition.
2. Challenges with Team Maturity and Competence
The level of maturity and competence a software engineering team has with the Software
Development Life Cycle is directly related to their ability to be able to adapt to the DevOps
transformation of these processes.
One of the key reasons behind the adoption of DevOps is the need to deliver quality software
in shorter deadlines in a more reliable fashion. The DevOps process seeks to transform the
conventional Software Development process by creating a continuous cycle of Code-Build-
Test and to better integrate the development and operations processes to be able to achieve its
goal of quality software delivered on time.
Solutions
Organisations adopting DevOps need to adopt the correct tools and technologies and should
be able to invest in the correct training and upskilling for their employees. A robust devops
culture requires the following steps :
15
Department of Computer Science and Engineering
Devops
16
Department of Computer Science and Engineering
Devops
Solutions
Some potential solutions are:
9.Advantages:
1. Faster Delivery: DevOps enables organizations to release new products and
updates faster and more frequently, which can lead to a competitive advantage.
2. Improved Collaboration: DevOps promotes collaboration between development
and operations teams, resulting in better communication, increased efficiency,
and reduced friction.
17
Department of Computer Science and Engineering
Devops
The future of DevOps is very optimistic and more organizations are going to adopt this
technology soon. DevOps processes are evolving as new technologies and tools are
introduced.
18
Department of Computer Science and Engineering
Devops
In the domain of software development, the additional operating costs and times will continue
if the development processes aren’t optimized or are ineffective.
The demand for DevOps will get at its peak as companies are including DevOps in their
company processes. With this, they will have more control over the whole pipeline, which
will allow the teams to operate more efficiently with less repetition.
The DevOps future scope will be extremely competitive and growing rapidly, with
organizations that range from large businesses to startups enjoying the advantages.
Furthermore, many reports predict that DevOps industry trends will continue to rise, as
companies in the software development sector focus more on obtaining advanced DevOps
services and tools to optimize specific functions of management and software deployment
processes.
DevOps jobs has a great and promising future. It is considered one of the best fields in the IT
industry. So, let’s uncover the reasons that support DevOps as an exciting field in the future.
19
Department of Computer Science and Engineering
Devops
A DevOps Engineer with less than three years of experience can expect to earn an
average salary of 3,35,100 LPA.
DevOps Engineers with 4 to 8 years of experience earn an average gross salary of
6,45,100 LPA, while senior DevOps engineers with more than 8 years of experience
earn an average of 9,25,100 LPA.
A senior-level DevOps Engineer earns an average of 12,90,100 LPA.
Although this is the average salary of a DevOps professional, the salary offered by an
organization also depends heavily on his experience.
The main reason for looking into the experience is because, the organization runs more
smoothly, making the operations more efficient and they can use their experience in any sort
of difficulties during the development and operational works.
Of course, there are many factors that affect salaries, such as location, skill, company, and
many more, so this may vary according to it. As more companies adopt DevOps, the demand
will increase.
Hence, the demand for DevOps Engineers gets automatically increased and after all these, we
can say, the future is very promising for this role. DevOps Engineers lead the list of in-
demand positions, with more than 60% of organizations hiring DevOps Engineers.
The following are the most important skills required for a DevOps Engineer:
Soft skills
Operational skills
Coding and Scripting
Understanding of relevant DevOps tools
Security skills
Automation skills
Communication and collaboration skills
Cloud skills
Testing skills
20
Department of Computer Science and Engineering
Devops
12.Conclusion
DevOps is a constantly evolving set of practices and structures designed to promote faster,
more efficient software and app development as well as other IT operations. DevOps is
21
Department of Computer Science and Engineering
Devops
rapidly growing, and its future will be very different from what it is now. It is the future of
technology, and every company that produces software will undoubtedly use the DevOps
concept for sure.
So, mate! As there is such demand in the future of DevOps, and companies offering good
pay-scale, you should go for DevOps as a career option without any doubts and we wish you
the best in your future endeavors.
13. References
[1] Pritibha Jha and Rizwan Khan. DevOps: Beginning and more to Know, June 2018
22
Department of Computer Science and Engineering
Devops
[2] Anna wiedemann, Nicole Forsgren, Manuel Wiesche, Heiko Gewald and Helmut krcmar.
The DevOps Phenomenon, December 2019
23
Department of Computer Science and Engineering