Post

Overview of DevOps

Introduction to DevOps

  • DevOps is a cultural transformation.
  • DevOps is not a tool or a job title. It is a shared mindset.
  • Embrace the DevOps Culture.
  • #1 reason why DevOps fails is due to issues around organizational learning and cultural change.
  • DevOps is not a tool or a job title. It is a shared mindset.

    “Tools are not the solution to a cultural problem.” — Gartner

    “Team culture makes a large difference to a team’s ability to deliver software and meet or exceed their organizational goals.” — Accelerate State of DevOps 2021

How to change a Culture

  • Think Differently
    • Social Coding
    • Work in small batches
    • Minimum viable product
  • Work Differently

    Team culture makes a large difference to a team’s ability to deliver software and meet or exceed their organizational goals.

  • Organize Differently
  • Measure Differently
    • Measure what matters
    • You get what you measure

Business Case For DevOps

Disruptive Business model:

  • 52% of the Fortune 500 have disappeared since the year 2000.
  • When disruption happen, businesses need to adopt according no matter what, and this adaptation should be agile and lean.

    Overview of DevOps

    Digitization + Business Model:

  • Technology is the enabler of innovation, not the driver of innovation.
  • The Businesses, who adapt to new tech, survive.
  • The refusal to change according to the digital ages makes it susceptible to bankruptcy.

DevOps Adoption

Unlearn what you have Learned

  • A different mindset
  • Unlearn your current culture
  • Often easier said than done

Consider this:

  • fail fast and roll back quickly
  • test in market instead of analyzing
  • modular design which makes individual components replaceable

How are they doing this?

  • What is their secret?
  • They have embraced the DevOps culture.

Definition of DevOps

The term (development and operations) is an extension of agile development environments that aims to enhance the process of software delivery as a whole. — Patrick Debois, 2009

DevOps defined:

  • Recognition that working in silos doesn’t work
  • Development and operations engineers working together
  • Following lean and agile principles
  • Delivering software in a rapid and continuous manner

DevOps requires:

  • A change in culture
  • A new application design
  • Leveraging automation
  • Programmable platform

What DevOps not:

  • Not simply combining development and operations
  • Not a separate team
  • Not a tool
  • Not one size fits all
  • Not just automation

Essential Characteristics of DevOps

What’s the Goal?

Agility is the goal:

  • Smart experimentation
  • Moving in market
  • With maximum velocity and minimum risk
  • Gaining quick, valuable insights

Agility: The Three pillars

  1. DevOps:
    • Cultural change
    • Automated pipeline
    • infrastructure as code
    • immutable infrastructure
  2. Microservices:
    • Loose coupling/binding
    • RESTful APIs
    • Designed to resist failures
    • Test by breaking/fail fast
  3. Containers
    • portability
    • Developer centric
    • Ecosystem enabler
    • Fast startup

Overview of DevOps

The Perfect Combination/Storm

  • DevOps for speed and agility
  • Microservices for small deployments
  • Containers for ephemeral runtimes

Learning how to work differently

“DevOps starts with learning how to work differently. It embraces cross-functional teams with openness, transparency, and respect as pillars.” — Tony Stafford, Shadow Soft.

Application Evolution

Overview of DevOps

DevOps has three dimensions:

Overview of DevOps

Responsibility, transparency, feedback:

“Culture is the #1 success factor in DevOps. Building a culture of shared responsibility, transparency, and faster feedback is the foundation of every high-performing DevOps team.” — Atlassian

Culture, culture, culture:

While tools and methods are important; … it’s the culture that has the biggest impact.

How to change a Culture?

-Change thinking patterns of people

  • working methodology as well as environment
  • Organizational change.
  • Change of the way people are measured.

Overview of DevOps

Leading Up to DevOps

  • Architects worked for months designing the system.
  • Development worked for months on features.
  • Testing opened defects and sent the code back to development.
  • At some point, the code is released to operations.
  • The operations team took forever to deploy.

Traditional Waterfall Method

Overview of DevOps

Problems with Waterfall Approach

  • No room for change
  • No idea if it works till end
  • Each step ends when the next begins
  • Mistakes found in the later stages are more expensive to fix
  • Long time between software releases
  • Team work separately, unaware of their impact on each other
  • Least familiar people with the code are deploying it into production

XP, Agile, and Beyond

Extreme Programming (XP)

  • In 1996, Kent Beck introduced Extreme Programming
  • Based on an interactive approach to software development
  • Intended to improve software quality, responsiveness to changing customer requirements
  • One of the first Agile methods

Overview of DevOps

The Agile Manifesto

We have come to value:

  • Individuals and interactions over processes and tools
  • Working Software over comprehensive docs
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

Agile Development

Overview of DevOps

Agile alone is not good enough:

Overview of DevOps

2 Speed IT:

  • This is how Shadow IT started, as Ops team wasn’t meeting their needs.

Overview of DevOps

Shadow IT

  • Resources the business doesn’t know about
  • People go around IT
  • We need the solution to this problem, and DevOps is the answer

Brief History of DevOps

2007 Patrick Debois:

He recognized Dev and Ops worked ineffectively and not together.

2008 Agile Conference:

Andrew Clay Shafer – Agile Conference 2008 BoF (Birds of a Feather) meeting “Agile Infrastructure”

2009 Velocity 10+ deploys per day:

John Allspaw – Velocity 2009 “10+ Deploys Per Day: Dev and Ops Cooperation at Flickr”

DevOpsDays – Patrick Debois started the first DevOpsDays conference Ghent, Belgium, October 2009

2010 Continuous Delivery:

Continuous Delivery – by Jez Humble and David Farley

2013 The Phoenix Project:

The Phoenix Project – by Gene Kim, Kevin Behr and George Spafford

2015 State of DevOps Report:

State of DevOps Reports – from DevOps Research and Assessment (DORA), founded by Dr. Nicole Forsgren, Gene Kim, and Jez Humble

2016 The DevOps Handbook:

The DevOps Handbook – by Gene Kim, Jez Humble, Patrick Debois, and John Willis

2019 10 Years of DevOpsDays:

DevOpsDays – 40 events in 21 countries are scheduled for 2019 (10 years later) Patrick Debois (lead 2009-15) Bridget Kromhout (lead 2015-2020)

Overview of DevOps

Why is the history significant?

It reminds us that DevOps is:

  • From the practitioners, by practitioners
  • Not a product, specification, or job title
  • An experience-based movement
  • Decentralized and open to all
This post is licensed under CC BY 4.0 by the author.