Tuesday, 1 January 2019

What is DevOps?

What is DevOps?

Microsoft describes DevOps in following way.

A definition of DevOps

Ask 10 people for a definition of DevOps, and you'll get 10 different answers. At Microsoft, we have adopted the following definition from our Principal DevOps Manager on Microsoft's Cloud Developer Advocacy team, Donovan Brown.
DevOps is the union of people, process, and products to enable continuous delivery of value to our end users.
DevOps eliminates Development and Operation working in silos. It creates multidisciplinary teams that work together with shared and efficient practices and tools.
Some of the practices found in DevOps organizations include the following.
Agile planningEnsure a prioritized backlog of work is available for the team and facilitate management for work including user stories, bugs, and more
Continuous Integration (CI)The process of automating the build and testing of code every time a team member commits changes to version control
Continuous Delivery(CD)The process to build, test, configure, and deploy from a build to a production environment.
MonitoringUse telemetry to deliver information about an application’s performance and usage patterns to aid learning as we iterate.

Benefits of DevOps

DevOps Research and Assessment LLC (DORA) published Accelerate: State of DevOps 2018: Strategies for a New Economy that included some interesting research to support the practices used by some of the highest performing organizations in the world today.
 Note
The Accelerate: State of DevOps 2018: Strategies for a New Economy report is the largest and longest-running research of its kind representing five years of work surveying over 30,000 technical professionals worldwide.
Using metrics to create four categories of organization, when comparing elite performers with low performers, elite performers:
  • do 46 times more frequent code deployments
  • have 2,555 times faster lead time from commit to deploy
  • benefit from seven times lower change failure rate
  • recover from incidents 2,604 times faster
These are just a few of the metrics that show that adopting DevOps practices can greatly assist an organization in meeting many of their business goals in an increasingly competitive world.
Here are some additional findings that are detailed in the report.

DevOps improves software delivery, which increases competitive advantages

This enables companies to experiment with increasing customer adoption and satisfaction. Leads to better organizational performance, and often higher profitability & market share. Agility allows companies to respond to competitive threats, and pivot more quickly to keep up with compliance and regulatory requirements.

How you implement cloud infrastructure matters

The cloud improves software delivery performance and teams that adopt essential cloud characteristics are 23 times more likely to be high performers.

Open-source software improves performance

High performers are 1.75 times more likely to extensively use open-source software. They are also 1.5 times more likely to expand open-source usage in future.

Outsourcing by function is rarely adopted by elite performers and hurts performance

Outsourcing can save money and provide a flexible labor pool, but must be used in the correct areas. Low-performing teams are almost four times as likely to outsource whole functions (testing, operations, etc.) then their higher-performing counterparts.

Continuous delivery technical practices drive high performance

These include monitoring and tracking, continuous testing, database change management, and integrating security earlier in the software development process.

What DevOps is not

When considering what DevOps is, it is also important to also ensure we understand what DevOps is not.
  • DevOps is not a methodology
  • DevOps is not a specific piece of software
  • DevOps is not a quick-fix for an organization's challenges
  • DevOps is not just a team or a job title (Although these are reasonably common in the industry)

No comments:

Post a Comment

Create a web app in the Azure portal

Here, you'll learn how to create an Azure App Service web app using the Azure portal. Why use the Azure portal? The first step i...