SlideShare a Scribd company logo
Swimming upstream
in the container revolution
Practical continuous delivery
with open source and cloud services
Bert	
  Jan	
  Schrijver
@bjschrijverbertjan@jpoint.nl
Bert Jan Schrijver
L	
  e	
  t	
  ‘	
  s	
  	
  m	
  e	
  e	
  t
@bjschrijver
Outline
S o w h a t ‘ s n e x t ?
Approach
Principles
Introduction
Definitions
Challenges	
  and	
  
lessons	
  learned
Business	
  benefits
Looking	
  ahead
Every	
  change	
  goes	
  through	
  the	
  
build/test	
  pipeline	
  and	
  
automatically	
  gets	
  put	
  into	
  
production.
Continuous Deployment
Development	
  and	
  operations	
  
engineers	
  participate	
  together	
  in	
  
the	
  entire	
  product	
  lifecycle.
DevOps
Building	
  and	
  testing	
  software	
  in	
  
such	
  a	
  way	
  that	
  the	
  software	
  can	
  be	
  
released	
  to	
  production	
  at	
  any	
  time.	
  


"Ship	
  early,	
  ship	
  often,	
  sacrificing	
  
features,	
  never	
  quality"	
  -­‐	
  Kyle	
  Neath
Continuous Delivery
Team	
  members	
  integrate	
  their	
  work	
  
frequently.	
  Commits	
  are	
  verified	
  by	
  
automated	
  builds	
  and	
  tests.
Continuous Integration
Definitions
Who’s	
  who	
  in	
  CD
Malmberg	
  is	
  an	
  educational	
  
publisher	
  in	
  the	
  Netherlands.

Malmberg	
  is	
  building	
  modern,	
  
rich	
  and	
  scalable	
  e-­‐learning	
  
applications	
  using	
  Java	
  8,	
  Vert.x,	
  
AngularJS	
  and	
  MongoDB,	
  
running	
  on	
  Amazon	
  	
  
cloud	
  services.
About Malmberg
Differences lead to issues
Communication between
development and operations was
slow, problem analysis in production
was difficult and releases took a lot
of time.
Traditional operations
Production environments managed
by an external operations partner.
Differences in infrastructure
between development and
production.
Modern development culture
Modern tools and lots of
automation. Test environments are
managed by developers.
History
Some	
  months	
  ago
Things needed to change
Issues and differences between
development and operations were
slowing us down. We needed to
shift strategies to keep progressing.
…said no product manager ever.
J.	
  Paul	
  Reed
Let’s spend the next few months..
..working	
  on	
  automated	
  testing	
  and	
  build/release	
  
infrastructure,	
  	
  and	
  redesigning	
  how	
  our	
  application	
  is	
  
written.	
  We	
  can	
  postpone	
  our	
  feature	
  development.
“
”
Build a complete new setup to
allow development teams to
transform to the new
situation at their own pace.
Keep the shop open
Build a dedicated team of
Devs, Ops and Cloud experts.
Expert team
Define key points that identify
your approach and help you
set goals.
Define principles
Approach
How	
  we	
  initiated	
  change.
Principles
Master branch is always releasable
Principle 1
Every change is developed and tested in a feature branch.
Don’t merge it until it’s done.
Unit/integration (Java & JavaScript), mutation, end-to-end (FitNesse/BrowserStack),
Sonar for quality and coverage reporting.
Rely on multiple layers of tests.
Each commit is tested extensively
Principle 2
Manage builds, tests, QA and deployments from a single place.
Jenkins as the heart of the delivery process.
Every delivery step is a Jenkins job
Principle 3
After deploying 6 new features, when one has an issue, why roll back 5 good features?
Don’t. Just roll out a fix quickly.
Keep moving ahead.
Deployments are roll-forward only
Principle 4
No logging in to servers. Need a change or upgrade? Just update the recipe.
Hands off.
Infrastructure as code - for everything
Principle 5
The flexibility and resilience is well worth it.
What about using containers? The EC2 instance is our container.

