|
|
|
Back to newsletter 168 contents
The new buzzword is microservices. It means splitting your system up into multiple small processes with each process providing a smaller set of highly focused services. While the buzzword is new, the actual architecture is old, and a lot of you have been creating microservices for a long time now.
If your system is not just one big application server and it has multiple JVMs, then almost certainly you already have a microservice architecture in place. At the very least, as Adam Bien pointed out it's likely that you are already running one of the most popular microservices around - Jenkins CI!
The advantage of a microservice architecture is that you only need to scale the services that need scaling, rather than all components; this reduces complexity (you don't have to worry about scaling issues for those components that are not scaled), reduces resource usage (fewer things are scaled), and increases the ease of scaling (you are scaling fewer components, that'll be easier all round); scaling horizontally is easier (it's easier to cluster enable a component than a whole service, e.g. no need to scale up database connections if the microservice doesn't need those) and you prefer to scale horizontally if possible as that lets you scale cheaply. The disadvantage is that you need to be much more rigorous in decoupling your components and there is additional deployment and distributed monitoring complexity.
One of the talks I reference this month is an excellent one on testing microservices - so let's get right on to that and all our usual sections: links to tools, articles, news, talks and as ever, all the extracted tips from all of this month's referenced articles.
Java performance tuning related news.
Java performance tuning related tools.
Back to newsletter 168 contents