100% found this document useful (2 votes)
256 views

Introduction To Devops

This document provides an introduction to DevOps. It discusses the challenges faced by developers and operations teams under the traditional waterfall model, including long code deployment times and difficulty maintaining high service uptime. DevOps aims to address these issues by promoting collaboration between development and operations. This allows for faster and more reliable software delivery through practices like continuous integration, deployment, and monitoring.
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
256 views

Introduction To Devops

This document provides an introduction to DevOps. It discusses the challenges faced by developers and operations teams under the traditional waterfall model, including long code deployment times and difficulty maintaining high service uptime. DevOps aims to address these issues by promoting collaboration between development and operations. This allows for faster and more reliable software delivery through practices like continuous integration, deployment, and monitoring.
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 68

Introduction to DevOps

Course : INT 331


FUNDAMENTALS OF DEVOPS
BACKGROUND-----Waterfall Model Challenges
BACKGROUND-----Waterfall Model Challenges
From Developers point of view there were majorly two challenges:

1 After Development, the code deployment time was huge.

2 Pressure of work on old, pending and new code was high because development
and deployment time was high.
BACKGROUND-----Waterfall Model Challenges

On the other hand, Operations was also not completely satisfied. There were four
major challenges they faced as per the above diagram:

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


2 Infrastructure Automation tools were not very Effective.
3 Number of severs to be monitored keeps on increasing with time and hence the
complexity.
4 It was very difficult to provide feedback and diagnose issue in the product.
Proposed solution to the challenges of Waterfall Model
Probable Solutions for the issues faced by Developers and
Operations

From Developers point of view:

1 A system which enables code deployment without any delay or wait time.

2 A system where work happens on the current code itself i.e. development sprints
are short and well planned.
From Operations point of view:

1 System should have at-least 99% uptime.

2 Tools & systems are there in place for easy administration.

3 Effective monitoring and feedbacks system should be there.

4 Better Collaboration between Development & Operations and is common


requirement for Developers and Operations team.
What exactly is DevOps?

It is nothing but the practice or methodology of making ‘Developers’ and the


‘Operations’ team work together.
What is DevOps?
DevOps is a software development practice that promotes
collaboration between development and operations, resulting in
faster and more reliable software delivery. Commonly referred to as a
culture, DevOps connects people, process, and technology to deliver
continuous value.
According to the DevOps culture, a single group of Engineers (developers, system
admins, QA’s. Testers etc turned into DevOps Engineers) has end to end
responsibility of the Application (Software) right from gathering the requirement
to development, to testing, to infrastructure deployment, to application
deployment and finally monitoring & gathering feedback from the end users,
then again implementing the changes.
How DevOps addresses Dev Challenges.
How DevOps addresses Ops Challenges.
How is DevOps different from traditional IT
How is DevOps different from traditional IT
How is DevOps different from Agile? DevOps Vs Agile

Stakeholders and communication chain a typical IT process.


Agile addresses gaps in Customer and Developer communications
Agile vs DevOps
Agile vs DevOps
• 5X Lower Change Failure
Why Does • 440x faster from commit to deploy
DevOps • 46x more frequent deployment

Matter • 44% more time spend on new features


and Code

Source: Puppet 2017 state of


The DevOps Three Ways
… of implementations end up getting High IT performance

Outperforming collab
ora
te
40 % reworked because they don’t meet the
users’ original requirements IT drives
correlates with strong
business performance,
teams are
54%
more
extensively
… of development budgets for software, IT
business helps boost productivity,
success! market share and profit.
likely to

co
with
the ir 41% staff and external professional services will be
consumed by poor requirements
un
Collaboration blockers
ter
pa
rts
80 % failure rate …
… for companies that try to
26.7% adapt their existing tools for
No executive support DevOps practices

56.7%
Cultural inhibitors

43.3%
Fragmented processes
70 %
of CIOs
Developers IT Ops Would Business
increase

1 in 6 IT decision
risk
to reduce and accelerate
It takes on average
200 minutes to
makers is still IT costs business agility diagnose and repair a
of teams unfamiliar with production issue
the term DevOps

DevOps was being initiated by


The average hourly
more development teams than IT Ops
cost of infrastructure
teams by about a 40% to 33% margin failure is $100,000
per hour A bug caught in production ends
Responding to
have adopted Agile methodologies ongoing needs for
efficiency and growth
dual goals Always keeping all
systems safe and secure
up costing
100x more
than if the same bug was found
earlier in the development cycle
Strong IT Performance is
a competitive advantage
Firms with high-performing Deploy code
IT organizations were 2x as 30x faster
likely
to exceed their profitability, and with 200x
market share, and productivity shorter lead time as compared
goals to their lower-performing peers

and recover from failure


168x faster as compared to
their lower-performing
peers
Resources

• 1. https://youtu.be/rA7WCcSvAJg
• 2.
DevOps Principles

1. Customer-Centric Action: DevOps team must take customer-centric action for


