Defining applications as a set of related processes will be a new de-facto standard.
An apt soundbite for the current state of thinking in IT might be, “Monolithic applications are bad. Micro-services are good.” There is little doubt that the pace of technological change and its impact on enterprise business models is driving a need for speed and agility. Virtualisation and containerisation have enabled developers to focus on application functionality rather than having to architect for the underlying operating system and hardware. At the same time, development culture, open APIs and technologies have come together to make it practical to break applications up into services that interact with each other and that can be changed and added to in a very modular, therefore agile way.
There were good reasons for designing and deploying monolithic applications. Enterprises need to take the good reasons, performance, security, simpler testing and trade them off against the complexities that large-scale development and deployment of micro-services can bring. If your new application must make a significant number of API calls to other micro-services it may run slowly. If your application is broken up into multiple micro-services, you are going to have to handle the service to service security entitlements which will be considerably more complex than the coarse-grained security of monolithic applications. Testing too, becomes more complex as your micro-services jump across process, machine and network boundaries.
We are not advocating that Enterprises consider developing new, monolithic applications. Rather, they need to review carefully how they manage the transition of their monolithic applications into a new, micro-service based architecture along the lines of this excellent article from Chris Richardson, the founder of the original CloudFoundry.com. Further, they also need to understand when it is best to run VMs rather than containers.
Indeed, we do believe that the Xebia Labs prediction, that defining applications as a set of related processes, will become a new de-facto standard. To a large extent, the increased complexity of deploying micro-services at scale will be mitigated by the new generation of Platform-as-a-Service offerings and Container Management Systems that we discussed in our last blog. But the Enterprise should beware of following the hype and following blindly a micro-services only development approach. Let your business imperatives drive your use of technology
This is what we do. We help our customers modernise their applications, to decide what needs to be rewritten, what can be migrated to the cloud and what needs to be retained and maintained. Meeting the business needs of the organisation is our driver. Using the most appropriate tools and technologies is the way we do it. Sign up to our newsletter to keep up to date as we to delve further into the implications arising from Xebia Labs predictions for 2017, or call us for a no obligation discussion to understand how we can help you on your journey to the cloud.
Next time we will explore further the concerns that the Enterprise has about implementing next generation platforms and more automation as the use cases move beyond the simple to develop and deploy stage.