Technical Meeting: Microservices - The easy way
Details
Andrew Swerlick presents microservices.
"Microservices" is a software architecture style in which complex applications are composed of small, independent processes communicating with each other using language-agnostic APIs. These services are small, highly decoupled and focus on doing a small task, facilitating a modular approach to system-building.
While it sounds complex, we've been able to implement some light-weight microservices strategies at our small 2 man development shop. In this talk I'll talk about what we've done at how it differs from "the right way" to do microservices, but how our shortcuts and compromises might be good fit for small teams interested in this architecture.
For those who are not familiar with microservices, here are some key points
-
Microservices is not a specific framework or technology, its an architectural philosophy, similar to SOA. There's no "API" because it's not a technology, or a standard, or a toolset, instead it's a set of idea about how to organize applications and teams. There are multiple implementations and technologies you can use to support it.
-
Microservices are gaining popularity because they're frequently easier to deploy and scale, particularly if you break up your development teams along service boundaries.
-
Microservices are generally discussed within the space of web applications, where the apps are deployed and managed by a single company, who totally owns the update cycle. It doesn't make as much sense for desktop applications, or applications packaged as a product and sold to other companies to manage and deploy on their own servers.
