INTRODUCTION TO DEVOPS - PowerPoint PPT Presentation

About This Presentation
Title:

INTRODUCTION TO DEVOPS

Description:

read to know about devops,tts benefits and lot more – PowerPoint PPT presentation

Number of Views:68
Slides: 17
Provided by: devuni
Category:
Tags:

less

Transcript and Presenter's Notes

Title: INTRODUCTION TO DEVOPS


1
WHAT IS
DevOps?
2
CONTENT
TABLE OF
01. What is DevOps? ..............................
..................................................
.......03 Decoding DevOps
  • 02. What led to DevOps?...........................
    ..................................................
    ...07
  • 03. Bene?ts of DevOps.............................
    ..................................................
    ....09
  • 04. Essential elements for DevOps
    success...........................................
    ..11 The key enablers of DevOps automation
    tools
  • 05. What to keep in mind when you are
    considering DevOps?.........13
  • 06. What is DevSecOps?...........................
    ..................................................
    ...15
  • 07. Is DevOps and SRE (Site Reliability
    Engineering) same?..............15

The important phases in a DevOps cycle
3
What is DevOps?
Do u want to deploy software the DevOps way? Are
you ready to break all the boundaries between
Development and Operations team? DevOps in
simplest terms is how you build and deploy your
software. The word DevOps is a shortened
acronym of Development and Operations. In
essence, it is bringing together your software
development team and operations team to work
towards a common goal and have a uni?ed vision.
Their collective focus is always the product or
the application, which is being developed,
rather than individual performances or
targets. It is about the culture that your team
members live, the principles that guide your
development process, the set of practices you
follow to automate and speed up your delivery,
the mindset you demonstrate to achieve complete
customer satisfaction. DevOps speeds delivery of
higher quality software by combining and
automating the work of software development and
IT operations teams. We have moved from giant
application-wide code releases every several
months or even years, to iterative smaller
feature or functional updates released as
frequently as every day or several times per day!
Thanks to DevOps!! In practice, the best DevOps
processes and cultures should incorporate inputs
from all application stakeholders - including
platform and infrastructure engineering,
security, compliance, governance, risk
management, line-of-business, end-users and
customers - into the software development
lifecycle.
www.devopsuniverse.org
4
Decoding DevOps
  • In the DevOps world, Dev and Ops dont work in
    silos anymore, but rather work in collaboration,
    as a single unit more ef?ciently and effectively.
    They perform their specialized roles effectively
    but possess an end-to-end visibility of the whole
    process. Blame-game is replaced by mutual
    admiration and celebration of each others
    success. Challenges are solved together, and
    continuous and rapid software delivery becomes
    the aim.
  • The assured bene?ts of DevOps philosophy are
    rapid software releases, shorter development
    cycles, reduced risks, quicker issue resolution,
    and better productivity. DevOps is a logical
    extension to agile and the main force behind the
    dynamism exhibited by many tech-giants for their
    extraordinary high performance. Shared
    responsibility, agile processes, automated tasks,
    smarter work?ows, fearless innovation and
    continuous feedback are the driving factors of a
    DevOps approach.
  • DevOps is not about unlearning how you have
    been developing software, but it is about
    learning the new dynamics of software
    development improvising the existing
    processes, prioritizing tasks, changing
    perspectives and looking at the larger picture
    from organizations bene?t rather than
    individual accomplishments.
  • A DevOps team will also code and test software,
    begin from requirements and go until deployment
    - just like software has been developed since
    ages, BUT they will integrate teams and automate
    the steps to make the whole process seamless,
    faster and more productive.
  • Let us now understand each of these steps in
    detail.
  • The important phases in a DevOps Cycle
  • Continuous Development
  • Continuous Testing
  • Continuous Integration
  • Continuous Deployment
  • Continuous Monitoring
  • Continuous Feedback