Even when you don’t need to scale.
Put everything in auto scaling groups
Principle 6
You can’t explain maintenance windows to modern end users anymore.
Our end users are the Facebook generation.
No downtime in production
Principle 7
Make sure you find the problem before it finds you.
Work proactive, not reactive.
Eyes and ears in production
Principle 8
Repeating tasks such as viewing logs and doing deployments must be common jobs.
Specialisms are OK, but only for incidental tasks.
Repeating tasks are executable for all team members
Principle 9
Differences between teams are OK. A team that’s dependent on external help is not.
Give teams the freedom to work in a way that works for them.
DevOps teams work on a self service basis
Principle 10
Don't assume that cultural change
won't be an issue. It will.
Resistance
It turns out that something in
recent AWS Linux kernels triggers
slave disconnects.
We found out the hard way.
Jenkins slaves can be a pain
Not all devs are comfortable with
managing infrastructure and
middleware.
Devs need to step up their game
This kills team progress.
Don’t depend on availability
of Ops
Challenges
02
03
04
05
06
01
When you automate everything and
keep growing, chances are you’re
going to hit limits.
Amazon has limits
All environments are provisioned
automatically. Challenge: how to
prevent testing directly in
production.
How to test Puppet changes
and	
  lessons	
  learned
Auto scaling and pro-active monitoring
boost availability. A lot.
Availability
Business benefits
High level of automation results in
shorter release cycles and faster time to
market.
Agility
Automated provisioning makes sure that
every environment can be re-built from
scratch in minutes.
Continuity
Lower operations costs due to scheduling
and scaling. Lower maintenance costs due
to high degree of automation.
Cost reduction
Faster problem analysis and solution.
Better reaction speed
How to sell this to your boss.
Get	
  the	
  teams	
  the	
  information	
  they	
  need,	
  
readily	
  available	
  on	
  a	
  dashboard	
  visible	
  from	
  
their	
  desks.
Better monitoring and dashboards
Looking ahead
01
Nightly	
  performance	
  runs	
  on	
  test	
  
environments	
  and	
  continuous	
  end-­‐user	
  
performance	
  monitoring	
  in	
  production.
Continuous performance testing03
The	
  only	
  way	
  to	
  be	
  really	
  prepared	
  for	
  failure	
  
is	
  to	
  make	
  sure	
  that	
  things	
  will	
  fail	
  by	
  making	
  
it	
  fail	
  yourself.
Automated resilience testing02
This	
  is	
  a	
  tough	
  one.	
  We’re	
  still	
  trying	
  to	
  work	
  
out	
  what	
  works	
  for	
  us.
Continuous security testing04
The near future
Questions?
@bjschrijver
Thanks for your time.
Liked	
  it?	
  Tweet	
  it!
@bjschrijver

More Related Content

What's hot

Devops
DevopsDevops
Devops Devops Devops
Devops Devops DevopsDevops Devops Devops
Devops Devops Devops
Kris Buytaert
 
#SPSDetroit 2017 improving #DevOps using #microsoft business productivity to...
#SPSDetroit 2017  improving #DevOps using #microsoft business productivity to...#SPSDetroit 2017  improving #DevOps using #microsoft business productivity to...
#SPSDetroit 2017 improving #DevOps using #microsoft business productivity to...
Vincent Biret
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
Mikalai Alimenkou
 
DevOps Shangri-La: Mystical Claims of Paradise
DevOps Shangri-La: Mystical Claims of ParadiseDevOps Shangri-La: Mystical Claims of Paradise
DevOps Shangri-La: Mystical Claims of Paradise
XebiaLabs
 
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
Edureka!
 
Dev ops is more than CI+CD tools
Dev ops is more than CI+CD toolsDev ops is more than CI+CD tools
Dev ops is more than CI+CD tools
Sudipta Lahiri
 
Next Generation Testing Conference, Pune - The faster smarter and reliable le...
Next Generation Testing Conference, Pune - The faster smarter and reliable le...Next Generation Testing Conference, Pune - The faster smarter and reliable le...
Next Generation Testing Conference, Pune - The faster smarter and reliable le...
Sandeep Mankar
 
