A DevOps State of Mind
with Microservices, Containers

and Kubernetes
Chris Van Tuin
Chief Technologist, NA West / Silicon Valley
cvantuin@redhat.com
“Only the paranoid survive”
- Andy Grove, 1996
Retail Finance Media
Transportation
?
?
SOFTWARE DISRUPTS BUSINESS
$4.3 billion in unsold inventory
H&M gets hit with the ‘Amazon effect’
https://www.marketwatch.com/story/hm-gets-hit-with-the-amazon-effect-2018-04-03
6
months
SUPPLY CHAIN BOTTLENECK
in Era of Fast Fashion
3 months
6
months
SUPPLY CHAIN BOTTLENECK
in Era of Fast Fashion
1 to 8

weeks
3 months
6
months
SUPPLY CHAIN BOTTLENECK
in Era of Fast Fashion
SALES GROWTH VS LEAD TIMES
2 year %
STOCK PERFORMANCE
+105%
-9%
-57%
(13 year low)
“H&M need to make 

sure they’re innovating 

ahead of the curve, 

not just to catch up”
H&M’s position is
magnified by the fact
that they recognized the
problem later than their
peers
H&M investing in I.T. to …
Speed
Up
Innovation
Amplify &
Shorten

Feedback Loop
DISRUPT OR BE DISRUPTED
Innovation
Months
THE AVERAGE ENTERPRISE DOES 

DEPLOYMENTS EVERY
6 TO 9 MONTHS.
DEV QA OPS
“THROW IT OVER THE WALL”
Challenges

1. Environment drift
2. Large change set = 

more bugs, more testing
3. Extended feedback loop
Walled off people, walled off processes, walled off technologies
HOW DOES I.T. TRANSFORM FROM
A COST CENTER INTO AN INNOVATION CENTER?
Months
Innovation
THE DEVOPS FACTORY
DEVOPS
Speeding Up Time to Market
Leverage
tooling &
automation
Reduce
organizational
silos
Accept
failure

as normal
Implement
gradual
change
Measure
everything
DEV QA OPS
Linux + Containers
IaaS
Orchestration
CI/CD
Source Control Management
Collaboration
Build and Artifact Management
Testing
Frameworks
Culture Process Technology
+ +
Collaborative
Transparent
Open
Agile
Continuous
Iterative
Automate
Open Source
Hybrid
Dynamic
THE DEVOPS FACTORY
THE VALUE OF DEVOPS
Faster
Time to
Market
Security
More time
To
Innovate
Faster
Resolution
Of Problems
More Stable
Operating
Environment
Improved
Communication
& Collaboration
Less Complex
Less Risk
CULTURE
Collaboration Shared problems
are solved faster
+
OPEN SOURCE
CULTURE
Transparency 

(both access and 

the ability to act)
Working together
creates necessary
standardization
+
IT’S NOT JUST CODE; IT’S CULTURE
PROCESS
AUTOMATION: CI/CD PIPELINE
Continuous
Integration
Continuous
Build
Continuous
Deployment
Feedback Loop
TECHNOLOGY
KEY TECHNOLOGY TRENDS
Containers at Scale
4
● Are there known vulnerabilities in
the application layer?
● Are the runtime and OS layers up
to date?
● How frequently will the container
be updated and how will I know
when it’s updated?
CONTENT: EACH LAYER MATTERS
CONTAINER
OS
RUNTIME
APPLICATION
CONTENT: EACH LAYER MATTERS
AYER MATTERS
CONTAINER
OS
RUNTIME
APPLICATION
JAR CONTAINER
docker.io
RegistryPrivate
RegistryRed Hat
Certified
FROM fedora:latest
CMD echo “Hello”
Build file
Physical, Virtual, Cloud
Image Container
Build RunShip
CONTAINERS: BUILD, SHIP, RUN
CI/CD
Scheduling Monitoring
Persistence
DiscoveryLifecycle & health
Scaling Aggregation Security
CONTAINERS AT SCALE
BARE METAL VIRTUAL PRIVATE CLOUD PUBLIC CLOUD
DEV QA OPS
Open organization + 

cross-functional teams
Software factory
automation
CI/CD pipelines
with feedback
Culture Process Technology
+ +
THE DEVOPS FACTORY
Enabling Microservices
code config data
Kubernetes
configmaps
secrets
Container
image
Traditional 

data services,
Kubernetes 

persistent volumes
TREAT CONTAINERS AS IMMUTABLE
Web Database
replicas=1, 

role=db
replicas=2, 

role=web
ORCHESTRATION
Deployment, Declarative
Nodes
Controller
Manager
&
Data Store
(etcd)
role=web role=web
ORCHESTRATION
Schedule + Provision Pods (Compute/Storage/Network)
Image
Registry
Pods
Nodes
Web
replicas=2, 

