Microservices – small, loosely coupled applications that follow the Unix philosophy of “”doing one thing well”” – represent the application development side of enabling rapid, iterative development, horizontal scale, polyglot clients, and continuous delivery. They also enable us to scale application development and eliminate long term commitments to a single technology stack.
While microservices are simple, they are certainly not easy. It’s recently been said that “microservices are not a free lunch.” Interestingly enough, if you look at the concerns typically expressed about microservices, you’ll find that they are exactly the challenges that a PaaS is intended to address. So while microservices do not necessarily imply cloud (and vice versa), there is in fact a symbiotic relationship between the two, with each approach somehow compensating for the limitations of the other, much like the practices of eXtreme Programming do the same.
This session will describe architectural patterns for developing microservices:
* Service Decomposition
* API Gateways
* Stateless / Shared-Nothing Apps
* Configuration and Backing Service Consumption
* Fault Tolerance
Along the way we’ll see how to leverage technologies such as Spring Boot and Reactor to develop microservices targeted at Cloud Foundry.