The Devops Handbook
The Devops HandbookThe Devops Handbook
The Devops Handbook
Harish Kamugakudi Marimuthu
 
An introduction to DevOps
An introduction to DevOpsAn introduction to DevOps
An introduction to DevOps
Alexander Meijers
 
Where Testers & QA Fit in the Story of DevOps
Where Testers & QA Fit in the Story of DevOpsWhere Testers & QA Fit in the Story of DevOps
Where Testers & QA Fit in the Story of DevOps
QASymphony
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
Mike McGarr
 
DevOps Kaizen: Practical Steps to Start & Sustain a Transformation
DevOps Kaizen: Practical Steps to Start & Sustain a TransformationDevOps Kaizen: Practical Steps to Start & Sustain a Transformation
DevOps Kaizen: Practical Steps to Start & Sustain a Transformation
dev2ops
 
DevOps for beginners
DevOps for beginnersDevOps for beginners
DevOps for beginners
Pradeep Patel, PMP®
 
Dev ops concept
Dev ops conceptDev ops concept
Dev ops concept
Professional Guru
 
Myths of Product Development
Myths of Product DevelopmentMyths of Product Development
Myths of Product Development
Shoaib Shaukat
 
DevOps in 2014
DevOps in 2014DevOps in 2014
DevOps in 2014
David Thompson
 
Agileee 2012
Agileee 2012Agileee 2012
Agileee 2012
Wiktor Żołnowski
 
Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...
QASymphony
 

What's hot (19)

Devops
DevopsDevops
Devops
 
Devops Devops Devops
Devops Devops DevopsDevops Devops Devops
Devops Devops Devops
 
#SPSDetroit 2017 improving #DevOps using #microsoft business productivity to...
#SPSDetroit 2017  improving #DevOps using #microsoft business productivity to...#SPSDetroit 2017  improving #DevOps using #microsoft business productivity to...
#SPSDetroit 2017 improving #DevOps using #microsoft business productivity to...
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
DevOps Shangri-La: Mystical Claims of Paradise
DevOps Shangri-La: Mystical Claims of ParadiseDevOps Shangri-La: Mystical Claims of Paradise
DevOps Shangri-La: Mystical Claims of Paradise
 
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
 
Dev ops is more than CI+CD tools
Dev ops is more than CI+CD toolsDev ops is more than CI+CD tools
Dev ops is more than CI+CD tools
 
Next Generation Testing Conference, Pune - The faster smarter and reliable le...
Next Generation Testing Conference, Pune - The faster smarter and reliable le...Next Generation Testing Conference, Pune - The faster smarter and reliable le...
Next Generation Testing Conference, Pune - The faster smarter and reliable le...
 
The Devops Handbook
The Devops HandbookThe Devops Handbook
The Devops Handbook
 
An introduction to DevOps
An introduction to DevOpsAn introduction to DevOps
An introduction to DevOps
 
Where Testers & QA Fit in the Story of DevOps
Where Testers & QA Fit in the Story of DevOpsWhere Testers & QA Fit in the Story of DevOps
Where Testers & QA Fit in the Story of DevOps
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
DevOps Kaizen: Practical Steps to Start & Sustain a Transformation
DevOps Kaizen: Practical Steps to Start & Sustain a TransformationDevOps Kaizen: Practical Steps to Start & Sustain a Transformation
DevOps Kaizen: Practical Steps to Start & Sustain a Transformation
 
DevOps for beginners
DevOps for beginnersDevOps for beginners
DevOps for beginners
 
Dev ops concept
Dev ops conceptDev ops concept
Dev ops concept
 
Myths of Product Development
Myths of Product DevelopmentMyths of Product Development
Myths of Product Development
 
DevOps in 2014
DevOps in 2014DevOps in 2014
DevOps in 2014
 
Agileee 2012
Agileee 2012Agileee 2012
Agileee 2012
 
Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...
 

Similar to Swimming upstream in the container revolution

