"Design Microservice Architectures the Right Way" by Michael Bryzek [1]
Really good discussion on event-collaborative microservice systems that scale well for performance and maintenance as well as a good argument and use case for server and client code generation.
Thanks for this, it's a great talk. I think the real point here has nothing to do with microservices; look at the leverage and flexibility they gain because everything is built data-first.
I think more and more it's a case of people realizing there is no definitive "microservice" architecture. Because of that architects around the industry are now focusing on the flow of data and using whichever tools are best to get the right behavior in their business.
What was called microservices imo was just a higher level modularization of code to allow easier parallel development and maintenance/scaling, but since it needs a server that meant some boilerplate to initialize and keep the app running. A lot of people went about this in different ways which made things a bit chaotic to those new to the idea I think. The next logical step would be to remove that server code by running on a serverless architecture to focus on the functions that operate on data rather than having to maintain the initialization code and other boilerplate as well.
Among all of this advancement, an architect thinking the way Michael Bryzek does would have no problem using either approach since the focus is on the data and how data is used.
Still, server-based microservices are still very prominent, and I'd argue they are also much more platform agnostic if done right whereas (if I'm not mistaken) much of serverless is done in specific platforms causing you to be vendor-locked due to different deployment processes for each platform. I think research is being done to make platform-agnostic serverless deployments easier, but I haven't read much on it yet and am unaware of current advancements in that area.
I was under that impression as well, that "Microservice" was now becoming too much boilerplate overhead, inconsistently defined within our industry, and easily misunderstood by those that implement them. Serverless architectures do solve these issues, however they are not a panacea.
Really good discussion on event-collaborative microservice systems that scale well for performance and maintenance as well as a good argument and use case for server and client code generation.
Definitely my favorite so far.
[1] https://www.infoq.com/presentations/microservices-arch-infra...