SlideShare a Scribd company logo
1 of 25
Download to read offline
Swimming upstream
in the container revolution
Practical continuous delivery
with open source and cloud services
bertjan@jpoint.nl
Bert	
  Jan	
  Schrijver
@bjschrijver
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
A	
  few	
  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. Yet.
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
Using Github teams for authorisation in
Jenkins seems like a great idea.
It wasn’t.
Authorisation for Jenkins jobs
Challenges
02
03
04
05
06
01
When you automate everything, chances
are you’re going to hit limits.
Amazon has an API limit
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
How to sell this to your boss.
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
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 without DevOps Tools
DevOps without DevOps ToolsDevOps without DevOps Tools
DevOps without DevOps ToolsJagatveer Singh
 
Webinar: Demonstrating Business Value for DevOps & Continuous Delivery
Webinar: Demonstrating Business Value for DevOps & Continuous DeliveryWebinar: Demonstrating Business Value for DevOps & Continuous Delivery
Webinar: Demonstrating Business Value for DevOps & Continuous DeliveryXebiaLabs
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOpsMatthew David
 
Continuous Delivery Distilled
Continuous Delivery DistilledContinuous Delivery Distilled
Continuous Delivery DistilledMatt Callanan
 
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...Simplilearn
 
DevOps: What, who, why and how?
DevOps: What, who, why and how?DevOps: What, who, why and how?
DevOps: What, who, why and how?Red Gate Software
 
DevOps-Redefining your IT Strategy-28thJan15
DevOps-Redefining your IT Strategy-28thJan15DevOps-Redefining your IT Strategy-28thJan15
DevOps-Redefining your IT Strategy-28thJan15Edureka!
 
Devops online training ppt
Devops online training pptDevops online training ppt
Devops online training pptKhalidQureshi31
 
Understanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous DeliveryUnderstanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous DeliverySwapnil Jain
 
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 toolsSudipta Lahiri
 
Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?Chandler Anderson
 

What's hot (20)

DevOps without DevOps Tools
DevOps without DevOps ToolsDevOps without DevOps Tools
DevOps without DevOps Tools
 
"DevOps > CI+CD "
"DevOps > CI+CD ""DevOps > CI+CD "
"DevOps > CI+CD "
 
Webinar: Demonstrating Business Value for DevOps & Continuous Delivery
Webinar: Demonstrating Business Value for DevOps & Continuous DeliveryWebinar: Demonstrating Business Value for DevOps & Continuous Delivery
Webinar: Demonstrating Business Value for DevOps & Continuous Delivery
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introduction
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Continuous Delivery Distilled
Continuous Delivery DistilledContinuous Delivery Distilled
Continuous Delivery Distilled
 
DevOps
DevOps DevOps
DevOps
 
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
 
DevOps: What, who, why and how?
DevOps: What, who, why and how?DevOps: What, who, why and how?
DevOps: What, who, why and how?
 
DevOps-Redefining your IT Strategy-28thJan15
DevOps-Redefining your IT Strategy-28thJan15DevOps-Redefining your IT Strategy-28thJan15
DevOps-Redefining your IT Strategy-28thJan15
 
Devops online training ppt
Devops online training pptDevops online training ppt
Devops online training ppt
 
Devops ppt
Devops pptDevops ppt
Devops ppt
 
Understanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous DeliveryUnderstanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous Delivery
 
Devops
DevopsDevops
Devops
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
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
 
Introduction to devops
Introduction to devopsIntroduction to devops
Introduction to devops
 
Dev ops
Dev opsDev ops
Dev ops
 
Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?
 

Viewers also liked

JavaLand 2016 - Decoding the air around you with Java and $7 hardware
JavaLand 2016 - Decoding the air around you with Java and $7 hardwareJavaLand 2016 - Decoding the air around you with Java and $7 hardware
JavaLand 2016 - Decoding the air around you with Java and $7 hardwareBert Jan Schrijver
 
JavaOne 2015 - Decoding the air around you with Java and $7 hardware
JavaOne 2015 -  Decoding the air around you with Java and $7 hardwareJavaOne 2015 -  Decoding the air around you with Java and $7 hardware
JavaOne 2015 - Decoding the air around you with Java and $7 hardwareBert Jan Schrijver
 
JavaZone 2016: Continuous performance
JavaZone 2016: Continuous performanceJavaZone 2016: Continuous performance
JavaZone 2016: Continuous performanceBert Jan Schrijver
 
GOTO Amsterdam 2016 - The DevOps Disaster
GOTO Amsterdam 2016 - The DevOps DisasterGOTO Amsterdam 2016 - The DevOps Disaster
GOTO Amsterdam 2016 - The DevOps DisasterBert Jan Schrijver
 
Devoxx UK 2016 - Building microservices with Vert.x
Devoxx UK 2016 - Building microservices with Vert.xDevoxx UK 2016 - Building microservices with Vert.x
Devoxx UK 2016 - Building microservices with Vert.xBert Jan Schrijver
 
