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 Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
  1. DZone
  2. Testing, Deployment, and Maintenance
  3. DevOps and CI/CD
  4. DevOps and Keeping the Boring Things Boring

DevOps and Keeping the Boring Things Boring

Support the automation of tasks in order to ensure mistakes are kept to a minimum. Allow humans to focus on the unpredictable. Make the boring things stay boring.

Derek Weeks user avatar by
Derek Weeks
·
Jan. 22, 17 · Opinion
Like (6)
Save
Tweet
Share
3.76K Views

Join the DZone community and get the full member experience.

Join For Free

I, For One, Welcome Our New Robot Overlords was the title of Mykel Alvis (@mykelalvis)'s session at the 2016 All Day DevOps Conference. He wasn’t trying to curry favor with the new robot rulers, ala Kent Brockman, but, instead, was evangelizing on the importance of precision in DevOps.

Image title


Mykel is the DevOps Coach at Cotiviti Labs, the development arm of Cotiviti. Every day, they handle healthcare data, which as you know happens to be some of the most regulated and protected data around. As Mykel said, “We don’t do cat pictures on the Internet.” A mistake, breach, security flaw, etc. could mean the exposure of privacy and financial data for millions of people. However, they are a large organization with exposure that needs to be managed. They have 200+ repositories, three to four deployments per day, 15 developers, and zero operators (sort of). Without the right discipline and rigor, costly mistakes could happen.

Hence, Mykel’s need for the robot overlords. As he noted during the conference session, robots have “lower utility, but greater predictability.” They do exactly what they are told, and they do it the same way, every time. By contrast, humans are superior to responding to unpredictable events. Mykel’s goal is to leverage the strengths of each. Cotiviti Labs has systems, policies, procedures, and a culture in place that supports the automation of tasks as much as possible to ensure mistakes are kept to a minimum and the humans can focus on the unpredictable. They are striving to make the boring things stay boring. They call it “The Labs Way” and here is how they do it.

  • Treat everything as code. Everything. Infrastructure, data, everything. As an example, they perform pull requests to get status updates for executive reports.
  • Test the code. 
  • Perform formal releases. They build their code in very specific ways, with extremely rigid gatekeeping processes.
  • Releases produce immutable artifacts. Once something has been released, they will never change it. They could, but they don’t.
  • Keep everything. Not in a huge, unorganized file system. In an organized repository.
  • Failing tests mean a failed build.
  • Design your systems to be automated. They don’t do things that can’t be done automatically.
  • Deal with those systems only through automation. This is probably the most challenging thing we do since it is extremely hard to convince developers to write their code to do this.
  • Operations is developing. Operations is not a bucket for development. Operations is a development task. You treat it like it is real code.
  • Because everything is code. Everything.
  • All defects are defects of code.

Image title


To achieve this, they standardize, evaluate, test, discard the useless, and simply own it.

None of this comes easy. It challenges norms. It pushes boundaries. It mandates discipline. Your team has to understand that you have a way to do things. There is a reason, and it will reduce risks and make sure everything works. It will make the boring stay boring.

You can watch Mykel’s full presentation from the All Day DevOps conference here (30 minutes). The other 56 presentations from the All Day DevOps Conference are available online, free-of-charge here.

Image title


DevOps

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • How Elasticsearch Works
  • Test Execution Tutorial: A Comprehensive Guide With Examples and Best Practices
  • How To Set Up and Run Cypress Test Cases in CI/CD TeamCity
  • 5 Steps for Getting Started in Deep Learning

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

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

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: