7 steps to make releases backward compatible

We should design and build systems in a way that ensures any change can be easily reverted even if the people who have worked on it are not available at that time. Imagine for example that a change starts causing memory issues on a Saturday evening, surely you want to be confident that the support teams can revert to a previous version without downtime and without involving multiple teams. The below changes are easy to implement and will give you peace of mind.

Continue reading

How to stop and re-enable batch jobs without changing the scheduler or redeploying the application

Batch jobs are essential for many applications but sometimes there is too much hassle to stop and re-enable them when needed. We are going to see what they are, the scenarios in which it is needed and how to use a standard microservice pattern to address it.

Continue reading

Contract testing using Spring Cloud

As applications grow it is normal to break them down into smaller pieces that are easy to combine and maintain. The challenge comes in the integration between these pieces as an small change in one of them may break the communication with the others, and we may not notice it until we get emails from users. We are going to see how to detect this automatically using contract testing.

Continue reading