www.devopsuniverse.org
5
Continuous Development Software functionality is
implemented, and the version of code is
maintained using Version Control tools like Git,
SVN, CVS etc. Maintaining versions helps the
developers to collaborate on the latest committed
code and to rollback to previous versions in
case of an unstable deployment. Continuous
Testing Automation Testing is an ef?cient way to
ensure code is thoroughly tested before it is
released to production. Tools like Selenium,
TestNG, Junit/Unit are used to automate the test
cases execution which saves time and effort.
Reports generated help in defects
analysis. Triggering the entire automation
testing process is vital and hence, the
Continuous Integration tools come into the
picture. Continuous Integration Developers
commit their code after each update, to a shared
code base and each integration is veri?ed by an
immediate build to minimize integration errors.
It is undoubtedly the most crucial phase of
DevOps cycle which holds it all
together. Popular tools are Jenkins, Bamboo and
Hudson where Jenkins is the most widely used.
These tools orchestrate the DevOps cycle.
TEAM
TEAM
C O N T I N U O U S F E E D B A C K
TEST UNITS
TEST UNITS
AUTOMATED TESTING
AUTOMATED TESTING
C ONTINUOUS INTE GR ATION
CONTINUOUS PLANNING
DEVELOPMENT ENVIRONMENT
BUILD
BUILD
STAGE DEPLOYMENT
ACCEPTANCE TEST
BUILD
UNIT TEST
BUILD
CONTINUOUS TESTING CONTINUOUS DEVIVERY
TEST ENVIRONMENT
FUNCTIONAL TESTING
C ONTINUOUS DELIVER Y
ACCEPTANCE TEST
PRODUCTION DEPLOYMENT
STAGE DEPLOYMENT
UNIT TEST
BUILD
CONTINUOUS TESTING CONTINUOUS DEVIVERY
ACCEPTANCE TESTING
STAGE ENVIRONMENT
C ONTINUOUS DEPL O YMENT
PRODUCTION DEPLOYMENT
ACCEPTANCE TEST
STAGE DEPLOYMENT
UNIT TEST
BUILD
CONTINUOUS MONITORING
PRODUCTION ENVIRONMENT
FEEDBACKS
MANUAL
AUTO
www.devopsuniverse.org
6
Continuous Deployment This is the phase where the
code is deployed in production-like environments.
Continuous Delivery is the process where new
versions of an application are deployed
frequently. In Continuous Deployment, we deploy
each successful build to production
automatically. Con?guration Management and
Containerization tools that help in Continuous
Deployment are Puppet, Ansible, Chef, Salt Stack,
Docker etc. Continuous Monitoring Monitoring
performance of an application is as vital as its
development. Defects that are left during
Testing phase must be reported as bugs and dealt
with. Splunk, ELK Stack, and Nagios are some of
the popular tools for monitoring. These
tools help you minimize the impact of
failures. Continuous Feedback Feedback is the
synergist for organizational changes. DevOps
feedback loop has transformed the complete
software delivery by highlighting all the major
issues and bottlenecks before the actual
release. Feedback is an integral part of all
phases. Due to shorter development cycles, we
get frequent feedback from users which helps us
to adapt quickly to changing dynamics. Each time
we integrate, we test, or we deploy and run, the
data we gather, are important feedback mechanisms
for constant improvisation.
www.devopsuniverse.org
7
What led to DevOps?
Every organization must innovate and constantly
improve to stay competitive in this
expeditious IT world. But how do you achieve
this? As we all know, there were many challenges
with the conventional waterfall process. Software
development and IT operations were two separate
units that worked independently. Developers
coded their pieces in secluded environments with
unique con?gurations. Until just before 2000,
most software was developed and updated using
waterfall methodology, a linear approach to
large-scale development projects. Software
development teams would spend months developing
large bodies of new code and several more months
integrating that new code into the code
base. Next, quality assurance (QA), security and
operations teams spent still more months testing
the code. The result was one software release
took months or even years to go into production,
with several bug ?xes between releases too.
Clients as well as production support were
typically unaware of what the developers and
testers were working on and if the business
requirements changed midway, incorporating them
within timelines and assuring quality was very
dif?cult. The teams always blamed other
counterparts for faults and failures. Was Agile
the solution? To speed development and improve
quality, development teams began adopting agile -
an iterative rather software development
methodology rather than linear focusing on making
smaller, more frequent updates to the
application code base continuous integration
and continuous delivery or CI/CD where smaller
chunks of new code are merged into the code base
weekly or fortnightly, and then automatically
integrated, tested and prepared for deployment to
the production environment. Some issues from
waterfall were addressed as Agile bridged the gap
between developers and testers, but Operations
was still a separate entity, resulting in a huge
delay in deployment. Agile made the development
process faster through smaller and iterative
deliveries, but time-to-market was still huge
and assuring high quality deliverables was still
a challenge.
www.devopsuniverse.org
8
DevOps was thus born! So, DevOps grew out of
agile. It added new processes and tools that
extend the continuous iteration and automation
of CI/CD to the rest of the software delivery
lifecycle. It merged development and operations
under one umbrella and signi?cantly accelerated
software delivery and offered incredible
bene?ts. DevOps owes its conception to Patrick
Debois who coined the term DevOpsDays for his
conference in 2009 which emphasized on the power
of different teams working together as ONE.
Since then, started a new wave in technology and
DevOps gradually became the IT buzzword which
every organization wanted to adopt and experience.
WATERFALL AGILE Design Code Test Code Test Code
Test Code Test Deploy DEVOPS
Design
Code
Test
Deploy
Design
DEVOPS IS NOT A DIFFERENTIATING FACTOR ANYMORE
RATHER AN ESSENTIAL ELEMENT TO COMPETE AND
SURVIVE IN THE IT INDUSTRY.
www.devopsuniverse.org
9
Benefits of DevOps
  • DevOps brings strategic shifts in processes,
    mindsets, culture, and collaboration and results
    in
  • bene?cial business outcomes.
  • IT Professionals with DevOps knowledge and
    expertise bring along important strategic skills
    that
  • propels an organizations culture.
  • The following bene?ts from DevOps will help an
    organization appreciate the impact of a DevOps
  • approach, such as
  • Accelerated Time to Market
  • Shorter development cycles
  • Effective communication and collaboration
  • Improved Product Quality and Higher customer
    satisfaction
  • Reduced Deployment Failures and Rollbacks
  • Reduced Time to Recovery
  • Reduced Costs
  • Accelerated Time to Market
  • DevOps practices can minimize confusion and
    delays occurring due to communication gaps. The
    release frequency has increased dramatically. An
    application now releases once a week on average
    compared to once every one to six months,
    previously. Some applications can be deployed
    multiple times in a day if needed.

