Elevator Pitch
Microservices is very hot, alas, we see a lot of ideas from the past rebranded as microservices; whereas the thinking behind it implies and promises a bigger change. This talk goes over the details of what actually makes a microservices architecture and presents one with Node.js & Docker.
Description
The concept of microservices is hot and it draws many developers from a diverse background. Unfortunately, we see a lot of ideas from the past rebranded as microservices; whereas the thinking behind microservices implies and promises a bigger change. This talk will go over the details of what actually makes a microservices architecture and how other distributed systems — that rely on queues and other mechanisms to function — fail to fulfill the promise.
A modern microservices implementation should be;
- Zero-configuration: any microservices system will likely have hundreds of services. Therefore, a manual configuration of IP addresses, ports and API capabilities is infeasible.
- Highly-redundant: service failures are very common in this scenario. So it should be very cheap to have copies of such services at disposal with proper fail-over mechanisms.
- Fault-tolerant: the system should tolerate and gracefully handle miscommunication, errors in message processing, timeouts and more.
- Self-healing: it’s normal for outages and failures to occur. The implementation should automatically recover any lost service and functionality.
- Auto-discovery: the services should automatically identify other new services that are introduced to the system to start communication without manual intervention or downtime.
Finally, this talk will present how such a system can be easily realised using Node.js and Docker.
Notes
I have been developing distributed applications way before it was called microservices. I am the author of a library backed by state-funded research efforts called cote and I have been talking about this subject for over 3 years in several countries.
I can also present this talk as a tutorial/workshop. If this should be a tutorial (or a workshop), a wifi network that doesn’t block IP multicast or IP broadcast would unlock more interesting applications within the session.