JavaOne 2015 - Swimming upstream in the container revolution
JavaOne 2015 - Swimming upstream in the container revolutionJavaOne 2015 - Swimming upstream in the container revolution
JavaOne 2015 - Swimming upstream in the container revolution
Bert Jan Schrijver
 
DevTestOps
DevTestOpsDevTestOps
DevTestOps
Paul Mateos
 
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValueDevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
RapidValue
 
Enterprise DevOps
Enterprise DevOps Enterprise DevOps
Enterprise DevOps
Liam McDowell
 
DevOps Workshops Fall 2016
DevOps Workshops Fall 2016DevOps Workshops Fall 2016
DevOps Workshops Fall 2016
Kelly Looney
 
Continuous delivery @ hi q
Continuous delivery @ hi qContinuous delivery @ hi q
Continuous delivery @ hi qTomas Riha
 
Strengthen and Scale Security for a dollar or less
Strengthen and Scale Security for a dollar or lessStrengthen and Scale Security for a dollar or less
Strengthen and Scale Security for a dollar or less
Mohammed A. Imran
 
Continuous Testing: A Key to DevOps Success
Continuous Testing: A Key to DevOps SuccessContinuous Testing: A Key to DevOps Success
Continuous Testing: A Key to DevOps Success
TechWell
 
DOES14 - Jonny Wooldridge - The Cambridge Satchel Company - 10 Enterprise Tip...
DOES14 - Jonny Wooldridge - The Cambridge Satchel Company - 10 Enterprise Tip...DOES14 - Jonny Wooldridge - The Cambridge Satchel Company - 10 Enterprise Tip...
DOES14 - Jonny Wooldridge - The Cambridge Satchel Company - 10 Enterprise Tip...
Gene Kim
 
Manchester ITExpo Talk: DevOps large and small - Cambridge Satchel
Manchester ITExpo Talk:  DevOps large and small - Cambridge SatchelManchester ITExpo Talk:  DevOps large and small - Cambridge Satchel
Manchester ITExpo Talk: DevOps large and small - Cambridge Satchel
Jwooldridge
 
Scale security for a dollar or less
Scale security for a dollar or lessScale security for a dollar or less
Scale security for a dollar or less
Mohammed A. Imran
 
Continuous Testing
Continuous TestingContinuous Testing
Continuous Testing
Karim Fanadka
 
Continuous Testing 2016
Continuous Testing 2016Continuous Testing 2016
Continuous Testing 2016
Karim Fanadka
 
Strengthen and Scale Security Using DevSecOps - OWASP Indonesia
Strengthen and Scale Security Using DevSecOps - OWASP IndonesiaStrengthen and Scale Security Using DevSecOps - OWASP Indonesia
Strengthen and Scale Security Using DevSecOps - OWASP Indonesia
Mohammed A. Imran
 
STAQ Development Manual (Redacted)
STAQ Development Manual (Redacted)STAQ Development Manual (Redacted)
STAQ Development Manual (Redacted)
Mike Subelsky
 
DevOps drivein - Mind the Gap
DevOps drivein - Mind the GapDevOps drivein - Mind the Gap
DevOps drivein - Mind the Gap
Serena Software
 
What is DevOps? What is DevOps CoE?
What is DevOps? What is DevOps CoE? What is DevOps? What is DevOps CoE?
What is DevOps? What is DevOps CoE?
7Targets AI Sales Assistants
 
Devops Mindset Essentials
Devops Mindset EssentialsDevops Mindset Essentials
Devops Mindset Essentials
Willy-Peter Schaub
 
Continuous integration with Jenkins
Continuous integration with JenkinsContinuous integration with Jenkins
Continuous integration with Jenkins
Mohammad Hossein Rimaz
 
Dev ops
Dev opsDev ops
Dev ops
Gourav Varma
 

Similar to Swimming upstream in the container revolution (20)

JavaOne 2015 - Swimming upstream in the container revolution
JavaOne 2015 - Swimming upstream in the container revolutionJavaOne 2015 - Swimming upstream in the container revolution
JavaOne 2015 - Swimming upstream in the container revolution
 
