53 karma · joined August 8, 2012
There are lots of examples of successful companies using microservices, but I believe the real problem is in defining what constitutes a microservice. Most people call things "microservices" that are nothing of the sort. I can unequivocally say if you built a "service" that depends on other things being 100% available (like another "service") than you haven't built a microservice (ie: those things you built shouldn't be called services).
By that token, autonomy is a pretty important factor. The Udi Dahan teachings (https://particular.net/adsd) (currently available for free) promote this style of architecture. A concrete example of a toolkit for building true microservices can be found in Message DB (https://github.com/message-db/message-db) and/or Eventide (http://docs.eventide-project.org/)
I wouldn't suggest, however, that anyone can just watch the course, pick up these tools and succeed. Like baking a good loaf of bread, it takes a lot of skill, work and experience. Whether or not you succeed at building microservices is ultimately up to you and your team.
As for hard dates I don't know of any, but the article suggests "2 years" and I've seen StackOverflow posts from 2014 asking about threading so I'm sure it was at least on Slack's radar for that long.
The point of all of this however is that a) 2 years is far too long for an MVP rollout (if that's what this is) and that b) they simply added some lipstick onto existing substandard features.
Our personal preferences re: UX etc aren't even really all that relevant as we'll obviously never agree on that, but we can certainly agree that spending 2 years delivering a limited-use MVP for a giant company like Slack with almost unlimited manpower is pretty miserable.