Devoxx BE 2015 - Decoding the air around you with Java and $7 hardware
Devoxx BE 2015 - Decoding the air around you with Java and $7 hardwareDevoxx BE 2015 - Decoding the air around you with Java and $7 hardware
Devoxx BE 2015 - Decoding the air around you with Java and $7 hardwareBert Jan Schrijver
 
DevOps Utrecht - The DevOps Disaster
DevOps Utrecht - The DevOps DisasterDevOps Utrecht - The DevOps Disaster
DevOps Utrecht - The DevOps DisasterBert Jan Schrijver
 
Codemotion Amsterdam 2016 - Building microservices with Vert.x
Codemotion Amsterdam 2016 - Building microservices with Vert.xCodemotion Amsterdam 2016 - Building microservices with Vert.x
Codemotion Amsterdam 2016 - Building microservices with Vert.xBert Jan Schrijver
 
Utrecht JUG - Building microservices with Vert.x
Utrecht JUG - Building microservices with Vert.xUtrecht JUG - Building microservices with Vert.x
Utrecht JUG - Building microservices with Vert.xBert Jan Schrijver
 
JavaZone 2016 - The DevOps disaster
JavaZone 2016 - The DevOps disasterJavaZone 2016 - The DevOps disaster
JavaZone 2016 - The DevOps disasterBert Jan Schrijver
 
JavaOne 2016 - Pipeline as code
JavaOne 2016 - Pipeline as codeJavaOne 2016 - Pipeline as code
JavaOne 2016 - Pipeline as codeBert Jan Schrijver
 
Devoxx BE 2016 - How to build your own self-driving car
Devoxx BE 2016 - How to build your own self-driving carDevoxx BE 2016 - How to build your own self-driving car
Devoxx BE 2016 - How to build your own self-driving carBert Jan Schrijver
 
JavaOne 2016 - The DevOps Disaster
JavaOne 2016 -  The DevOps DisasterJavaOne 2016 -  The DevOps Disaster
JavaOne 2016 - The DevOps DisasterBert Jan Schrijver
 
Devoxx UK 2015 - Decoding the air around you with java and $7 hardware
Devoxx UK 2015 - Decoding the air around you with java and $7 hardwareDevoxx UK 2015 - Decoding the air around you with java and $7 hardware
Devoxx UK 2015 - Decoding the air around you with java and $7 hardwareBert Jan Schrijver
 

Viewers also liked (14)

JavaLand 2016 - Decoding the air around you with Java and $7 hardware
JavaLand 2016 - Decoding the air around you with Java and $7 hardwareJavaLand 2016 - Decoding the air around you with Java and $7 hardware
JavaLand 2016 - Decoding the air around you with Java and $7 hardware
 
JavaOne 2015 - Decoding the air around you with Java and $7 hardware
JavaOne 2015 -  Decoding the air around you with Java and $7 hardwareJavaOne 2015 -  Decoding the air around you with Java and $7 hardware
JavaOne 2015 - Decoding the air around you with Java and $7 hardware
 
JavaZone 2016: Continuous performance
JavaZone 2016: Continuous performanceJavaZone 2016: Continuous performance
JavaZone 2016: Continuous performance
 
GOTO Amsterdam 2016 - The DevOps Disaster
GOTO Amsterdam 2016 - The DevOps DisasterGOTO Amsterdam 2016 - The DevOps Disaster
GOTO Amsterdam 2016 - The DevOps Disaster
 
Devoxx UK 2016 - Building microservices with Vert.x
Devoxx UK 2016 - Building microservices with Vert.xDevoxx UK 2016 - Building microservices with Vert.x
Devoxx UK 2016 - Building microservices with Vert.x
 
Devoxx BE 2015 - Decoding the air around you with Java and $7 hardware
Devoxx BE 2015 - Decoding the air around you with Java and $7 hardwareDevoxx BE 2015 - Decoding the air around you with Java and $7 hardware
Devoxx BE 2015 - Decoding the air around you with Java and $7 hardware
 
DevOps Utrecht - The DevOps Disaster
DevOps Utrecht - The DevOps DisasterDevOps Utrecht - The DevOps Disaster
DevOps Utrecht - The DevOps Disaster
 
Codemotion Amsterdam 2016 - Building microservices with Vert.x
Codemotion Amsterdam 2016 - Building microservices with Vert.xCodemotion Amsterdam 2016 - Building microservices with Vert.x
Codemotion Amsterdam 2016 - Building microservices with Vert.x
 
Utrecht JUG - Building microservices with Vert.x
Utrecht JUG - Building microservices with Vert.xUtrecht JUG - Building microservices with Vert.x
Utrecht JUG - Building microservices with Vert.x
 
JavaZone 2016 - The DevOps disaster
JavaZone 2016 - The DevOps disasterJavaZone 2016 - The DevOps disaster
JavaZone 2016 - The DevOps disaster
 
JavaOne 2016 - Pipeline as code
JavaOne 2016 - Pipeline as codeJavaOne 2016 - Pipeline as code
JavaOne 2016 - Pipeline as code
 
Devoxx BE 2016 - How to build your own self-driving car
Devoxx BE 2016 - How to build your own self-driving carDevoxx BE 2016 - How to build your own self-driving car
Devoxx BE 2016 - How to build your own self-driving car
 