DevTestOps
DevTestOpsDevTestOps
DevTestOps
 
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValueDevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
 
Enterprise DevOps
Enterprise DevOps Enterprise DevOps
Enterprise DevOps
 
DevOps Workshops Fall 2016
DevOps Workshops Fall 2016DevOps Workshops Fall 2016
DevOps Workshops Fall 2016
 
Continuous delivery @ hi q
Continuous delivery @ hi qContinuous delivery @ hi q
Continuous delivery @ hi q
 
Strengthen and Scale Security for a dollar or less
Strengthen and Scale Security for a dollar or lessStrengthen and Scale Security for a dollar or less
Strengthen and Scale Security for a dollar or less
 
Continuous Testing: A Key to DevOps Success
Continuous Testing: A Key to DevOps SuccessContinuous Testing: A Key to DevOps Success
Continuous Testing: A Key to DevOps Success
 
DOES14 - Jonny Wooldridge - The Cambridge Satchel Company - 10 Enterprise Tip...
DOES14 - Jonny Wooldridge - The Cambridge Satchel Company - 10 Enterprise Tip...DOES14 - Jonny Wooldridge - The Cambridge Satchel Company - 10 Enterprise Tip...
DOES14 - Jonny Wooldridge - The Cambridge Satchel Company - 10 Enterprise Tip...
 
Manchester ITExpo Talk: DevOps large and small - Cambridge Satchel
Manchester ITExpo Talk:  DevOps large and small - Cambridge SatchelManchester ITExpo Talk:  DevOps large and small - Cambridge Satchel
Manchester ITExpo Talk: DevOps large and small - Cambridge Satchel
 
Scale security for a dollar or less
Scale security for a dollar or lessScale security for a dollar or less
Scale security for a dollar or less
 
Continuous Testing
Continuous TestingContinuous Testing
Continuous Testing
 
Continuous Testing 2016
Continuous Testing 2016Continuous Testing 2016
Continuous Testing 2016
 
Strengthen and Scale Security Using DevSecOps - OWASP Indonesia
Strengthen and Scale Security Using DevSecOps - OWASP IndonesiaStrengthen and Scale Security Using DevSecOps - OWASP Indonesia
Strengthen and Scale Security Using DevSecOps - OWASP Indonesia
 
STAQ Development Manual (Redacted)
STAQ Development Manual (Redacted)STAQ Development Manual (Redacted)
STAQ Development Manual (Redacted)
 
DevOps drivein - Mind the Gap
DevOps drivein - Mind the GapDevOps drivein - Mind the Gap
DevOps drivein - Mind the Gap
 
What is DevOps? What is DevOps CoE?
What is DevOps? What is DevOps CoE? What is DevOps? What is DevOps CoE?
What is DevOps? What is DevOps CoE?
 
Devops Mindset Essentials
Devops Mindset EssentialsDevops Mindset Essentials
Devops Mindset Essentials
 
Continuous integration with Jenkins
Continuous integration with JenkinsContinuous integration with Jenkins
Continuous integration with Jenkins
 
Dev ops
Dev opsDev ops
Dev ops
 

More from nextbuild

Aws microservice keynote
Aws microservice keynoteAws microservice keynote
Aws microservice keynote
nextbuild
 
How invariants help writing loops
How invariants help writing loopsHow invariants help writing loops
How invariants help writing loops
nextbuild
 
A first taste of integration with Apache Camel
A first taste of integration with Apache CamelA first taste of integration with Apache Camel
A first taste of integration with Apache Camel
nextbuild
 
Effective code reviews
Effective code reviewsEffective code reviews
Effective code reviews
nextbuild
 
Microservices in the real world
Microservices in the real worldMicroservices in the real world
Microservices in the real world
nextbuild
 
Asp.net in a new world
Asp.net in a new worldAsp.net in a new world
Asp.net in a new world
nextbuild
 
Meteor - building an email client
Meteor - building an email clientMeteor - building an email client
Meteor - building an email clientnextbuild
 
Event sourcing your AngularJS applications
Event sourcing your AngularJS applicationsEvent sourcing your AngularJS applications
Event sourcing your AngularJS applications
nextbuild
 
