Want to deploy your JVM, Node.js ang Go apps effortlessly to AWS? Try our service Boxfuse

Architecting for Continuous Delivery and Zero Downtime

Two day on-site intensive hands-on training

Continuous Delivery is all the hype these days. This training makes it a reality. We start with an overview of what Continuous Delivery is and how it can help you. We then quickly dive into the details. You will learn what it takes to architect a Java application so that it can be delivered continuously into production, with code, configuration and database delta, multiple times a day, with Zero Downtime.

Buckle up! This class is intensive and hands-on. You build an entire Java web app to the point where it deploys continuously, with zero downtime. We tackle the hard problems with a battle-tested approach you will be able to apply immediately.

If you are an architect or a developer and want to gain a solid understanding of the techniques you need to make Continuous Delivery and Zero Downtime a success, this training is for you.

devoxx presenting presenting

Prerequisites

This training assumes a good understanding of software architecture, the Java language, Linux and relational databases in general.

Format

Bring your own laptop. You've heard someone talk the talk.
This is where you walk the walk.

We start by a high-level overview of what it means and what it takes to architect an app for Continuous Delivery and Zero Downtime.

We then quickly move on and take a deep dive into the practical side of things. Over the course of 14 carefully crafted exercises you will gradually build out a Java web app to the point where it is released and deployed continuously with zero downtime. All this in a virtual data center set up on your own laptop to simulate real world interactions.

Finally, we wrap up with a look at where the industry is heading, with new exciting developments like Immutable Infrastructure.

Program

Over the course of these two days, we will cover the following topics:

Introduction to Continuous Delivery

  • What is Continuous Delivery
  • Where does it fit in
  • Prerequisite techniques

Automated Testing

  • Tests as risk reduction
  • Fast feedback by test categorization
  • Acceptance tests and the page object pattern

Continuous Integration and Releases

  • CI Server and Artifact Repository
  • Rethinking versions and releases
  • Automated deployment

Configuration and Environments

  • Dealing with multiple environments
  • Environment Detection
  • Rethinking configuration

Database Migrations

  • The challenges with database changes
  • Database Migrations
  • Pitfalls and alternatives to rollback

Keeping software releasable

  • Keeping software releasable at all times
  • Features toggles
  • Expand and contract

Zero Downtime

  • The challenges with state
  • Rethinking Sessions
  • Integration with Load Balancers

Immutable Infrastructure

  • The future of application delivery
  • Self-identifying software
  • Immutable Infrastructure

Technologies used

The training strongly emphasizes principles over technology. This will allow you to apply your newly gained knowledge to your projects no matter which technology you use or happens to be in fashion.

However to illustrate these principles we use a number of tools and technologies including Java, Git, Linux, Vagrant, Maven, Jenkins, Artifactory, Flyway, Hsqldb and HAproxy.

Upcoming public trainings

Iasi, Romania • 10-11 May 2017

Training language/materials: English/English

Oslo, Norway • 16-17 October 2017

Training language/materials: English/English

Private trainings

At your company, worldwide

Training language/materials: English, German or French/English

What attendees are saying

Axel's workshop is so good that he just held it a second time in our company. From elegant technical solutions to paradigm shifts to office politics, the workshop is full of tools that I can apply immediately to implement Continuous Delivery for our clients.
Andrei Ghimuș - Senior DevOps Engineer
Endava, Bucharest, Romania
Good content on all things 'continuous delivery'. Very in depth. Lots of good working examples. Good to see/ use alternative continuous delivery tools, to what we use currently.
Anonymous feedback from training participant
Belfast, UK
We really like Axel's pragmatic and straight-forward approach to Continuous Delivery. We left the course with many easily applicable ideas. His teaching skills were also greatly appreciated.
Lukas Lechner - Head Application Engineering Frontoffice
SIX Group Services AG, Biel, Switzerland
Architecting for Continuous Delivery and Zero Downtime" is a very well prepared and professional workshop giving you all the hands-on and insight required to put your releases into a higher gear with confidence.
L-G Hakamo - Build and Release Master
Paf, Helsinki, Finland
The course presented a coherent set of practices, tools, attitudes and philosophy for CD. For me the key learning was the non-technical aspects.
Johannes Hyvärinen - Expert Technology Architect
Swiss Reinsurance Company, Zurich, Switzerland
Attending “Architecting for Continuous Delivery” was very much hands on and inspiring, leaving me with plenty of ideas of how to implement a pipeline in my current project. The course was a mixture of theory, coding and also had enough room for open discussions. I definitely recommend it.
Andreas Folkesson - Software Engineer
Object Republic AB, Stockholm, Sweden
The workshop gave me a solid understanding of the theoretical and practical fundaments of Continuous Delivery. It was very inspiring to finally set up a complete pipeline based on a real world example. There was enough time for discussions and questions about specific topics. I highly recommend this course.
Waldemar Schneider - Software Developer
Flavia, Kassel, Germany
The hands-on workshop "Architecting for Continuous Delivery and Zero Downtime" provided fundamental concepts for implementing a Continuous Delivery process. The setup was very well prepared, so that no time was wasted on configuration problems. I recommend it to everyone who is interested in modern deployment pipelines.
Alen Tolj - Lean Java Expert
comSysto GmbH, München, Germany
The workshop "Architecting for Continuous Delivery" provided me with the necessary tools to successfully tackle the challenges of deploying software continuously. Axel's expertise on the subject and his pragmatic approach made the two days a joy to attend.
Matthias Grüter - Software Engineer & Manager
Transmode Systems AB, Stockholm, Sweden
Everything was in my eye perfect - top notch. Had a lot of fun and learned a lot of useful new techniques that I will be able to put into practice at my daytime job.
Ulf Hedlund - Technical CM
Arbetsförmedlingen, Stockholm, Sweden
I signed up for this training with high expectations and I was amazed by the quality. The 2 day course was very well planned and executed, with just the right amount of exercises to keep moving at an even pace. Focus on doing practical things rather than just sitting and listening.
Erik Nylund - CTO
Oy Gambit Labs Ab, Vaasa, Finland