Docker combined with a select set of delivery tools powers the Continuous Delivery Pipeline at Hoyhoy. The pipeline enables fully automated build, deployment and validation of individual features with dynamic feature specific test environments. During this talk, the approach, technical implementation and best practices are covered.
Tim Noordhoek, CTO at hoyhoy.nl
Thomas Kruitbosch, CD Consultant at Xebia
Building a Docker powered feature driven delivery pipeline at hoyhoy.nl
1. Klik
om
de
s+jl
te
bewerken
Klik
om
de
onder+tels+jl
van
het
model
te
bewerken
12/12/15
1
JULY
2015
|
CONFIDENTIAL
DECEMBER
2015
Building
a
Docker®
powered
Con+nuous
Delivery
Pipeline
Tim
Noordhoek
[CTO
hoyhoy.nl]
Thomas
Kruitbosch
[Con+nuous
delivery
Consultant
Xebia]
2. Klik
om
de
s+jl
te
bewerken
Klik
om
de
onder+tels+jl
van
het
model
te
bewerken
12/12/15
2
JULY
2015
|
CONFIDENTIAL
DECEMBER
2015
Building
a
Docker®
powered
Con+nuous
Delivery
Pipeline
The
hoyhoy.nl
case
Delivery
analysis
The
vision,
approach,
roadmap
and
results
The
feature
driven
delivery
pipeline
implementa+on
Lessons
learned
3. Klik
om
de
s+jl
te
bewerken
Klik
om
de
onder+tels+jl
van
het
model
te
bewerken
12/12/15
3
JULY
2015
|
CONFIDENTIAL
DECEMBER
2015
Building
a
Docker®
powered
Con+nuous
Delivery
Pipeline
The
hoyhoy.nl
case
Delivery
analysis
The
vision,
approach,
roadmap
and
results
The
feature
driven
delivery
pipeline
implementa+on
Lessons
learned
5. JULY
2015
|
CONFIDENTIAL
5
Situa'on
• Hoyhoy.nl
is
a
comparison
website
for
insurances,
CPA
based
business
model
• Hoyhoy.nl
was
formerly
a
15
year
old
exis+ng
company
named
verzekeringssite.nl
• Verzekeringssite.nl
was
acquired
by
BGL
in
2012
• BGL
is
the
founder
of
comparethemarket.com,
a
high
traffic
financial
comparision
website
• There
was
no
(internal)
IT
team
or
stable
architecture/infrastructure
when
I
started
• Heavy
investment
to
achieve
explosive
growth
Goal
for
IT
• Create
a
new
IT
team
to
support
the
business
growth
(interview,
hire)
• Create
a
new
architecture
&
hos+ng
infrastructure
(Strategy,
direc+on)
Hoyhoy.nl
–
Situa+on
&
Goal
6. JULY
2015
|
CONFIDENTIAL
6
• A`er
3
years
I
built
an
Agile
working
delivery
team
consis+ng
of
30
people
(PO,
BA,
Dev,
QA,
DevOps)
• Develop
and
deliver
a
new
backoffice
&
frontoffice,
built
in
LAMP,
MVC
• Make
sure
the
new
placorm
supports
mul+-‐device,
os
and
browser
• Embed
Agile
working
into
the
organisa+on
together
with
Xebia
• Create
a
great
working
place
where
cra`smanship
is
natural
(knowledge
workshops,
fun
projects)
• Embed
Con?nuous
delivery
into
the
daily
working
rou?ne
with
Xebia
(today’s
topic)
Hoyhoy.nl
–
My
approach
7. JULY
2015
|
CONFIDENTIAL
7
• Gefng
the
right
people
(200+
interviews,
s+ll
low
ahri+on
rate)
• Sefng
up
the
team
structure
once
we
got
bigger
and
bigger
• Delivery
slowed
down,
less
features
delivered…..
• Quality
drop,
more
incidents
/
problems,
chao+c
delivery
• Resource
fights
(cross
projects)
..
everything
is
priority
• Unmeasurable
velocity,
+me
2
market/delivery
dates
• Being
able
to
cope
with
heavy
traffic
during
health
season
Hoyhoy.nl
–
Challenges
8. JULY
2015
|
CONFIDENTIAL
8
The
core
hoyhoy.nl
business
applica+on
9. JULY
2015
|
CONFIDENTIAL
9
Deliver
more
and
deliver
faster
> Releases
with
a
turnaround
+me
of
weeks
> Release
at
any
desired
moment
Planned
weekly
releases
Release
any
?me
10. Klik
om
de
s+jl
te
bewerken
Klik
om
de
onder+tels+jl
van
het
model
te
bewerken
12/12/15
10
JULY
2015
|
CONFIDENTIAL
DECEMBER
2015
Building
a
Docker®
powered
Con+nuous
Delivery
Pipeline
The
hoyhoy.nl
case
Delivery
analysis
The
vision,
approach,
roadmap
and
results
The
feature
driven
delivery
pipeline
implementa+on
Lessons
learned
11. JULY
2015
|
CONFIDENTIAL
11
Approach:
assessment
of
current
delivery
capabili+es
Delivery
value
stream
analysis
Con?nuous
Delivery
&
Agile
Maturity
Scan
Architecture
Assessment
Benchmarked
Con:nuous
Delivery
maturity
12. JULY
2015
|
CONFIDENTIAL
12
Where
did
it
really
hurt?
• Chao+c
release
process
• Silo
based,
“scrum-‐ish”
based
delivery
• Lots
of
manual
delivery
support
tasks
• Inconsistent
test
environments
• General
lack
of
quality!
13. Klik
om
de
s+jl
te
bewerken
Klik
om
de
onder+tels+jl
van
het
model
te
bewerken
12/12/15
13
JULY
2015
|
CONFIDENTIAL
DECEMBER
2015
Building
a
Docker®
powered
Con+nuous
Delivery
Pipeline
The
hoyhoy.nl
case
Delivery
analysis
The
vision,
approach,
roadmap
and
results
The
feature
driven
delivery
pipeline
implementa+on
Lessons
learned
14. JULY
2015
|
CONFIDENTIAL
14
Implementa+on
topics
• Dynamic
Test
Placorm
for
feature
driven
delivery
(lean
and
fast)
• Fully
automated
delivery
pipeline
• Agile
transi+on
and
Quality
driven
delivery
for
the
full
organisa+on
• Applica+on
Architecture
(out
of
scope,
was
already
in
delivery)
15. JULY
2015
|
CONFIDENTIAL
15
Vision:
release
strategy
and
growth
model
May 2015 Aug 2015 Dec 2015 Optional future
Value driven (as needed)
16. JULY
2015
|
CONFIDENTIAL
16
Roadmap:
global
implementa+on
strategy
Delivery
Automa?on
MVP
PlaXorm
“Enables
teams
to
deliver
fast
with
high
quality”
June
July
August
September
1.6 Con?nuous
Delivery
maturity
Adop?on
&
Improve
delivery
“Teams
improve
and
speed
up
their
delivery”
Incremental
enhancements
October
November
~
5
December
Con+nuous
delivery
improvements
17. JULY
2015
|
CONFIDENTIAL
17
Results
Time
to
market
• 65%
faster
(from
story
refinement
to
produc+on
go
live)
Reduce
costs
• 10%
higher
Defect
Removal
Efficiency
• 95%
of
the
defects
are
detected
within
30
minutes
(fail
fast)
• 50%
faster
(from
idea/
concept
to
cash)
Higher
quality
• 25%
produc+vity
improvement
Earlier
Return
on
Investment
18. Klik
om
de
s+jl
te
bewerken
Klik
om
de
onder+tels+jl
van
het
model
te
bewerken
12/12/15
18
JULY
2015
|
CONFIDENTIAL
DECEMBER
2015
Building
a
Docker®
powered
Con+nuous
Delivery
Pipeline
The
hoyhoy.nl
case
Delivery
analysis
The
vision,
approach,
roadmap
and
results
The
feature
driven
delivery
pipeline
implementa+on
Lessons
learned
19. JULY
2015
|
CONFIDENTIAL
19
Why
Docker?
• Portable
containers
(local
and
test
environments)
• Automated
consistency
(using
container
images)
• Speed:
(create
new
environments
within
3
minutes)
• Capacity:
60+
feature
environments
on
3
VM’s
21. JULY
2015
|
CONFIDENTIAL
21
Feature
pipeline
process
Production like image
22. JULY
2015
|
CONFIDENTIAL
22
Feature
pipeline
overview
23. JULY
2015
|
CONFIDENTIAL
23
On
average,
we
have
60
ac+ve
feature
test
environments
Feature-‐hh-‐1164.dyn.local.hoyhoy.nl
24. JULY
2015
|
CONFIDENTIAL
24
From
manual
unstructured
tes+ng
to
automated
structured
tes+ng
25. JULY
2015
|
CONFIDENTIAL
25
Automated
structured
user
interface
(system)
tes+ng
Feature
container
Deployed
feature
containers
-‐
Test
scripts
-‐
Test
Data
-‐
Stubs
Behavior
&
Test
Driven
Development
26. JULY
2015
|
CONFIDENTIAL
26
Placorm
as
a
Service:
with
Core
OS
+
“Placorm
service”
containers
CoreOS
Cluster
Node
1
Node
2
Node
3
NGiNX
NGiNX
NGiNX
Consul
Consul
Consul
Feature
2
Feature
1
Feature
3
Registrator
Registrator
Registrator
Registry
27. JULY
2015
|
CONFIDENTIAL
27
Implementa+on:
Components
of
the
hoyhoy.nl
delivery
pipeline
Acceptance
&
Produc'on
pla?orm
hoyhoy.nl
dynamic
test
pla?orm
PHPCS
ESLint
Con'nuous
integra'on
Automated
tes'ng
Sta'c
tests
Unit/component
tests
System
/
UI
tests
Automated
Deployment
Cucumberjs
webdriverio
Automated
Provisioning
Istanbul
Hoyhoy.nl
applica+on
Hoyhoy.nl
applica+on
j2cli
Fleet
Registrator
MITMWEB
(mitmproxy)
Registry
Agile
BDD
28. Klik
om
de
s+jl
te
bewerken
Klik
om
de
onder+tels+jl
van
het
model
te
bewerken
12/12/15
28
JULY
2015
|
CONFIDENTIAL
DECEMBER
2015
Building
a
Docker®
powered
Con+nuous
Delivery
Pipeline
The
hoyhoy.nl
case
Delivery
analysis
The
vision,
approach,
roadmap
and
results
The
feature
driven
delivery
pipeline
implementa+on
Lessons
learned
29. JULY
2015
|
CONFIDENTIAL
29
Lessons
learned
-‐
process
• Get
your
manual
testers,
but
also
developers
ready
to
build
test
automa+on
• A
pipeline
only
delivers
value
when
it
is
used.
Involve
your
customer
(Delivery
teams)
• Create
a
delivery
vision
and
roadmap
which
is
aligned
with
your
company
strategy
• Define
a
MVP
and
improve
your
product
incrementally
/
itera+vely
• Apply
agile
principles
to
deliver
changes
fast
and
incrementally,
not
scrumish
• Don’t
over
apply
text-‐book
Agile
methodologies,
it’s
a
learning
process
30. JULY
2015
|
CONFIDENTIAL
30
Lessons
learned
-‐
technical
• The
test
placorm
is
an
essen+al
part
of
a
delivery
pipeline
• Automate
everything
• Implement
a
single
source
of
truth,
everything
under
source
control
• Don’t
get
stuck
in
“best
prac+ces”,
Start
simple
and
focus
on
real
value
• Test
automa+on
forces
applica+on
design
quality
31. JULY
2015
|
CONFIDENTIAL
31
Thank
you!
Ques+ons?