www.devopsuniverse.org
10
  • Reduced Deployment Failures and Rollbacks
  • Rapid development and deployment are of no use,
    if the resulting release is a failure. But when
    software is developed using a DevOps mindset, an
    operational viewpoint is considered which as
    well minimizes chances of such deployment
    failures. With improved defect detection
    techniques, the number of pre- and
    post-deployment issues and rollbacks, have
    decreased to a large extent.
  • With substantial automation and monitoring,
    DevOps teams can easily identify and eradicate
    roadblocks and establish a more powerful and
    smooth release process. Reports suggest that
    quick and structured responses to unexpected
    production issues yield a 24x faster mean
  • time-to-recovery in organizations practicing
    DevOps and a 3x lower change failure rate.
  • Improved Product Quality and Higher customer
    satisfaction
  • One of the major reasons behind poor quality
    products is programming defects. With shorter
    development cycles and frequent code releases,
    its easy to identify code defects. The CICD
    pipeline has eliminated the errors that occurred
    due to manual con?gurations and error-prone
    practices. Also, highest priority incidents are a
    rarity now.
  • Frequent releases provide quicker user feedback
    to the development teams. This lets them work on
    only the useful features and build the right
    product. As a result of constant feedback
    throughout the process, there is faster
    identi?cation of the capabilities customers care
    about most, hence increased customer
    satisfaction.
  • Reduced Time-to-Recovery
  • Even if the probability of failures is minimized,
    failures will still occur. How well you bounce
    back from a failure is what matters. The time to
    recover to operational ef?ciency is reduced in a
    DevOps environment compared to a traditional IT
    environment.
  • Recovery is much faster due to the gained
    ef?ciencies as a result of effective
    communication and better understanding across
    teams. The CICD pipeline automatically rolls back
    an unsuccessful release. This further reduces
    the risk of a release failure and makes it more
    reliable. The CICD pipeline automatically rolls
    back an unsuccessful release. This further
    reduces the risk of a release failure and makes
    it more reliable.
  • Reduced Costs
  • While measuring and quantifying peoples
    behavior, regarding DevOps, may be dif?cult, it
    is still possible to measure tangible bene?ts of
    DevOps such as an observed decrease in
    development and operations costs.
  • Once organizations track the time and cost for
    software application projects using a traditional
    non-DevOps approach and compare it against using
    DevOps, they will realize and better appreciate
    the quanti?able bene?ts of DevOps.

