Why CTOs are Warming Up to Microservices
Chief technology Officers have a tough job. The sheer number of technologies competing for attention and adoption are making it harder than ever to find signals through the deafening noise.
When a trend like microservices comes along, it’s easy to write it off as the latest incarnation of SOA — a theoretically interesting idea that will never deliver on its many grand promises due to unrealistic prerequisites for success. Increasingly, however, CTOs and technology leaders are embracing the many benefits microservices offer as they wrestle with charting longer-term strategic plans such as cloud adoption.
Microservices as a Stepping Stone to the Cloud
Many enterprises have accepted that cloud strategies are now a must.
CTOs that operate primarily within a private data center may have no problem now imagining a future where they run most of their IT assets in a public cloud. But navigating this voyage could be treacherous, with potential to damage the career of any CTO who veers even slightly off course.
Microservices can be a good stepping stone. They offer incremental steps toward cloud modernization without many of the risks associated with a direct cutover.
Many applications will require significant modifications, often bordering on a complete rewrite, in order to run well in a cloud platform. Rather than perform this overhaul as part of a one-time cloud migration, microservices can provide a gradual approach to becoming cloud native. As opportunities present themselves, pieces of a monolith can be carved out into independent microservices. This continuously brings the application more in line with the well-established tenants of the 12-factor app and may considerably reduce the risk associated with a cloud migration.
In addition to these benefits, each application that gets converted to a microservices architecture also offers potential for fast ROI.
The Fast ROI of Microservices
Containers are a key enabler for implementing a successful microservices strategy. They provide organizations a more efficient way to utilize hardware investments by offering a lighter-weight form of virtualization compared to traditional VMs.
Microservices are well-poised to take advantage of these benefits. Compared to monoliths, which often require substantial resources to run, microservices encourage a leaner approach where each microservice is independently deployable and scalable.
This approach reduces the resource footprint of the overall application, especially when scaling up. Rather than create new instances of an entire monolith, only the specific microservices which require additional capacity can be scaled. Because containers can be created and destroyed at a moment’s notice, scaling microservices requires no long-term commitment of dedicated infrastructure resources. To IT leadership, this can translate into a clear ROI through lower hardware costs and significantly greater runtime flexibility.
Microservices as a Win for APIs
For years, APIs have been an area of investment for IT organizations. It’s rare to find a CTO today who hasn’t been driving an effort to use APIs across her enterprise.
In addition to cutting overhead associated with getting access to data, APIs can also provide a highly valuable abstraction layer. Often referred to as bimodal IT, this abstraction layer allows enterprises to deliver modern mobile and social apps on top of their legacy systems. The investment many organizations have made in APIs is now becoming a key enabler in adopting microservices and becoming a cloud-native enterprise.
Microservices as an Agile Enabler
Developing software within an enterprise often involves considerable overhead. If the software you’re working on has several teams simultaneously making enhancements, a coordinated effort is needed every time you push a release. If the system you’re working on is dependent on other systems, or other systems are dependent on you, the coordination process becomes even more complex.
Microservices offer a way to reduce or even eliminate much of this overhead. Microservices are a complement to application-level APIs. As long as teams honor the contract defined for the application-level API, the internal workings of that system are free to change. If two teams are making unrelated enhancements to two separate microservices within a system, the need to coordinate releases is largely eliminated. The overhead of a coordinated process is incurred only when it is legitimately needed.
Microservices for the Pragmatic CTO
CTOs often walk a delicate balance. Push your organization too quickly, and you’re responsible when things fail. Don’t deliver the promised value when you champion an initiative and, at best, you’re having awkward conversations with senior leadership. Maintain the status quo without taking risks and your organization starts falling behind its competitors.
Microservices offer CTOs a compelling way to deliver near-term benefits around infrastructure costs and agility. Meanwhile, previous investments such as APIs suddenly look much more prescient. Microservices also offer incremental steps to implement a cloud-based strategy without any sort of risky big-bang cutover.
When you put yourself in the shoes of a modern CTO trying to navigate today’s evolving technology landscape, it’s easy to see why microservices are winning so many people over.