Git & dev ops come together, right now!

13
Come together, right now! GitHub & Infrastructure as Code

Transcript of Git & dev ops come together, right now!

Page 1: Git & dev ops come together, right now!

Come together, right now!GitHub &

Infrastructure as Code

Page 2: Git & dev ops come together, right now!

Rob Hirschfeld, RackN CEORob made a career of data center and cloud automation including service as an Executive at Dell and Founding Board Member of the OpenStack Project. As co-creator of the open Crowbar/Digital Rebar physical provisioning project he brings DevOps control to physical and cloud infrastructure using Docker, golang, containers and microservices.

RackN creates cross-platform orchestration software based on the Digital Rebar project. Our solutions give enterprises control of their hybrid IT environments by allowing them to create a single operational environment that spans public cloud, private cloud and physical infrastructure.

Page 3: Git & dev ops come together, right now!

Inspired by DevOps.com Post:“What if we had Git for DevOps”

http://devops.com/2016/02/19/what-if-we-had-git-for-devops/

Page 4: Git & dev ops come together, right now!

DevOps CollaborationDevOps is not just automation!

It is a culture and process objective about treating software delivery as a pipeline where all the stakeholders (not just Dev and Ops) collaborate.

But… there are challenges in achieving this goal.

Page 5: Git & dev ops come together, right now!

Infrastructure as CodeCloud is Infrastructure with an API

(blog from 2013)

When infrastructure is programmable,

We can easily write software to creates infrastructure.

Github hosts many such examples. Unfortunately...

Configuring the software turns out to be very hard.

Page 6: Git & dev ops come together, right now!

Coding Ops ChallengesOps automation is a constantly moving target.

And usually slightly different for each operator.

Like maintaining c programs with make - everything breaks the build.

It is always multi-system and interpreted (meaning dynamically built).

Applications leverage deep dependency chains that constantly evolve.

And what about security, scale, availability, performance and monitoring?

It’s not just installing code - operators have to automate the full system.

Page 7: Git & dev ops come together, right now!

Beware the Monoliths

Most DevOps tools provide good modularity concepts; however, the systems they automate experience configuration side-effects, sequence artifacts and out-of-band configuration. These hidden actions make it difficult to isolate actions between modules.

To protect themselves, operators maintain stand-alone (aka forked) scripts that only work for their needs. I call this “golden path” automation.

Like coders, operators protect scripts by coupling components together.

Page 8: Git & dev ops come together, right now!

System A

Required: Horizontal & Vertical Configuration

Configuration steps require both same node (vertical) chains and cross node (horizontal) sharing of configuration.

Step 4

Step 5

Step1

System B

Step 2

Step 3

System C

Step 2

Step 3

Page 9: Git & dev ops come together, right now!

DevOps Challenges Break CollaborationLike reusing code, reusing automation means sharing experiences.

However, many factors make this difficult:

● Multiple Editors - have different needs and styles● Cross-Organization - have different environments● Iterative Learning - ops can be slow to recreate● Infrastructure - breaking differences (like networks)● Automation - different tools and capabilities● Hidden Assumptions - omissions in automation● Changing Dependencies - scripts have short half-life

Page 10: Git & dev ops come together, right now!

How do we address these issues?First, admit defeat. We are not going to create a monolithic, stable environment that everyone can share. Start by embracing diversity.

Like git, we need a way to isolate changes in a way that contains the extent of the changes.

We need composed automation instead of tightly coupled monoliths.

Collaborators need to be able to add, change or remove steps without breaking downstream steps. That means creating (and maintaining) functional boundaries between modules outside of the scripting tools.

Page 11: Git & dev ops come together, right now!

Ops: Configuration + Services + OrchestrationTightly integrated automation works for a single purpose but breaks when when the targets change.

Composability adds overhead because it requires orchestration and configuration management.

However, the isolation helps us accelerate by making components independent. That improves collaboration and protects scripts from unintended changes.

Page 12: Git & dev ops come together, right now!

Parting Thoughts: Embrace the Hybrid

The concepts we discussed today are essential to coping with a hybrid world. The sooner we accept a “hybrid tax” the sooner we’ll be able to collaborate.

Further Reading on Hybrid DevOps: Union of Configuration, Orchestration and Composability

http://community.hpe.com/t5/Grounded-in-the-Cloud/Hybrid-DevOps-Union-of-Configuration-Orchestration-and/ba-p/6836097#.VvM6ZWErJ6U

Hybrid is the new normal. We are not returning to a single platform or mono-infrastructure.

This is true for both internal and external collaboration.

Page 13: Git & dev ops come together, right now!

What is RackN doing about this?Open Source Digital Rebar Project

(http://rebar.digital)

We’ve build these concepts into an open source project that embraced hybrid in multiple dimensions including infrastructure, tools, operating systems.

We’re working to make ops automation composable to that people can collaborate like they do with git. They can focus on their own scripts in their own environments with less risk of breaking other contributors.

We are looking for help to spread the word.