It’s common to hear that “microservice should be small” or “microservice should not be too big”. Well, this is not a very precise metric to go by. Very often teams start creating tiny executables each dealing with a very small concern, and sooner rather than later they run into lots of issues – tight coupling…
Month: March 2018
Cross service communication in SOA
Creating a distributed software system based on Service Oriented Architecture (with Microservices implementation technique as a possible approach, more on this here) very quickly presents a question of communication between the services in the system. Communication choice may greatly affect non-functional requirements such as stability, availability, reliability, maintainability and other “-abilities” of the system. To…
Team structure for successful distributed software system implementation
Goals Development of complex distributed software systems is not an easy task that requires quite a lot of investment. So, why do it? Here are some of major business reasons: Improve business agility – time to market for products, features, fixes Shorten time to market by releasing small and often Increase velocity by delivering many…
KeePass on Linux. 2018 edition.
It’s been couple of years since I’ve switched to Linux. I’ve been running Ubuntu for most of these two years after having too many stability related issues with Mint. When I switched over from Windows I was missing one critical piece of software that, I believe, everyone should use – a password manager. I’ve been…
Microservices. The boundaries.
One of the problems with designing and implementing a distributed software system using microservices implementation technique is figuring out the boundaries of microservices. And, indirectly, the size of these artifacts. What happens if the boundaries are incorrect? You get coupling between various components (microservices) – both spatial and temporal. Such coupling can undermine a lot…