SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Devops Devops Devops
Devops Devops DevopsDevops Devops Devops
Devops Devops DevopsKris 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
 
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 ParadiseXebiaLabs
 
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 toolsSudipta 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
 
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 DevOpsQASymphony
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous DeliveryMike 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 Transformationdev2ops
 
Myths of Product Development
Myths of Product DevelopmentMyths of Product Development
Myths of Product DevelopmentShoaib Shaukat
 
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
 

Was ist angesagt? (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...
 

Ähnlich wie 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 revolutionBert Jan Schrijver
 
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 RapidValueRapidValue
 
DevOps Workshops Fall 2016
DevOps Workshops Fall 2016DevOps Workshops Fall 2016
DevOps Workshops Fall 2016Kelly 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 lessMohammed 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 SuccessTechWell
 
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 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
 
Continuous Testing 2016
Continuous Testing 2016Continuous Testing 2016
Continuous Testing 2016Karim 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 IndonesiaMohammed 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 GapSerena Software
 

Ähnlich wie 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
 

Mehr von nextbuild

Aws microservice keynote
Aws microservice keynoteAws microservice keynote
Aws microservice keynotenextbuild
 
How invariants help writing loops
How invariants help writing loopsHow invariants help writing loops
How invariants help writing loopsnextbuild
 
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 Camelnextbuild
 
Effective code reviews
Effective code reviewsEffective code reviews
Effective code reviewsnextbuild
 
Microservices in the real world
Microservices in the real worldMicroservices in the real world
Microservices in the real worldnextbuild
 
Asp.net in a new world
Asp.net in a new worldAsp.net in a new world
Asp.net in a new worldnextbuild
 
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 applicationsnextbuild
 
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 sassnextbuild
 
Cqrs from the trenches
Cqrs from the trenchesCqrs from the trenches
Cqrs from the trenchesnextbuild
 
Architecting for the cloud
Architecting for the cloudArchitecting for the cloud
Architecting for the cloudnextbuild
 
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 levelnextbuild
 

Mehr von 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
 

Kürzlich hochgeladen

Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Nikki Chapple
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
WomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneWomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneUiPathCommunity
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...Karmanjay Verma
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentMahmoud Rabie
 

Kürzlich hochgeladen (20)

How Tech Giants Cut Corners to Harvest Data for A.I.
How Tech Giants Cut Corners to Harvest Data for A.I.How Tech Giants Cut Corners to Harvest Data for A.I.
How Tech Giants Cut Corners to Harvest Data for A.I.
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
WomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneWomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyone
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career Development
 

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