One of the challenges of using microservices is the lack of transactions in operations that span multiple services. We will see how to solve it using a standard pattern. What are transactions? What is the challenge with microservices? Let’s see an example How can we handle the errors in this example? How to implement it…
One of the challenges of the microservices architecture is that the data is managed by different services, which makes it difficult to do queries across multiple domains. Let’s see a few approaches and the advantages and drawbacks of each of them. Introduction Building a macroservice Including an entity from another domain Duplicating data from other…
Performance is key as companies may lose customers and even have to close if their applications are slower than their competitors’. We will see some strategies to improve it using caching in microservices architectures Introduction What is caching? In-memory cache Distributed cache Per-request cache Indexed searches Conclusion Introduction We all know the experience. We want…
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. This post covers some best practices to achieve 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 a small change in one of them may break the communication with the others, and we may not notice it until we get user complaints.…
Organisations cannot work on their own as they need to integrate with customers and suppliers. I will explain some of the integration types I have worked on until now. REST SOAP Connectors SFTP Alternative solutions Summary REST This is the standard and what all systems should use nowadays. It is simple, clear, and easy to…
There are many debates about which type of database is better. I will focus on how to use them for a specific case and how to evolve the design as needed. SQL vs NoSQL The case to consider 1) The basic scenario 2) Adding flexibility per customer 3) Total flexibility using a SQL database 4)…
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. Microservices Streaming Continuous integration (CI) Continuous delivery (CD) Containers Container orchestration Functions Cloud services Infrastructure as code (IaC) DevOps DevSecOps Summary Microservices Big applications are difficult to handle because dozens of…
Code quality is usually underrated in some organisations because it is an aspect that customers don’t see and don’t pay for. However, it is quite important in both the short and long term. I will expose some of the reasons. Allows to develop faster It is already documented It sets the bar for new code…
I have learned a lot about security at a conference, as it is the area in which I can improve the most. I will summarise what I have learnt, as many of you may also be interested in it. More responsibility on developers New targets for hackers Be careful with dependencies Automate the security analysis…