that they should constantly invest in products and services.
2. End-To-End Responsibility: The DevOps team need to provide performance
support until they become end-of-life. This enhances the level of responsibility
and the quality of the products engineered.
3. Continuous Improvement: DevOps culture focuses on continuous improvement
to minimize waste. It continuously speeds up the improvement of product or
services offered.
DevOps Principles

4. Automate everything: Automation is a vital principle of DevOps process. This is


not only for the software development but also for the entire infrastructure
landscape.
5. Work as one team: In the DevOps culture role of the designer, developer, and
tester are already defined. All they needed to do is work as one team with
complete collaboration.
6. Monitor and test everything: It is very important for DevOps team to have a
robust monitoring and testing procedures.
When not to adopt DevOps?

It should not be used in a mission-critical


application like bank, power and other sensitive
data sites. Such applications need strict access
controls on the production environment, a
detailed change management policy, access
control policy to the data centers.
5 Red Flags: When DevOps might not be a good fit

• 1. Your business doesn't need regular releases

• "Being able to understand the business value, and being open to start and adapt at a
pace that does not break the current business goals, is important."
—Prasanna Singaraju
• 2. Your business is satisfied with the current state of software
• "If no one in an organization identifies the need to improve the quality and reduce the
time-to-market for its software-enabled services, then the potential value of DevOps
will not be recognized."
—Todd Loeppke
3. You operate in a highly regulated industry
"There is no such thing as rolling back a bug on a pacemaker. Regulated companies
are better off following a phase-gated development process, where checks and
sign-offs determine whether or not a product is ready for the market."
4. Your business has lots of M&A(merger and acquisition) activity on the horizon
5. Legacy processes or architectures still rule
"If your projects are massive, complex, and require being monolithic, it can be helpful
to look to a spiral or waterfall delivery process to help ensure that the project is
completed properly."
—Anthony Blardo
When to adopt DevOps?

DevOps should be used for large distributed


applications such as eCommerce sites or
applications hosted on a cloud platform.
Industry Importance of DevOps
-----Shorter Development Cycles, Faster Innovation
When development and operations teams are in separate silos, it’s usually
difficult to tell if an application is ready for operations. When development
teams simply turn over an application, the operations’ cycle times are
extended needlessly.
With a combined development and operations team, applications are ready for
use much more quickly. This is important, since companies succeed based on
their ability to innovate faster than their competitors do. In fact, Kevin Murphy
from Red Hat estimates that shorter development cycles translate to bringing
an application to market 60 percent faster than with traditional approaches.
Reduced Deployment Failures, Rollbacks, and Time to Recover

Deployment failures is due to programming defects. The shorter development


cycles with DevOps promote more frequent code releases. This, in turn, makes it
easier to spot code defects. Therefore, teams can reduce the number of
deployment failures using agile programming principles that call for
collaboration and modular programming. Rollbacks are similarly easier to
manage because, when necessary, only some modules are affected.
Time to recover is an important issue, because some failure has to be expected. But
recovery is much faster when the development and operations teams have been
working together, exchanging ideas and accounting for both teams’ challenges
during development.
Improved Communication and Collaboration

DevOps improves the software development culture. Combined teams are


happier and more productive. The culture becomes focused on performance
rather than individual goals. When the teams trust each other, they can
experiment and innovate more effectively. The teams can focus on getting
the product to market or into production, and their KPIs should be
structured accordingly.
It’s no longer a matter of “turning over” the application to operations and
waiting to see what happens. Operations doesn’t need to wait for a different
team to troubleshoot and fix a problem. The process becomes increasingly
seamless as all individuals work toward a common goal.
Increased Efficiencies

Scalable infrastructures, such as cloud-based platforms, increase the access the


team has to hardware resources. As a result, testing and deployment
operations speed up.
Build acceleration tools can be used to compile code more quickly.
Parallel workflows can be embedded into the continuous delivery chain to avoid
delays; one team waits for another to complete its work.
Using one environment avoids the useless task of transferring data between
environments. This means you don’t have to use one environment for
development, a different environment for testing, and a third for deployment.
Reduced Costs and IT Headcount

All of the DevOps benefits translate to reduced overall costs and IT


headcount requirements. According to Kevin Murphy from Red Hat,
DevOps development teams require 35 percent less IT staff and 30
percent lower IT costs.
Challenges of DevOps

• There are many challenges in a DevOps initiative. Your organization must reimagine
its structure to improve the way things get done.

• Companies often underestimate the amount of work required in a DevOps


transformation, though.

• According to a recent Gartner study, 75% of DevOps initiatives through 2020 will fail
to meet their goals due to issues around organizational learning and change.
• “Organizational learning and change are key to allowing DevOps to flourish. In other
words, people-related factors tend to be the greatest challenges — not technology, ”
says Gartner senior analyst George Spafford.
• Choosing the Right Metrics is Hard

• Enterprises transitioning to DevOps practices need to use metrics to recognize


progress, document success, and uncover areas that need improvement.

• Forrester notes. For example, an acceleration in deployment velocity without a


corresponding improvement in quality is not a success. An effective DevOps
effort needs metrics that drive smart automation decisions—and
yet organizations often struggle with DevOps metrics.
• So where to start? Find metrics that align with velocity and throughput
success.
Main 4 DevOps Metrices (DORA)

