What is the Disciplined DevOps Layer?

What is the Disciplined DevOps Layer?

Disciplined DevOps is an enterprise-ready approach that extends general DevOps to the Next Level by including critical security, data management, release management, and business operations layers in a pipeline.

A general overview of 𝗗𝗲𝘃𝗢𝗽𝘀 𝗦𝘁𝗮𝗰𝗸:

  1. 𝙄𝙣𝙛𝙧𝙖𝙨𝙩𝙧𝙪𝙘𝙩𝙪𝙧𝙚 Layer that includes cloud providers (AWS, Azure, GCP), servers (physical, virtual), networks (LAN, WAN), etc

  2. 𝘾𝙤𝙣𝙛𝙞𝙜𝙪𝙧𝙖𝙩𝙞𝙤𝙣 Layer that manages the configuration of the infrastructure and the applications that run on it. Tools are Ansible, Chef, Puppet and infrastructure as code tools are Terraform, CloudFormation.

  3. 𝘾𝙤𝙣𝙩𝙖𝙞𝙣𝙚𝙧 𝙊𝙧𝙘𝙝𝙚𝙨𝙩𝙧𝙖𝙩𝙞𝙤𝙣 Layer that manages the deployment, scaling, and monitoring of containers using Kubernetes, Docker Swarm, and Amazon ECS.

  4. 𝘽𝙪𝙞𝙡𝙙 Layer includes Maven, Gradle, and for continuous integration Jenkins, GitLab, and version control tools (Git).

  5. 𝙏𝙚𝙨𝙩 Layer includes unit testing frameworks (JUnit, NUnit), integration testing tools (Selenium, Appium), and performance testing tools (JMeter, Gatling).

  6. 𝘿𝙚𝙥𝙡𝙤𝙮𝙢𝙚𝙣𝙩 Layer includes continuous deployment tools (Jenkins, GitLab CI/CD), release management tools (XL Release, Octopus Deploy), and rollback management tools.

  7. 𝙈𝙤𝙣𝙞𝙩𝙤𝙧𝙞𝙣𝙜 Layer includes metrics collection tools (Prometheus, Grafana), log management tools (ELK, Splunk), and application performance management (APM) tools (Dynatrace).

But, how does a "Disciplined DevOps" differ from a general DevOps?

Mainstream DevOps is the streamlining of software development, information technology (IT) operations, and support.

This strategy is often depicted as an infinite loop as you see here.

The classic DevOps workflow.

DevOpsInfinite Loop copyright.jpg

And, the high-level workflow for Disciplined DevOps is depicted here.

The workflow of Disciplined DevOps.

Let's explore the components of Disciplined DevOps. The hexes in this figure represent process blades, sometimes called process areas. A process blade encompasses a cohesive collection of process options, such as practices and strategies, that should be chosen and then applied in a context sensitive manner. Process blades also address functional roles specific to that domain as well as extensions to the DA mindset specific to that domain. The process blades of Disciplined DevOps are:

  1. Disciplined Agile Delivery (DAD)

  2. Security

  3. Data Management

  4. Release Management

  5. Support

  6. IT Operations

  7. Business Operations (from the Value Streams layer)

Disciplined Agile Delivery (DAD)

DAD is a first user-learning-oriented hybrid approach to solution delivery. DAD teams focus on the creation of a new, or evolution of an existing, consumable solution for their customers. A solution may include any combination of software, physical assets (e.g. hardware), documentation, changes to the supported business process, and changes to the organizational structure(s) of the people involved. A solution is consumable when it is usable, desirable, and functional. DAD enables a flexible way of working (WoW), supporting several lifecycles in a manner that is scalable.

Security

The security process blade focuses on how to protect your organization from both information/virtual and physical threats. This includes procedures for security governance, identity and access management, security policy management, incident response, and vulnerability management. As you would expect these policies will affect your organization’s strategies around change management, disaster recovery and business continuity, solution delivery, and vendor management. For security to be effective it has to be a fundamental aspect of your organizational culture.

Data Management

Data Management is the development, execution and supervision of plans, policies, programs and practices that control, protect, deliver and enhance the value of data and information assets. DA promotes a pragmatic, streamlined approach to data management that fits into the rest of your organizational processes – we need to optimize the entire workflow, not sub-optimize our data management strategy. Disciplined agile data management does this in an evolutionary and collaborative manner, via concrete data management strategies that provide the right data at the right time to the right people.

Release Management

The release management process blade encompasses planning, coordinating, and verifying the deployment of solutions into production. Release management requires collaboration by the team(s) producing the solutions and the people responsible for your organization’s operational environment(s). In the case of organizations with a “you build it, you run it” DevOps mindset these people may be one in the same, although even in these situations you will often find a group of people responsible for governing the overall release management effort. In a true DevOps environment release management is fully automated for the intangible aspects (e.g. software and supporting documentation), and perhaps even some physical aspects, of your solution.

Support

It focuses on helping customers/end users to work with the solutions produced by your delivery teams. Ideally your solutions should be designed so well that people don’t need anyone to help them but unfortunately it doesn’t always work out that way. So in many ways your support strategy is your “last line of defense” in your efforts to delight customers. Support goes by many names, including help desk, customer support, and customer care.

IT Operations

The primary aim of it is to run a trustworthy IT ecosystem. From the point of view of your customers, you want to do such a good job that they don’t even notice IT. For older organizations this can be a challenge due to the existence of hundreds, if not thousands, of legacy systems that have been deployed over the decades. You may face daunting technical debt in these systems – poor quality data, overly complex or poorly written source code, systems with inadequate automated regression tests (if any), different versions of the same system, several systems offering similar functionality, numerous technology platforms, systems and technologies for which you have insufficient expertise, and more.

Business Operations

It is one of the process blades of the value stream layer, although as you see in Figure 3 it is a critical component of the Disciplined DevOps workflow. Business operations focuses on the activities required to provide services to customers and to support your products. The implementation of business operations will vary by value stream, in a bank retail account services is implemented in a very different manner than brokerage services for example. Business operations includes help desk and support services (integrated in with support where appropriate) as well as any technical sales support activities such as training, product installation, and product customization.

Compiled by: Azizul maqsud

Reference: https://www.projectmanagement.com/blog/blogPostingView.cfm?blogPostingID=66264&thisPageURL=/blog-post/66264/The-Disciplined-DevOps-Layer#_=_