Software, as Marc Andreessen says, is eating the world. Everything we do is mediated through someone’s code -- running on a smart thermostat, a smartphone, the old familiar PC, or as a microservice in an ever-expanding cloud.
We’re 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. We’re 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, we’re still building n-tier MVC and MVVM apps -- and we’ll 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.
Languages like Erlang embody many of these principles, as do PaaS tools such as AWS’s Lambda or Microsoft Azure’s Service Fabric. You can also roll your own actor-based microservices using the open source MQTT messaging framework and the Seneca microservice toolkit for Node.js. Microservices are ideal for implementing actors, as they are at heart switching engines that take in inputs, process them appropriately, then send the results on to other services.
For More You Can Check Business Analytics Video