See the original posting on JavaWorld
Software, as Marc Andreessen says, is eating the world. Everything we do is mediated through someones code — running on a smart thermostat, a smartphone, the old familiar PC, or as a microservice in an ever-expanding cloud.
Were finally delivering on the decades-old promise of a ubiquitous computing world. But more than that, from the developer’s standpoint, the tools available to us are better and more sophisticated than ever. Were also seeing monolithic applications break apart into services and platforms, ready to become part of your applications.
At the heart of the current wave of change are new design patterns suited to a highly distributed, asynchronous computing world. Yes, were still building n-tier MVC and MVVM apps — and well carry on building them for a long time to come. But new microservice-focused design patterns give us a new set of tools to help us build highly scalable, concurrent applications that can handle the eventual consistency that comes from working with asynchronous services.