DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration...

41
HOW OPEN SOURCE IS DRIVING DEVOPS INNOVATION Gordon Haff @ghaff William Henry @ipbabble Cloud & DevOps Product Strategy, Red Hat 17 August 2015

Transcript of DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration...

Page 1: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

HOW OPEN SOURCE IS DRIVINGDEVOPS INNOVATION

Gordon Haff @ghaffWilliam Henry @ipbabbleCloud & DevOps Product Strategy, Red Hat17 August 2015

Page 2: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

What is DevOps?

Source: DevOps Days DC 2015 word cloud from Open Spaces.

Page 3: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

DevOps applies open source principles and practices with...

Page 4: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

DEVOPS:THE WHAT & THE WHY

TOOLS drawing from innovative development communities

Page 5: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

A typical DevOps workflow

Page 6: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

Tools for operations*/infrastucture

Containerized infrastructureOrchestrationPolicy-based governanceConfiguration managementAutomationPackagingUpdates

* But they bleed into developer land!

Page 7: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

Infrastructures evolve for cloud-native

�Monolithic app container�Scale up by adding hardware resources�Limited scale out through clustering

�Distributed, networked, containerized services�Scale out by orchestrating services�Faster iteration and release�More robust

RHEL

APP APP

SINGLE-HOST APPS MULTI-HOST APPS

Page 8: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

Infrastructure layer:A Cloud Platform for Microservice Cloud Apps

Provision apps from service catalog

Orchestrate and place apps

Run composed microservices in containers

Provide dynamic, programmable infrastructure

OPS MANAGEMENT AND SERVICE CATALOG

(e.g. RED HAT CLOUDFORMS)

CONTENT, ENTITLEMENT, AND LIFECYCLE

(e.g. RED HAT SATELLITE)

SERVICE SCHEDULER/ORCHESTRATOR(e.g. KUBERNETES)

PaaS(e.g. O

PE

NS

HIFT)

RED HAT ENTERPRISE LINUX OPENSTACK PLATFORMCOMPUTE STORAGE NETWORK

(e.g. OPENSTACK, CEPH, OPEN DAYLIGHT)

RHEL ATOMIC HOST GUEST

RHEL ATOMIC HOST GUEST

Red HatCloudFormsMonitoring

DockerImage

Red HatCloudForms

OrchestrationDockerImage

Red HatSatelliteContentDockerImage

Red HatJBossAMQ

DockerImage

App DBDockerImage

Red HatJBossBRMSDockerImage

Page 9: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

Tools for developer* workflowsCollaborationCI/CDIssue trackingSource code controlCode reviewPlatform-as-a-Service

* But they bleed into ops land!

Page 10: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

CI/CD Pipeline Toolset

CI/CD Workflow UI

Page 11: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

DEVOPS:THE WHAT & THE WHY

Automation of

PROCESS from development through ongoing operations

Page 12: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

Automation as a CI/CD Process

myRepo ProjectRepo

CI

Commit Push

Pass/Fail

Local Test

BuildRepo

CD

ReleaseRepo

Monitor

Build Test Review/Appr Deliver Deploy

3rd Party

Page 13: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

myRepo ProjectRepo

CI

Commit Push

Pass/Fail

Local Test

BuildRepo

CD

ReleaseRepo

Monitor

Build Test Review/Appr Deliver Deploy

3rd Party

● Collaboration○ Kanban - Trello○ Docs - etherpad, google docs○ Pastebin - fpaste○ Ticketing - Jira, Redmine○ Coding - Eclipse, Emacs,

Page 14: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

myRepo ProjectRepo

CI

Commit Push

Pass/Fail

Local Test

BuildRepo

CD

ReleaseRepo

Monitor

Build Test Review/Appr Deliver Deploy

3rd Party

● Asset Management○ Code/Config - git, subversion○ Docs - git, Google docs○ Policy/rules - ManageIQ, Katello

Page 15: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

myRepo ProjectRepo

CI

Commit Push

Pass/Fail

Local Test

BuildRepo

CD

ReleaseRepo

Monitor

Build Test Review/Appr Deliver Deploy

3rd Party

● Continuous Integration○ Jenkins○ Travis CI○ BuildBot

Page 16: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

myRepo ProjectRepo

CI

Commit Push

Pass/Fail

Local Test

BuildRepo

CD

ReleaseRepo

Monitor

Build Test Review/Appr Deliver Deploy

3rd Party

● Code/Image Build○ Compilers○ Code Build - Ant, Maven,

Buildbot, Cruisecontrol, etc.

Page 17: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

myRepo ProjectRepo

CI

Commit Push

Pass/Fail

Local Test

BuildRepo

CD

ReleaseRepo

Monitor

Build Test Review/Appr Deliver Deploy

3rd Party

● Testing○ SonarQube○ Cucumber○ JUnit○ Arquillian

Page 18: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

myRepo ProjectRepo

CI

Commit Push

Pass/Fail

Local Test

BuildRepo

CD

ReleaseRepo

