git & dev ops come together, right now!

Post on 13-Jan-2017

164 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Come together, right now!GitHub &

Infrastructure as Code

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.

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/

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.

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.

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.

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.

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

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

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.

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.

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.

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.

top related