Menú

Microservices: An Architectural and Cultural Evolution

At a recent Microservices Meetup in NY, Michael Bryzek and Adrian Cockcroft discussed their extensive experience with microservices.

Dealing with a traffic spike amounting to half of Amazon’s traffic each day when new sales are announced is no easy matter. Michael Bryzek, co-founder and former CTO of retailer Gilt Groupe, talks about the architectural and cultural evolution that took place as Gilt introduced microservices during its growth over the course of the past seven years.

Transitioning from a few monolithic systems to somewhere in the range of 300 to 400 microservices today presented a lot of challenges along the way. First describing how they decided to prioritize which parts of their system to optimize by breaking it into smaller, more optimized services, Bryzek covers some of the challenges that were encountered and how they went about solving them. He also describes some of the steps they took right up until today, when they have begun transitioning to Amazon’s AWS.
 

Successfully building a microservices architecture typically takes a strong culture of trust with teams that are empowered to do the right thing. Bryzek discusses some of the sources of inspiration they had when faced with the problem of developing trust while growing their engineering capability, and some of the other organizations whose lessons they looked to for ideas.

Adrian Cockcroft is well known for his role as cloud systems architect during Netflix’s migration to the cloud-native platform capable of supporting its massive scale. In this talk, he introduces a tool he has been working on for large-scale microservice simulations and modeling, mixed with some descriptions of problems and topologies you might expect to see with a system like Netflix.

Cockcroft first provides us with a valuable definition of microservice: “a loosely coupled service oriented architecture with bounded contexts … to make sure you break your problem into the right chunks”. After describing some monitoring problems that must be addressed in cloud-based systems and lamenting the lack of tools that allow request flow to be modeled and tested in a cloud-based microservice architecture, he introduces his tool, spigo (soon to be renamed to simianviz).

Simianviz is a tool written in Go that does large-scale simulations of microservice architectures, visualizing the resulting graph in the web browser using D3. For the remainder of this interesting talk, Cockcroft demonstrates how his tool could be used for a variety of uses, covering everything from breaking up a monolith to simulating some complex topologies.