Make color schemes a no brainer with sass
Make color schemes a no brainer with sassMake color schemes a no brainer with sass
Make color schemes a no brainer with sass
nextbuild
 
Cqrs from the trenches
Cqrs from the trenchesCqrs from the trenches
Cqrs from the trenches
nextbuild
 
Architecting for the cloud
Architecting for the cloudArchitecting for the cloud
Architecting for the cloud
nextbuild
 
Finally… reliable software!
Finally… reliable software!Finally… reliable software!
Finally… reliable software!
nextbuild
 
Cucumber spec - a tool takes your bdd to the next level
Cucumber spec - a tool takes your bdd to the next levelCucumber spec - a tool takes your bdd to the next level
Cucumber spec - a tool takes your bdd to the next level
nextbuild
 

More from nextbuild (13)

Aws microservice keynote
Aws microservice keynoteAws microservice keynote
Aws microservice keynote
 
How invariants help writing loops
How invariants help writing loopsHow invariants help writing loops
How invariants help writing loops
 
A first taste of integration with Apache Camel
A first taste of integration with Apache CamelA first taste of integration with Apache Camel
A first taste of integration with Apache Camel
 
Effective code reviews
Effective code reviewsEffective code reviews
Effective code reviews
 
Microservices in the real world
Microservices in the real worldMicroservices in the real world
Microservices in the real world
 
Asp.net in a new world
Asp.net in a new worldAsp.net in a new world
Asp.net in a new world
 
Meteor - building an email client
Meteor - building an email clientMeteor - building an email client
Meteor - building an email client
 
Event sourcing your AngularJS applications
Event sourcing your AngularJS applicationsEvent sourcing your AngularJS applications
Event sourcing your AngularJS applications
 
Make color schemes a no brainer with sass
Make color schemes a no brainer with sassMake color schemes a no brainer with sass
Make color schemes a no brainer with sass
 
Cqrs from the trenches
Cqrs from the trenchesCqrs from the trenches
Cqrs from the trenches
 
Architecting for the cloud
Architecting for the cloudArchitecting for the cloud
Architecting for the cloud
 
Finally… reliable software!
Finally… reliable software!Finally… reliable software!
Finally… reliable software!
 
Cucumber spec - a tool takes your bdd to the next level
Cucumber spec - a tool takes your bdd to the next levelCucumber spec - a tool takes your bdd to the next level
Cucumber spec - a tool takes your bdd to the next level
 

Recently uploaded

Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 

Recently uploaded (20)

Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 

