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.
Many companies want to move their systems to the cloud to reduce costs and release faster. Let’s see the usual steps and their advantages.
Performance is key as companies may lose customers and even have to close if their applications are slower than competitors’ ones. We will see some strategies to improve it using caching in microservices architectures
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.
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.