JavaOne 2016 - The DevOps Disaster
JavaOne 2016 -  The DevOps DisasterJavaOne 2016 -  The DevOps Disaster
JavaOne 2016 - The DevOps Disaster
 
Devoxx UK 2015 - Decoding the air around you with java and $7 hardware
Devoxx UK 2015 - Decoding the air around you with java and $7 hardwareDevoxx UK 2015 - Decoding the air around you with java and $7 hardware
Devoxx UK 2015 - Decoding the air around you with java and $7 hardware
 

Similar to MeetingPoint 2015 - Swimming upstream in the container revolution

Swimming upstream in the container revolution
Swimming upstream in the container revolutionSwimming upstream in the container revolution
Swimming upstream in the container revolutionnextbuild
 
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 revolutionBert Jan Schrijver
 
CICD_BestPractices.pdf
CICD_BestPractices.pdfCICD_BestPractices.pdf
CICD_BestPractices.pdfmotupalli2
 
Edureka-DevOps-Ebook.pdf
Edureka-DevOps-Ebook.pdfEdureka-DevOps-Ebook.pdf
Edureka-DevOps-Ebook.pdfrelekarsushant
 
DevOps Workshops Fall 2016
DevOps Workshops Fall 2016DevOps Workshops Fall 2016
DevOps Workshops Fall 2016Kelly Looney
 
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 lessMohammed A. Imran
 
Continuous delivery @ hi q
Continuous delivery @ hi qContinuous delivery @ hi q
Continuous delivery @ hi qTomas Riha
 
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 SuccessTechWell
 
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 SatchelJwooldridge
 
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 lessMohammed A. Imran
 
Seven Mistakes During Devops Implementation
Seven Mistakes During Devops ImplementationSeven Mistakes During Devops Implementation
Seven Mistakes During Devops ImplementationJanBask Training
 
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 IndonesiaMohammed A. Imran
 
DevOps is a Journey - Choose Your Own Adventure
DevOps is a Journey - Choose Your Own AdventureDevOps is a Journey - Choose Your Own Adventure
DevOps is a Journey - Choose Your Own AdventureFabian Iannarella
 
Continuous Testing 2016
Continuous Testing 2016Continuous Testing 2016
Continuous Testing 2016Karim Fanadka
 

Similar to MeetingPoint 2015 - Swimming upstream in the container revolution (20)

Swimming upstream in the container revolution
Swimming upstream in the container revolutionSwimming upstream in the container revolution
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
 
DevTestOps
DevTestOpsDevTestOps
DevTestOps
 
DevOps-Ebook
DevOps-EbookDevOps-Ebook
DevOps-Ebook
 
CICD_BestPractices.pdf
CICD_BestPractices.pdfCICD_BestPractices.pdf
CICD_BestPractices.pdf
 
Edureka-DevOps-Ebook.pdf
Edureka-DevOps-Ebook.pdfEdureka-DevOps-Ebook.pdf
Edureka-DevOps-Ebook.pdf
 
DevOps Workshops Fall 2016
DevOps Workshops Fall 2016DevOps Workshops Fall 2016
DevOps Workshops Fall 2016
 
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
 
Enterprise DevOps
Enterprise DevOps Enterprise DevOps
Enterprise DevOps
 
Continuous delivery @ hi q
Continuous delivery @ hi qContinuous delivery @ hi q
Continuous delivery @ hi q
 
Dev ops
Dev opsDev ops
Dev ops
 
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
 
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
 
Seven Mistakes During Devops Implementation
Seven Mistakes During Devops ImplementationSeven Mistakes During Devops Implementation
Seven Mistakes During Devops Implementation
 
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
 
DevOps is a Journey - Choose Your Own Adventure
DevOps is a Journey - Choose Your Own AdventureDevOps is a Journey - Choose Your Own Adventure
DevOps is a Journey - Choose Your Own Adventure
 
Continuous integration with Jenkins
Continuous integration with JenkinsContinuous integration with Jenkins
Continuous integration with Jenkins
 
Continuous Testing
Continuous TestingContinuous Testing
Continuous Testing
 
Continuous Testing 2016
Continuous Testing 2016Continuous Testing 2016
Continuous Testing 2016
 

Recently uploaded

UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Christo Ananth
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)simmis5
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756dollysharma2066
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...roncy bisnoi
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueBhangaleSonal
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptDineshKumar4165
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 

Recently uploaded (20)

UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 

MeetingPoint 2015 - Swimming upstream in the container revolution

  • 1. Swimming upstream in the container revolution Practical continuous delivery with open source and cloud services bertjan@jpoint.nl Bert  Jan  Schrijver @bjschrijver
  • 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 A  few  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. Yet. 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 Using Github teams for authorisation in Jenkins seems like a great idea. It wasn’t. Authorisation for Jenkins jobs Challenges 02 03 04 05 06 01 When you automate everything, chances are you’re going to hit limits. Amazon has an API limit 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 How to sell this to your boss. 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
  • 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