Swimming upstream in the container revolution

  • 1. Swimming upstream in the container revolution Practical continuous delivery with open source and cloud services Bert  Jan  Schrijver @bjschrijverbertjan@jpoint.nl
  • 2. Bert Jan Schrijver L  e  t  ‘  s    m  e  e  t @bjschrijver
  • 3. Outline S o w h a t ‘ s n e x t ? Approach Principles Introduction Definitions Challenges  and   lessons  learned Business  benefits Looking  ahead
  • 4. Every  change  goes  through  the   build/test  pipeline  and   automatically  gets  put  into   production. Continuous Deployment Development  and  operations   engineers  participate  together  in   the  entire  product  lifecycle. DevOps Building  and  testing  software  in   such  a  way  that  the  software  can  be   released  to  production  at  any  time.   
 "Ship  early,  ship  often,  sacrificing   features,  never  quality"  -­‐  Kyle  Neath Continuous Delivery Team  members  integrate  their  work   frequently.  Commits  are  verified  by   automated  builds  and  tests. Continuous Integration Definitions Who’s  who  in  CD
  • 5. Malmberg  is  an  educational   publisher  in  the  Netherlands.
 Malmberg  is  building  modern,   rich  and  scalable  e-­‐learning   applications  using  Java  8,  Vert.x,   AngularJS  and  MongoDB,   running  on  Amazon     cloud  services. About Malmberg
  • 6.
  • 7. Differences lead to issues Communication between development and operations was slow, problem analysis in production was difficult and releases took a lot of time. Traditional operations Production environments managed by an external operations partner. Differences in infrastructure between development and production. Modern development culture Modern tools and lots of automation. Test environments are managed by developers. History Some  months  ago Things needed to change Issues and differences between development and operations were slowing us down. We needed to shift strategies to keep progressing.
  • 8. …said no product manager ever. J.  Paul  Reed Let’s spend the next few months.. ..working  on  automated  testing  and  build/release   infrastructure,    and  redesigning  how  our  application  is   written.  We  can  postpone  our  feature  development. “ ”
  • 9. Build a complete new setup to allow development teams to transform to the new situation at their own pace. Keep the shop open Build a dedicated team of Devs, Ops and Cloud experts. Expert team Define key points that identify your approach and help you set goals. Define principles Approach How  we  initiated  change.
  • 11. Master branch is always releasable Principle 1 Every change is developed and tested in a feature branch. Don’t merge it until it’s done.
  • 12. Unit/integration (Java & JavaScript), mutation, end-to-end (FitNesse/BrowserStack), Sonar for quality and coverage reporting. Rely on multiple layers of tests. Each commit is tested extensively Principle 2
  • 13. Manage builds, tests, QA and deployments from a single place. Jenkins as the heart of the delivery process. Every delivery step is a Jenkins job Principle 3
  • 14. After deploying 6 new features, when one has an issue, why roll back 5 good features? Don’t. Just roll out a fix quickly. Keep moving ahead. Deployments are roll-forward only Principle 4
  • 15. No logging in to servers. Need a change or upgrade? Just update the recipe. Hands off. Infrastructure as code - for everything Principle 5
  • 16. The flexibility and resilience is well worth it. What about using containers? The EC2 instance is our container.
 Even when you don’t need to scale. Put everything in auto scaling groups Principle 6
  • 17. You can’t explain maintenance windows to modern end users anymore. Our end users are the Facebook generation. No downtime in production Principle 7
  • 18. Make sure you find the problem before it finds you. Work proactive, not reactive. Eyes and ears in production Principle 8
  • 19. Repeating tasks such as viewing logs and doing deployments must be common jobs. Specialisms are OK, but only for incidental tasks. Repeating tasks are executable for all team members Principle 9
  • 20. Differences between teams are OK. A team that’s dependent on external help is not. Give teams the freedom to work in a way that works for them. DevOps teams work on a self service basis Principle 10
  • 21. Don't assume that cultural change won't be an issue. It will. Resistance It turns out that something in recent AWS Linux kernels triggers slave disconnects. We found out the hard way. Jenkins slaves can be a pain Not all devs are comfortable with managing infrastructure and middleware. Devs need to step up their game This kills team progress. Don’t depend on availability of Ops Challenges 02 03 04 05 06 01 When you automate everything and keep growing, chances are you’re going to hit limits. Amazon has limits All environments are provisioned automatically. Challenge: how to prevent testing directly in production. How to test Puppet changes and  lessons  learned
  • 22. Auto scaling and pro-active monitoring boost availability. A lot. Availability Business benefits High level of automation results in shorter release cycles and faster time to market. Agility Automated provisioning makes sure that every environment can be re-built from scratch in minutes. Continuity Lower operations costs due to scheduling and scaling. Lower maintenance costs due to high degree of automation. Cost reduction Faster problem analysis and solution. Better reaction speed How to sell this to your boss.
  • 23. Get  the  teams  the  information  they  need,   readily  available  on  a  dashboard  visible  from   their  desks. Better monitoring and dashboards Looking ahead 01 Nightly  performance  runs  on  test   environments  and  continuous  end-­‐user   performance  monitoring  in  production. Continuous performance testing03 The  only  way  to  be  really  prepared  for  failure   is  to  make  sure  that  things  will  fail  by  making   it  fail  yourself. Automated resilience testing02 This  is  a  tough  one.  We’re  still  trying  to  work   out  what  works  for  us. Continuous security testing04 The near future
  • 25. Thanks for your time. Liked  it?  Tweet  it! @bjschrijver