Monitor

Build Test Review/Appr Deliver Deploy

3rd Party

● Review/Approve○ Gerrit, Github

● Ticket Update○ Jira, Redmine

Page 19: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

myRepo ProjectRepo

CI

Commit Push

Pass/Fail

Local Test

BuildRepo

CD

ReleaseRepo

Monitor

Build Test Review/Appr Deliver Deploy

3rd Party

● Packaging○ RPM

● Images○ Docker, OCI

● Applications/Services○ Kubernetes, Atomicapp

Page 20: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

myRepo ProjectRepo

CI

Commit Push

Pass/Fail

Local Test

BuildRepo

CD

ReleaseRepo

Monitor

Build Test Review/Appr Deliver Deploy

3rd Party

● Anisible,Puppet, Chef● Atomic/Atomicapp● Kubernetes● ManageIQ● Katella

Page 21: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

myRepo ProjectRepo

CI

Commit Push

Pass/Fail

Local Test

BuildRepo

CD

ReleaseRepo

Monitor

Build Test Review/Appr Deliver Deploy

3rd Party

● Tomcat● Wildfly● MongoDB● MySQL● Vert.x● Node.js● Docker● ActiveMQ● FeedHenry● Openstack● Openshift

Page 22: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

Continuous Integration / Continuous Deployment

Image & Package &Metadata Repository

src repo

Dev./Build QA Productionin OHC

Automation Across Environments

Events

Assets

Page 23: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

Portable Application

AtomicApp

Page 24: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

Continuous Integration / Continuous Deployment

Image & Package &Metadata Repository

src repo

Dev./Build QA Productionin OHC

Automation Across Environments

Events

Assets

Page 25: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

PaaS provides an integration point

Page 26: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

DEVOPS:THE WHAT & THE WHY

CULTURE of collaboration valuing openness and transparency

Page 27: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes
Page 28: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

Our culture is too difficult!Really?

Consider post war Japan.

https://leanhomebuilding.wordpress.com/page/4/

Page 29: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

Impose a culture of:EmpathyTrustLearningCooperationResponsibility ?

Page 30: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes
Page 31: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

Issues with just “changing culture”

● Lack of agreed-to model of what “right” culture looks like● Different organizations require different behaviors● Culture change is difficult to measure and quantify● Culture is very hard to impose● Culture is an output, not an input

Page 32: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

Culture = f (l, o, i, t, …)where:l = leadershipo = organizationi = incentivest = trust… = many other things

Open source offers guidance

Page 33: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

Leadership and vision but no one organizational structure

Multiple models work but characteristics need to fit the project, participants, and vision

Page 34: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

Solve specific problemsOpen source projects often begun because of an individual’s interest or issueDevOps projects (often) benefit by tackling low surface area problem cases(But, like open source, DevOps can become the default)

Page 35: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

TransparencyWho made changes?When and why did they make them?What’s the state of the project?What’s the state of the system?It’s the expectation for both open source and DevOps

Page 36: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

Rich communication flows matterOpen source projects have been forced to deal with distributed (cross-timezone) teamsTools vary by teamsVideo getting betterF2F time still a big plus

Page 37: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

Don’t fear failureOpen source innovation highly driven by experimentationOne of the points of DevOps is to enable better experimentationIf it doesn’t work, move on(But fast failures)

Page 38: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

Incentives matterOpen source projects (tend to) reward based on merit and contributionIncentives in DevOps organization (advancement, money, recognition) need to reward trust and cooperationIndividual has control over their own success

Page 39: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

Open source is driving DevOps

But it’s more than the code!

Page 40: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

CreditsTools: Dorli Photography, cc/flickr https://www.flickr.com/photos/dorlino/4946061042/

Robots: davidgariepy, cc/flickr https://www.flickr.com/photos/davidgariepy/2495011427/

Kids programming: Esti Alvarez cc license

Dev: Nelson Pavlosky/flickr under CC http://www.flickr.com/photos/skyfaller/113796919/

Ops: Leonardo Rizzi/flickr under CC http://www.flickr.com/photos/stars6/4381851322/

Rainbows and Unicorns: http://kaigumo.deviantart.com/art/Unicorns-Fart-Rainbows-3-151273843

Join hands: https://www.flickr.com/photos/vogelium/10565496565/

Thanks to J.P.Morgenthal for some of his thoughts about culture change. See also http://www.slideshare.net/JPMorgenthal1/process-andorgtrumpcultureinentdevops

Governance models: http://oss-watch.ac.uk/resources/governancemodels

Transparent code: iStockPhoto

Linux Collaboration Summit: Linux Foundation

Wipeout: https://www.flickr.com/photos/andymorffew/15843725192

No: Wikimedia

Page 41: DEVOPS INNOVATION HOW OPEN SOURCE IS DRIVING · Docker Image Red Hat CloudForms Orchestration Docker Image Red Hat Satellite ... Anisible,Puppet, Chef Atomic/Atomicapp Kubernetes

Thank you!

Questions?