DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • Product-Led Software Delivery: Intelligent Platforms for DevOps at Scale
  • OpenAPI From Code With Spring and Java: A Recipe for Your CI
  • The Death of "Text-Only" ChatOps: Why Google's A2UI Matters for DevOps and SRE
  • Reactive Ops to Autonomous Infrastructure: How Agentic AI Is Redefining Modern DevOps

Trending

  • How AI Coding Assistants Are Changing Developer Flow
  • Stop Using the ATM-Didn’t-Kill-Jobs Story to Reassure Developers About AI
  • Java in a Container: Efficient Development and Deployment With Docker
  • The Death of "Text-Only" ChatOps: Why Google's A2UI Matters for DevOps and SRE
  1. DZone
  2. Testing, Deployment, and Maintenance
  3. DevOps and CI/CD
  4. DevOps Guide: Implementing Four-Eyes Principle With Process Automation Tooling

DevOps Guide: Implementing Four-Eyes Principle With Process Automation Tooling

With great power comes great responsibility. More and more organisations are moving towards a DevOps based organisational model, putting more and more respon...

By 
Eric D.  Schabell user avatar
Eric D. Schabell
DZone Core CORE ·
Sep. 04, 20 · Tutorial
Likes (1)
Comment
Save
Tweet
Share
13.9K Views

Join the DZone community and get the full member experience.

Join For Free

With great power comes great responsibility.

More and more organisations are moving towards a DevOps based organisational model, putting more and more responsibility into the hands of the teams delivering software. As part of that change - and the need due to the markets moving faster and faster - more and more organisations are investing into means to release more milestones into production faster. Therefore one of the main goals within these organisations is to automate, audit, secure and ensure correct repeatability of actions.

Barriers to creating a harmonious flow are found in organizations that require more stringent verification methods on their software release mechanisms. One of the more common requirements is that of the four-eyes principle, requiring extra approval controls before release.

Let's look at defining and implementing the four-eyes principle in a DevOps automation process.

If we look around the world we'll find the four-eyes principle as an integral part of many business domains. Before we look closer at implementing the solution for this principle, let's take a look at it's definition by the United Nations Industrial Development Organization.

What Is the Four-Eyes Principle?

The four-eyes principle means that a certain activity, i.e. a decision, transaction, etc., must be approved by at least two people. This controlling mechanism is used to facilitate delegation of authority and increase transparency. The processes in UNIDO's new business model are based on the four-eyes principle, which are facilitated by electronic approvals and workflows in the ERP system. This approach not only ensures the efficiency of processes by enabling fast decision-making while ensuring effective control and monitoring, but also brings about cultural change. Staff members are able to perform these processes irrespective whether they are at Headquarters or in the field. 
There are two really interesting (highlighted in bold text) fragments in this definition that we'll be applying in our implementation example:

  1. "...facilitated by electronic approvals..."
  2. "...workflows in the ERP system."

Both of these aspects, automated approval using a rule based system and process automation workflows, can be applied to our software DevOps delivery model.

Implementing the Principle

Our example DevOps implementation will focus on the software delivery model of a continuous integration and continuous delivery (CI/CD) mechanism. It's not important how that is exactly implemented as many organizations have many different components in use to achieve the same results, an automated delivery of software into production.

To meet the principle, we'll be looking at adding in some automated checks using a rule engine to ensure automated approval of software updates in a portion of our CI/CD pipeline. The second set of eyes are added with process automation tooling using user task tools.

This entire example is available for you online in a workshop where you can get hands-on at your own pace with freely available tooling. From installation of the tooling to developing all the components of your process, it's a step-by-step experience where you'll see how the four-eyes principle can work for your DevOps processes when needed.

So what's this automated process doing?

Figure 1: Process implementation from workshop.

As shown in figure 1, a code job is submitted by a developer, the automated rules are applied to determine if a code review is needed by peers (+50 lines of code submitted). A review is possible and done by a senior group if needed. Diverse logging documents process flow as the job moves through the process before heading back for deployment. Ideal jobs pass all rules and tests for automated deployment.

Take a look at the workshop and implement the example on your own machine. Before you know it, you'll be the DevOps Hero in your corner of the world.


(This article co-authored with Roel Hodzelmans)

DevOps

Published at DZone with permission of Eric D. Schabell. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • Product-Led Software Delivery: Intelligent Platforms for DevOps at Scale
  • OpenAPI From Code With Spring and Java: A Recipe for Your CI
  • The Death of "Text-Only" ChatOps: Why Google's A2UI Matters for DevOps and SRE
  • Reactive Ops to Autonomous Infrastructure: How Agentic AI Is Redefining Modern DevOps

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook