Scandinavian Network of Excellence
Software Configuration Management
Time: Monday, October 16th, 2017, 15:30-16:30.
Place: Softhouse's facilities in Stormgatan 14, Malmö
Title: What are proper approaches to label versions of microservices?
Host: Fredrik Stål, Softhouse
First let's make some assumptions. We have a system with at least 100 single-purpose components that act like services such as a small application, database, web service, load balancer etc. Let's also call this system "chaotic" because of its constant change, sometimes it even changes without a notice.
A release with any of these services follows from a total automatic delivery pipeline combined with built-in monitoring. Finally let's also state that in some cases multiple services are released at once. This is what I would call the ideal system we mean when we talk about microservice architecture.
There are plenty of areas in SCM to explore in this context, but unfortunately we would have to settle for only one focus area this time and for that I have chosen version labels. What would actually be a good approach that enables us to get the most out of the reason for why we version label in the first place? I'm referring to things like traceability, consistency and trust in that your components work well together when required.
Maybe the answer is as simple as saying "Hey, why not just use semantic versioning?". But in that case why is that? My hope is to explore these questions together, dig into some possible solutions and perhaps even find some "good-to-remember" requirements when it comes to version labels and microservices. It will be great fun! :)