www.devopsuniverse.org
11
Essential Elements for DevOps success
DevOps does not prescribe how it must be
implemented to be effective. It is indeed a
perfect mix of the essential ingredients that
makes DevOps practices fruitful and achieving
perfection is never easy!! So, lets discuss how
we can blend these vital elements together to get
DevOps right. Culture Its a proven fact that
DevOps cant work without committing to DevOps
culture it is more than an evolution in
processes, automation and tools. The critical
part is breaking silos, accepting the radical
shift in mindset and embracing the culture of
achieving together. It is all about recognizing
and valuing mutual success, collaboration, and
joint responsibility. DevOps emphasizes on
understanding others viewpoints and strongly
believes in adjustments to accommodate others
and collaborate with them, productively. For
successful DevOps, all possible reasons of
friction or misalignment, need to be proactively
removed from the system. The shared
accountability and collaboration are the
fundamental pillars of having a successful
outcome from DevOps. Process A communication
channel is a must for manifesting a DevOps
culture in practice where developers and IT
operations can share expert ideas and together
troubleshoot issues. So, a good and effective
collaboration framework should be in
place. Well-de?ned contracts should be made which
states that the con?guration settings will remain
same for dev, test, or production environments,
hence removing environmental parity issues which
often cause delays and failures. Joint processes
should be established like using a centralized
repository to store software dependencies,
always holding current data. With such
mechanisms, it is feasible to push releases to
production frequently and seamlessly, with
minimal errors and downtime. Automation
Tools Automation is at the heart of the DevOps
approach. It is an important aspect that makes
the process lean as all repetitive tasks are
automated and the risk due to human errors is
also reduced. DevOps automation is vital to
achieve agility. There are many tools involved in
each phase of DevOps cycle which are rightly
called the key enablers of DevOps. There are
multiple tool options available in the market to
choose from, for various phases of DevOps
integrating these tools together to form an
ef?cient CICD pipeline is the key to DevOps
success.
www.devopsuniverse.org
12
The Key Enablers of Devops Automation Tools
A question that I am sure intrigues our mind
often is Why tools like Jenkins, Ansible, Chef,
Puppet etc. having been in existence for several
years, did not get the traction that they have
now? What is the reason behind their sudden
popularity? Individually, the tools may have
lesser signi?cance but in the DevOps context,
they create a huge impact. CICD pipeline
integrates them together for a bigger purpose a
common goal, making them extremely relevant and
useful. No wonder, organizations typically spend
around 73 percent of their DevOps budget in tool
acquisition. It is best to have a tools strategy
that adheres to a common set of objectives while
providing seamless cross-tool collaboration and
integration. No single tool will satisfy the
needs of every project, but with so many
high-quality open-source solutions available in
the market, theres a fair possibility that you
will be able to ?nd a combination that is a
viable ?t for your requirements. While some
organizations may debate over the importance of
Automation tools over people for DevOps success,
people and automation tools both are the pillars
of DevOps philosophy, and it is the perfect
combination of both that will lead to effective
DevOps implementation.
www.devopsuniverse.org
13
What to keep in mind while considering DevOps?
Here are some of the points that you must
consider and proactively handle, to reduce the
number of challenges you face, during the
implementation of DevOps practices. The key to
improving how the world builds software is
solving both hard technical and organizational
challenges. Don't misinterpret DevOps People
often misunderstand the true meaning of DevOps.
It takes a while for people to truly realize the
motto behind DevOps and the appreciate the
bene?ts it offers. DevOps never advocates that
every team member should be capable of doing
everything. Rather, it emphasizes that team
members accomplish their individual tasks and
collaborate effectively to meet team
goals. Always Customize as per
Requirements DevOps practices should always be
structured to meet the unique needs of the
organization, considering several parameters like
organizational structure, team incentives,
current software life cycle, sources of delay,
and opportunities for automation. At the same
time, accountability, transparency, and continual
learning should not be compromised. Inadequate
Foresight is not Good Lack of vision makes it
challenging for project owners to create a clear
plan about estimates, milestones, and
deliverables. Since DevOps is relatively new, it
is dif?cult to ?nd members who have adequate
expertise in this ?eld. Due to this, most of the
roadblocks are intimidating for organizations
which follow a streamlined set of guidelines.
www.devopsuniverse.org
14
TAKE ONE STEP AT A TIME Insuf?cient Tool
Knowledge People working on legacy tools prefer
to continue them, as getting familiar with the
functionalities of the latest tools is often a
tough task. A shortage of tool knowledge and the
technology behind it, often leads organizations
into making incorrect choices of tools that
would best align with their technical
vision. Proper cross-tool collaboration and
integration is also dif?cult to achieve, with
incomplete knowledge about tools. It's all about
Teamwork People are always reluctant to change,
hence it is dif?cult to adapt easily to the
cultural shift DevOps brings. As DevOps focuses
heavily on collaboration, each member must be
ready to share responsibility and look beyond his
own boundaries of work. Without a harmonious
outlook, even the best of tools will not be
effective. Automation tools are a must for
quicker deliveries but the foremost step in
succeeding with DevOps is creating a
cross-functional team guided by empathy,
transparency, respect, and aligning towards a
common goal. Avoid Unnecessary Complexity
Integrate Cautiously Keep things simple and
integrate cautiously Too many vendor solutions in
the market, lead to huge confusion and often
result in signi?cant overhead and complexity.
Ideally, all teams across organizations should
adhere to a standardized tool stack and a uni?ed
approach. This will surely smoothen your DevOps
implementation. Understanding DevOps is an
expedition A shift to DevOps culture is
comparatively easier for small companies like
startups than for larger organizations. It is
best to take an incremental approach, slowly
introducing DevOps to bring out changes in
peoples behavior and maximize chances of
acceptance. DevOps practices must be dynamic and
grow along with the evolving requirements,
to ful?ll its purpose of enhancing the software
delivery experience.
www.devopsuniverse.org
15
What is DevSecOps?
DevSecOps is DevOps with security embedded
throughout the DevOps lifecycle it is not just
development and operations teams working
together, but security team also. So, there is
continuous integration and automation of security
throughout all the phases - from start to ?nish,
from planning through feedback and back to
planning again. Well, you would think that
should have happened right from the beginning,
when DevOps started. right? It is a daunting
task to begin with! There were many challenges of
DevOps adoption, two of the biggest being
integrating security expertise into
cross-functional teams (more of a cultural
issue) and second, implementing security
automated mechanisms into the cycle (technical
challenge). Hence, security integration would
have been an expensive bottleneck, and was
avoided initially at DevOps inception. In
organizations where DevOps practices are now
established and some stability has been
achieved, they can integrate security in the
process, and move one step up form DevOps to
DevSecOps.
Is DevOps and SRE same?
The goal of SRE is similar to the goal of DevOps,
but a little more speci?c SRE targets to balance
an organization's goal to accelerate software
delivery along with its need to conform to
performance and availability levels mentioned in
service level agreements (SLAs) with customers
and end-users. On a cross-functional DevOps
team, SRE acts as a bridge between development
and operations, providing the team, the
benchmarks and automation required to push code
changes and new features through the DevOps
pipeline as quickly as possible, without
'breaching' the SLAs. Site reliability
engineering (SRE) uses software engineering
techniques to automate IT operations tasks which
are generally performed manually by system admins
such as production system management, change
management, incident response and emergency
responses. SRE aims to modify the traditional
system administrator into an engineer.
www.devopsuniverse.org
16
Contact Us
541-542, 5th Floor Tower B3, Spaze IT Park
Sector 49, Sohna Road Gurugram,
India 120018 Mail contactus_at_devopsuniverse.org t
rainings_at_devopsuniverse.org Phone 91
7303225557 www.devopsuniverse.org
www.devopsuniverse.org
Write a Comment
User Comments (0)
About PowerShow.com