Microservices is fast emerging as a modern way for building applications inside many organizations. It is a trend that had its initial roots in startups wanting to avoid the “legacy quagmire” that has negatively impacted many large enterprises to this today. Recently, it has started gaining more steam as organizations are realizing that reimagining their IT with Microservices architecture helps them not to just take advantage of modern technologies available today, but also to future-proof them in the era of exponential innovation in technology.
In this post, I will connect Microservices with DevOps, another key trend that is capturing the imagination of enterprise IT and changing the way they work today.
Microservices, which forms the foundation of composable enterprise, has many distinct advantages including:
- Technology heterogeneity
- Resilience in application infrastructure
- Smart scaling (scaling should not be resource inefficient)
- Easy deployment
- Future proofing
In this post, I will touch on the easy deployment advantage offered by the Microservices architecture. As organizations realize that agile transformation in application development isn’t enough to meet the agility needs of today fast paced hyper competitive markets, they are fast embracing DevOps as the defacto IT mantra. Once they understand the value of DevOps, they transform themselves culturally to bring in close collaboration between different stakeholders (developers, operations and business) and pick the right tools to complement the cultural change.
Even though PaaS + DevOps is fast emerging as the right level of abstraction and standardization needed to reduce the friction in IT, the use of Microservices architecture to build applications on top of PaaS makes the collaboration between developers and operations even more seamless. With Microservices architecture, the use of small developer teams becomes a reality as it is much more feasible to assign smaller independent team of developers compared to building a large monolithic application. Similarly, the responsibility in the IT operations team can be assigned to a smaller group, building a foundation for stronger and deeper collaboration between the developers and IT Ops. Such a close collaboration is at the heart of DevOps and Microservices can go a long way to seamlessly enable such a collaboration.
Containers offer the right abstraction to encapsulate Microservices. A PaaS offering that takes advantage of containers offers the right standardization to streamline deployment pipelines, maximizing DevOps benefits. When this is combined with the collaboration advantage enjoyed by the small teams building and deploying Microservices, you are in a position to achieve DevOps nirvana. The combination of Microservices, Containers, PaaS and DevOps has a great potential to transform enterprise IT and help organizations compete effectively not just today but also in the future.
This is the reason why I am excited about OpenShift Version 3, expected to be generally available in 2015. The use of Docker for packaging containers, coupled with the orchestration powered by Kubernetes and the developer interface, puts DevOps at the forefront of enterprise IT. When this platform is used to deploy Microservices, organizations can seamlessly maximize DevOps benefits and accelerate the application delivery even further.