Microservices is about to become an important part of every integration toolkit.
Engineers and developers love to try out the newest, coolest technology; they want to play with it, talk with colleagues about it and see if it is beneficial for their company. Microservices is one of these technologies. It is a popular new buzzword in integration technology; boiling down to a type of software architecture where small, independent processes expose small standalone pieces of functionality, but which are woven together to form a sophisticated fabric. And the potential benefits of this type of architecture are great, enabling much more resilient and scalable systems than are possible with monolithic architectures.
Cutting edge development teams experimented with microservices last year; but in 2017, mainstream organizations will take microservices architectures into production with real integration projects. To support these initiatives, integration vendors will go to market with microservices using important supporting technologies such as containers like Docker.
When microservices evolved from the dominant monolithic enterprise IT approach it began to look as if smaller was, in fact, better. A microservice is designed around a business capability. This means the run-time server, along with the configuration and the business logic are deployed as a single unit. These units can be developed, tested, deployed, upgraded, retired and so on without having to deploy the entire application at the same time. Additionally, microservices can scale up or out individually as needed.
And this is the secret; microservices make sense for large, highly scalable projects. Netflix, for example, is the poster child for microservices; needing its services to scale up or down according to demand. It developed a microservices orchestrator called Conductor and is now offering it via open source. Other adopters include Google and Amazon, which have successfully successfully deployed microservices.
Many developers feel that relying on their traditional, monolithic approach to integration is like using the wrong tool. In other words, to a hammer, every problem looks like a nail. Applications today are built for millions of connected users, and that is much of what is driving the move away from a monolithic approach and towards microservices.
The container approach enables microservices by taking everything you need to deploy into the marketplace and putting it into a “box.” That’s why containers are often tied to microservice architectures.
What makes Docker exciting is that it is free; it works with all the major OS’s and has a lot of industry backing. Containers such as Docker provide a virtual operating environment for server-based applications. This lighter weight approach means that containers launch more quickly than virtual machines, plus you also can have many times the number of application instances running on the same hardware as you can with virtual machines.
Although the microservices approach is appealing to organizations with large projects that must scale, it is not a one-size-fits-all. Not every integration project within your organization is as complex as Netflix. But for the right projects, microservices just might be the perfect fit. And this is the year you just might be putting these microservice-based integrations into production.