MongoDB is a popular NoSQL database system that needs a solid backup strategy to prevent data loss in case of unexpected events such as hardware failure. We will explore different strategies to ensure your data is properly backed up and secure, and how you can implement them. Tooling needed Daily vs incremental backups Full database…
All the organisations with customers in Europe need to adapt to this new regulation before the end of the year and all the new projects should be compliant. Let’s see its key points and how to adapt to it. The main point of GDPR is to ensure that organisations only use personal data in an…
One of our tasks as leaders is to identify and grow the next generation that will lead the technical decisions of the company. This is not easy for new managers who still try to do everything themselves or only focus on the technical side without thinking about the people they work with. Identify new leaders…
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.…
This is the first post of a series about how to design a cluster, which is a group of servers working together to support a service and allow them to scale horizontally. This one is about monitoring, which allows us to detect issues and solve them before they become a problem, ensuring businesses don’t lose…
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 Introduction What is caching? In-memory cache Distributed cache Per-request cache Indexed searches Conclusion Introduction We all know the experience. We want…
TestNG is a tool similar to JUnit for testing applications that provides extra functionalities. Let’s see some recommendations to use it better: Define sets of tests (testSuites) in xml files Separate unit tests (test a specific functionality) of integration ones Use the description option and document in javadoc Write the data in xml or properties…
Credential management is one of the most critical parts of the Ops/DevOps world as a leaked password may give full access to a database or queue that stores confidential data from customers. This could not only impact the reputation of the business but also imply very high fines, e.g. due to a GDPR data breach.…
Spring is one of the most used tools to create Java web portals. However, many programmers avoid using it because they don’t know its advantages. Let’s see some of them: Simple configuration files Fast development of forms Web flow management Integrated MVC pattern Annotations use Simple configuration files Everything can be configured with xml files,…
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.