Designing “Microservices” – Beyond the Hype

It’s been a busy week at Adaptech. We had a full house for last Wednesday’s .NET User Group of BC meetup at the downtown BCIT campus.


Great crowd at the .NET User Group of BC

Thanks again to Medhat for organizing and inviting us. The topic was “microservices”. Given the hype level around the term, we wanted to explore which one of the many perspectives on the topic is the most useful one for business stakeholders and software craftsmen. Is it infrastructure (Docker containers anyone? Lambdas? Service Fabric?) How about communications protocols? Distributed processing and asychronicity? We made a case that these are secondary considerations;  what makes “microservices” successful from a business perspective is properly managing coupling and cohesion: What changes together should be in the same service, built by the same team, with well defined APIs as the only way to communicate with the rest of the world. As an example what this might look like and how system boundaries between services can be determined, we showed an event sourced, CQRS based online hotel booking system.

Thursday at 5:15pm was our weekly CQRS/ES application architecture meetup. After a lively Q&A about the previous evening’s microservices talk we dove into a mini-project which is going to keep us busy this week and the next: Design and partial implementation of an event sourced online shopping workflow. We started with eventstorming and will continue this week to identify commands and aggregates before diving into implementation. Language T.B.D.; would be great to try Scala and use Akka.

As far as I’m aware, Adaptech’s Thursday CQRS/ES meetup is the only regular event in Vancouver where attendees can practice hands-on software design and implementation. We usually get a varied crowd with many different perspectives and some very senior people. It’s a great forum to try out ideas and learn together.

Leave a Comment