JAX DevOps Blog

Automation is a key (if not critical) part of successfully implementing CD

20 Feb 2018

Pay attention to your services. Source: Unsplash

In this interview, Michiel Rook talks about migrating data safely without causing (unintended) downtime and explains why automation is a critical piece of the CD “puzzle”. If you want a tour of useful tools and strategies to migrate data safely, don’t miss his JAX DevOps talk.

JAXenter: Why do we need continuous deployment? How can we use it to prevent problems from happening? (an example of a problem-solution situation would be great)

Michiel Rook: At the end of the day, it’s about meeting business demand. Moving fast (or slightly faster) than the business requires. CD enables companies to react faster to the market, be more in control of their product and (quickly) validate product ideas. Last but not least, it radically improves the time to recover from failures.

JAXenter: What tool do you use the most when setting up or managing a CI/CD pipeline?

Michiel Rook: I try not to be overly attached to one particular tool. My current project uses Jenkins, but I’ve used Travis, Circle, Gitlab and a few others in the past.

People are often unaware that microservices really need to be independent.
For example, you often see that all kinds of services are being made but that 1 database is shared. Another problem is that people program what they were used to doing in a monolith, making the chain of synchronous calls between services (over the network !!!) much too long. No attention is paid to “spaghetti structure” that can arise from all kinds of services that use each other and services are tightly coupled

JAXenter: What do most people or businesses get wrong about CD?

Michiel Rook: Automation is a key (if not critical) part of successfully implementing CD. Manual gates, tests and processes are removed in favor of just enough, well-maintained, and fast automated solutions. Beyond that, an organization has to change. Barriers should be broken down and collaboration promoted.

JAXenter: What is your best tip or trick for avoiding downtime when implementing a database migration with CD?

Michiel Rook: Don’t block the pipeline by running long database migrations before you deploy code. Separate / split the steps. Always ensure backwards compatibility. Test your migrations on a (anonymized) copy of production data.

JAXenter: Can you tell us about a time when CI/CD failed and what you learned from it?

Michiel Rook: From a (development) team point of view, an unstable CI/CD pipeline can significantly hinder adoption and trust. A stable and fast pipeline that regularly delivers to production is essential.

JAXenter: What will participants be able to take away from your talk?

Michiel Rook: My first talk, attendees will hear my thoughts on what working in an Agile or DevOps environment means for a leader. We’ll discuss various theories, practical examples and what I consider to be effective leadership.

In my second talk, I’ll take attendees on a little tour of useful tools and a few strategies to migrate data safely, without causing (unintended) downtime. Some of the other topics that will be discussed are non-destructive changes, rollbacks and large data sets.

Thank you very much!

Check out JAX DevOps sessions by Michiel Rook

Wednesday, April 11 2018
10:15 – 11:05

Tuesday, April 10 2018
12:25 – 13:15

Behind the Tracks

BUSINESS & COMPANY CULTURE
the process of becoming fully agile
CLOUD PLATFORMS
Cloud-based & native apps
DOCKER & KUBERNETES
Docker, Kubernetes, Mesos & Co
CONTINUOUS DELIVERY
Build, test and deploy agile
MICROSERVICES
Maximize development productivity
Business & Company Culture

Business & Company Culture

Cloud Platforms

Cloud Platforms

Docker & Kubernetes

Docker & Kubernetes

Continuous Delivery

Continuous Delivery

Microservices

Microservices

Monitoring & Diagnostics

Monitoring & Diagnostics