• Deployment frequency

• Lead time for changes

• Time to restore service

• Change failure rate


OTHER CHALLENGES OF DEVOPS

• Limited Funds

• DevOps initiatives face other obstacles as well. Given the significant organizational and IT changes
involved—with previously siloed teams joining forces, changing job roles, and encountering other
transitions— adjustments will take time.
• According to a survey of IT executives from software company Pensa, the top challenges to DevOps
success are:
• Limited budgets (cited by 19.7% of respondents)
• Legacy systems (17.2%)
• Application complexity (12.8%)
• Difficulty managing multiple environments (11.3%)
• Company culture (9.4%)
• Complexity
The Future of DevOps

• The future of DevOps will likely bring changes in tooling and organizational
strategies, but its core mission will remain the same
• Automation Will Play a Major Role
• Automation will continue to play a major role in DevOps transformation, and
artificial intelligence for IT operations—AIOps—will help organizations achieve their
DevOps goals. The core elements of AIOps—machine learning, performance
baselining, anomaly detection, automated root cause analysis (RCA) and predictive
insights—work together to accelerate routine operational tasks. This emerging
technology, which can transform how IT operations teams manage alerts and resolve
issues, will be a crucial component of the future of DevOps.
• AIOps Will Make Service Uptime Easier to Achieve
• In addition to using data science and computational techniques to automate
mundane tasks, AIOps also ingests metrics and uses inference models to pull
actionable insights from data, notes data science architect Jiayi Hoffman.
• AIOps' automation capabilities can make service uptime much easier to achieve,
from monitoring to alerting to remediation. And AIOps is a boon for DevOps
teams, who can use AIOps tools for real-time analysis of event streams, proactive
detection to reduce downtime, improved collaboration, faster deployments, and
more.
• Will Sharpen Focus on Cloud Optimization
• The future of DevOps will also bring a greater focus on optimizing the use of
cloud technologies. The centralized nature of the cloud provides DevOps
automation with a standard platform for testing, deployment, and production
notes Deloitte Consulting analyst David Linthicum.
• And regardless of what advanced technologies the future brings, organizations
will need to realize that DevOps is all about the journey and that the
organization's DevOps-related goals and expectations will evolve over time.
Real-Life Examples of Successful DevOps Implementations in
StartUps

Example #1 – Amazon
• Amazon, an eCommerce company, experienced significant challenges in
predicting and accommodating traffic demands on their dedicated servers.
Approximately 40 percent of server capacity remained unused, resulting in
wasted resources and financial expenditure, especially during peak periods like
Christmas shopping, when traffic could triple.
• Amazon strategically embraced Amazon Web Services (AWS) cloud infrastructure
to address these challenges. This shift enabled their engineers to scale capacity
based on demand dynamically, eliminating the need for over-provisioning.
Consequently, it led to adopting a continuous deployment process, empowering
developers to deploy their code to servers in a self-service manner whenever
required.
• The transition to AWS and implementing of DevOps professional services and
practices revolutionized Amazon’s development process.
• Within a year, the average deployment time reduced to a remarkable 11.7 seconds,
showcasing the agility and speed of their operations.
• Furthermore, adopting DevOps principles resulted in a substantial reduction in
both the number and duration of system outages, leading to improved customer
experience and increased revenue for the company.
• Amazon’s successful implementation of DevOps practices exemplifies how
adopting cloud infrastructure and a continuous deployment process can drive
efficiency, reduce costs, and enable rapid growth for startups and enterprises alike.
Example #2 – Netflix

• When Netflix transitioned from mailing DVDs to streaming videos online, it


embarked on a groundbreaking journey into uncharted territory. Facing the
challenge of managing a massive cloud infrastructure without available
commercial tools, Netflix turned to the power of open-source solutions.
• Taking a bold approach, Netflix harnessed the collective expertise of hundreds of
volunteer developers to create the Simian Army. This suite of automated tools
became their weapon of choice to stress test the infrastructure continuously. By
proactively identifying and resolving susceptible before they could impact
customers, Netflix ensured a seamless streaming experience.
• Embracing a culture of automation and open source, Netflix elevated its DevOps
practices to unprecedented heights. Their engineering teams embraced the
philosophy of deploying code multiple times per day, leveraging automation to
deliver updates and enhancements rapidly.
• Netflix’s dedication to innovation and its successful integration of new
technologies into its DevOps approach earned them the prestigious JAX Special
Jury Award. This recognition is a testament to their relentless pursuit of
excellence and ability to set new industry standards in IT.
• As a result, Netflix continues to captivate audiences worldwide with its seamless
streaming service, setting the benchmark for entertainment companies. Their
commitment to DevOps, automation, and open source is a prime example of how
organizations can leverage technology and collaborative practices to drive
continuous improvement, agility, and customer satisfaction.
• Netflix’s journey exemplifies DevOps’ transformative power in revolutionizing
how technology is delivered and how it shapes entire industries. By embracing a
similar mindset, startups can tap into the vast potential of DevOps for
startups and forge their path to success in an ever-evolving digital landscape.

You might also like