role=web
ReplicaSet
role=web role=db role=web
Pods
Nodes
Image
Registry
ORCHESTRATION
Schedule + Provision Pods (Compute/Storage/Network)
Web
replicas=2, 

role=web
ReplicaSet
Database
replicas=1, 

role=db
StatefulSet
Web Database
role=web role=db role=web
replicas=1, 

role=db
replicas=2, 

role=web
DISCOVERY
Service (Load Balancer)
Pods
Nodes
Services
Controller
Manager
&
Data Store
(etcd)
HEALTH CHECK
Monitoring &
Logging
Pods
Nodes
Services
Web Database
role=web role=db role=web
replicas=1, 

role=db
replicas=2, 

role=web
HEALTH CHECK
Pods
Nodes
Services
Web Database
role=web role=db role=web
replicas=1, 

role=db
replicas=2, 

role=web
role=web
Controller
Manager
&
Data Store
(etcd)
Web Database
replicas=1, 

role=db
replicas=2, 

role=web
HEALTH CHECK
Pods
Nodes
Services
role=web role=db role=web
Controller
Manager
&
Data Store
(etcd)
Web Database
replicas=1, 

role=db
replicas=2, 

role=web
AUTO-SCALE
Monitoring &
Logging
80% CPU
Pods
Nodes
Services
role=web role=db role=web
Web Database
replicas=1, 

role=dbreplicas=3 

role=web
AUTO-SCALE
80% CPU
Pods
Nodes
Services
role=web role=db role=web role=web
Controller
Manager
&
Data Store
(etcd)
Pods
Nodes
Services
Web Database
replicas=1, 

role=dbreplicas=3 

role=web
AUTO-SCALE
50% CPU
role=web role=db role=web role=web
Controller
Manager
&
Data Store
(etcd)
Recreate
Version 1 Version 1Version 1
Version 1.2
`
Tests / CI
RECREATE WITH DOWNTIME
Version 1 Version 1Version 1
Version 1.2
`
Tests / CI
RECREATE WITH DOWNTIME
Version 1.2 Version 1.2Version 1.2
RECREATE WITH DOWNTIME
Use Case
• Non-mission critical services
Cons
• Downtime
Pros
• Simple, clean
• No Schema incompatibilities
• No API versioning
Rolling Updates
Version 1 Version 1Version 1
Version 1.2
`
Tests / CI
ROLLING UPDATES with ZERO DOWNTIME
Deploy new version and wait until it’s ready…
Version 1 Version 1 V1.2
Health Check:
readiness probe
e.g. tcp, http, script
V1
Each container/pod is updated one by one
Version 1.2
50%
Version 1 V1 V1.2
Each container/pod is updated one by one
Version 1.2Version 1.2Version 1.2
100%
Use Case
• Horizontally scaled
• Backward compatible
API/data
• Microservices
Cons
• Require backward
compatible APIs/data
• Resource overhead
Pros
• Zero downtime
• Reduced risk, gradual
rollout w/health checks
• Ready for rollback
Blue / Green Deployment
Version 1
BLUE / GREEN DEPLOYMENT
Route
BLUE
Version 1
BLUE / GREEN DEPLOYMENT
Version 1.2
BLUE GREEN
Version 1 Tests / CI
BLUE / GREEN DEPLOYMENT
Version 1.2
BLUE GREEN
Version 1 Version 1.2
BLUE / GREEN DEPLOYMENT
Route
Version 1.2
BLUE GREEN
Version 1
BLUE / GREEN DEPLOYMENT
Rollback
Route
Version 1.2
BLUE GREEN
Use Case
• Self-contained micro
services (data)
Cons
• Resource overhead
• Data synchronization
Pros
• Low risk, never
change production
• No downtime
• Production like testing
• Rollback
RAPID INNOVATION &
EXPERIMENTATION
”only about 1/3 of ideas improve the metrics 

they were designed to improve.”

Ronny Kohavi, Microsoft (Amazon)
MICROSERVICES
RAPID INNNOVATION & EXPERIMENTATION
CONTINUOUS FEEDBACK LOOP
A/B TESTING USING CANARY DEPLOYMENTS
Version 1.2Version 1
100%
Tests / CI
Version 1.2
Route
25% Conversion Rate ?! Conversion Rate
CANARY DEPLOYMENTS
50% 50%
Version 1.2Version 1
Route
Version 1.2
25% Conversion Rate 30% Conversion Rate
CANARY DEPLOYMENTS
25% Conversion Rate
100%
Version 1 Version 1.2
Route
Version 1.2
30% Conversion Rate
CANARY DEPLOYMENTS
Version 1.2Version 1
100%
Route
Rollback
25% Conversion Rate 20% Conversion Rate
CANARY DEPLOYMENTS
THANK YOU
linkedin: Chris Van Tuin
email: cvantuin@redhat.com
twitter: @chrisvantuin

A DevOps State of Mind with Microservices, Containers and Kubernetes