what manufacturing can teach us about devopsdw.connect.sys-con.com/session/2580/gordon_haff.pdf ·...
TRANSCRIPT
Session title 1
What Manufacturing can Teach Us about DevOps
Gordon Haff @ghaff [email protected] 5 November 2014
Session title 2
Source: 2014 State of DevOps Report Puppet Labs, IT Revolution Press, ThoughtWorks
DEVOPS TO THE RESCUE!!
Session title 3
OPEN SOURCE DRIVING THIS TRANSFORMATION
DEVOPS PRACTICES, CULTURE, AND TOOLS
CLOUD PLATFORMS CLOUD LEADERS USING DEVOPS
Session title 4
WHAT IS !DEVOPS?!
Session title 5
Credit: 2ndQuadrant
Session title 6
• For delivering new business applications and services • With increased agility and quality • Through improved technology and collaboration • From development through ongoing operations
DEVOPS IS AN I.T. PROCESS
Session title 7
DEVOPS + CLOUD = INDUSTRIALIZE!
Session title 8
Standardize parts!Drive modularity!Standardize process!Automate repeatable processes!Standardize infrastructure !Instrumentation and control!Continuous iteration and improvement !!
WHAT MANUFACTURING CAN TEACH US !
Session title 9
SOME EARLY STANDARD PARTS !
Système Gribeauval (1765)!Cannons Standard bores
Eli Whitney (1801)!Muskets with interchangeable parts Still costly and handmade
Session title 10
START WITH (CHOICE OF MANY) STANDARD PARTS !
Standardized!
Open!
Multi-vendor!
Multi-platform !
But these are just piece parts!
Session title 11
Standardize parts!Drive modularity and reuse !Standardize process!Automate repeatable processes!Standardize infrastructure !Instrumentation and control!Continuous iteration and improvement !!
WHAT MANUFACTURING CAN TEACH US !
Session title 12
COMMON PLATFORMS FOR CARS !
Session title 13
“45–47% passenger cars will use one of top 20 platforms by 2015.” EvaluServe, 2012
Session title 14
MICROSERVICES ENABLE SOFTWARE COMPONENT REUSE!
http://martinfowler.com/articles/microservices.html
Session title 15
TYPICAL MICROSERVICES CHARACTERISTICS !
• Single function (but can be any size)!• Each microservice can be its own build!• Can use unique languages, runtime, etc. but…!• Typically single developer or small team !• Stateless business logic!• Data caching as needed!
Session title 16
WHAT MANUFACTURING CAN TEACH US !
Standardize parts!Drive modularity and reuse !Standardize process!Automate repeatable processes!Standardize infrastructure !Instrumentation and control!Continuous iteration and improvement !
Session title 17
BRINGING PROCESS TO STANDARDIZATION: !BRUNEL AND MAUDSLAY’S SAILING BLOCKS !
“...So that ten men, by the aid of this machinery, can accomplish with uniformity, celerity and ease, what formerly required the uncertain labour of one hundred and ten.” !!
Session title 18
TYPICAL DEVOPS WORKFLOW!
Session title 19
Standardize parts!Drive modularity and reuse !Standardize process!Automate repeatable processes!Standardize infrastructure !Instrumentation and control!Continuous iteration and improvement !
WHAT MANUFACTURING CAN TEACH US !
Session title 20
AUTOMATION INCREASES PRODUCTIVITY !
Session title 21
AUTOMATING APPLICATION !SCALING WITH PAAS !
Session title 22
WHAT MANUFACTURING CAN TEACH US !
Standardize parts!Drive modularity and reuse !Standardize process!Automate repeatable processes!Standardize infrastructure !Instrumentation and control!Continuous iteration and improvement !
Session title 23
VALUE OF (THE RIGHT) STANDARDIZED INFRASTRUCTURE!
Process drives tools (not the other way around)!
Abstraction of implementation details!
Session title 24
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 SERVICE CATALOG
(RED HAT CLOUDFORMS)
CONTENT ENTITLEMENT
LIFECYCLE (RED HAT SATELLITE)
SERVICE SCHEDULER/ORCHESTRATOR (KUBERNETES, MESOS) O
PE
NS
HIFT
BY R
ED
HAT
RED HAT ENTERPRISE LINUX OPENSTACK PLATFORM COMPUTE STORAGE NETWORK
(RED HAT ENTERPRISE LINUX OPENSTACK PLATFORM, RED HAT STORAGE, OPEN DAYLIGHT)
RED HAT ENTERPRISE LINUX GUEST
RED HAT ENTERPRISE LINUX GUEST
CloudForms Monitoring
Docker Image
CloudForms Orchestration
Docker Image
Satellite Content Docker Image
JBoss AMQ
Docker Image
App DB
Docker Image
JBoss BRMS Docker Image
Session title 25
WHAT MANUFACTURING CAN TEACH US !
Standardize parts!Drive modularity and reuse !Standardize process!Automate repeatable processes!Standardize infrastructure !Instrumentation and control!Continuous iteration and improvement !
Session title 26
CAN’T CHANGE WHAT YOU CAN’T SEE!
Session title 27
WHAT MIGHT YOU MONITOR? EVERYTHING. !
Category Type of data
Capacity Storage capacity, network utilization, CPU utilization, number of VMs/containers/servers
Performance Query time, page load time, upload/download speeds, I/O rates
Service health Service outages, service instance failures, timeouts
Compliance/security Intrusion detection, DoS/DDoS attempts, Authentication failures, Password resets
Traffic flows HTTP(S) requests, end-to-end packet flows
User metrics Pageviews and time/page, registrations, clicks, abandons
Session title 28
Standardize parts!Drive modularity and reuse !Standardize process!Automate repeatable processes!Standardize infrastructure !Instrumentation and control!Continuous iteration and improvement !
WHAT MANUFACTURING CAN TEACH US !
Session title 29
TRADITIONAL MANUFACTURING !
Any customer can have a car painted any color that he wants so long as it is black.
Henry Ford (probably apocryphal)
General Motors Fairfax Assembly Plant in Kansas City, Missouri
Session title 30
DEMING CIRCLE / SHEWHART CYCLE!
Source: IBM
Plan!
Do!
Check !
Adjust !
Session title 31
A DIFFERENT APPROACH !
Lean manufacturing !
Kaizen!
JIT!
BTO !
Systems thinking (“The Toyota Way”)!
Session title 32
A FEW KEY POINTS !• Make process as flexible as necessary without
stress or "muri" (overburden) since this generates "muda" (waste)!
• Long-term philosophy but tactical improvements also valuable !
• Can’t directly attack outcomes without understanding underlying concepts!
• Significant organizational / incentives / culture(?) element !
!!
Session title 33
CICD PRINCIPLES !
• Maintain a single source repository!
• Automate the build!
• Make your build self-testing !
• Test in a clone of the production environment (usually)!
• Everyone can see what’s happening !
• Automate all the things!
Session title 34
AUTOMATING CONTINUOUS INTEGRATION!WITH MAVEN AND JENKINS !
Code
Session title 35
USING JENKINS FOR CI/CD!
• New build triggered on push to git repository!
• No application downtime during the build process!
• Failed builds do not get deployed (leaving the previous working version in place)!
• Can have different deployment stages (e.g. dev, test, stage, production) !
Session title 36
GARTNER DEVOPS METRICS PYRAMID!
Data-Driven DevOps: Use Metrics to Help Guide Your Journey
May 2014
Session title 37
• Apply agile continuous improvement !
• Ensure that each DevOps process implemented (such as test-driven infrastructure, continuous delivery, etc.) maps to a business impact !
• Monitor for unintended side effects !
• Foster a learning-centric approach to process improvement, rather than to use these exercises as a means to punish missing expectations
Summarized from Data-Driven DevOps: Use Metrics to Help Guide Your Journey
May 2014
GARTNER DEVOPS RECOMMENDATIONS !
Session title 38
• No real concept of inventory with code !
• Capital structures different !
• Cost of failure (may) be different !
• Ability to iterate may be different !
• Lighter-weight process!
LIMITS TO MANUFACTURING LESSONS !
Session title 39
Standardize parts!Drive modularity!Standardize process!Automate repeatable processes!Standardize infrastructure !Instrumentation and control!Continuous iteration and improvement !!
WHAT MANUFACTURING CAN TEACH US !
Session title 40
ABOUT ME
• Red Hat Cloud Product Strategy
• Twitter: @ghaff
• Google+: Gordon Haff
• Email: [email protected]
• Blog: http://bitmason.blogspot.com
• Formerly: Illuminata (industry analyst), Data General (minicomputers/Unix/NUMA/etc.)