February 20, 2015
How can your business shift to microservices architecture (MSA): a decoupled approach that suits today’s nimble approach to applications development.
CIOs are bombarded with messages about the next new IT tool or platform that promises to supersede the rest. As a result, they’re skeptical about new technologies. But once in a while, a fundamental shift in architecture occurs. When that happens, CIOs should make a course correction to help get both IT and the business ahead of the change.
Microservices architecture (MSA) is a rare example of that kind of shift. MSA is a practical, workmanlike, rapidly iterative approach to service-oriented architecture (SOA)–one that makes it possible to tune customer-facing mobile apps and responsive websites multiple times a day without disruption. It’s a decoupled approach that suits today’s nimble approach to applications development. With the CIO’s guidance and a good team of advanced developers leading the effort, MSA can be built into any company’s DevOps or agile development initiative to help teams get to a more iterative, feedback-response loop kind of development.
Originally deployed and described by web services companies, MSA virtualizes technical capabilities for business solutions so they fit real time with changes in business processes (e.g., marketing, sales, engineering, manufacturing, logistics). And, they remain virtualized within the business units and are not tossed over the wall for enterprise IT to keep alive.
Because they are virtualized, microservices work best if a team owns development over the full lifetime, thereby ensuring fast, iterative response to business needs. This poses an integration issue for the CIO: how to ensure the end-to-end integrity of processes that customers’ experience, from product selection through commitment, pricing, delivery and receipt, while allowing the distributed MSA teams to press on with their iterative development. Traditionally, CIOs have governed the process flow by centralizing process design, and some CIOs are the Chief Process Officer of their enterprise, as a complement to their CIO authority. For MSA to work best across the enterprise, the centralized governance model has to change.
The default model has to be local, not enterprise. An example would be to reduce coordination and communication for business unit MSA developers that keeps local decisions local, and only elevates to global coordination and communication, decisions requiring coordination outside the local group. This relaxes the large enterprise tendency to only allow for a singular service for a singular function. Let local teams build redundancy if it works for them. The idea is to directly target coordination levels as a problem to solve by focusing on team architecture, team location, functionality location, minimal functional standardization. Integration of an individual business team’s MSA with other core applications is enabled through an integration fabric and containerization.
This follows the guidance of Conway’s “Law”: organizations that design systems are constrained to produce systems that emulate the communications structures of those organizations. Web services companies have demonstrated this approach works, so it is time for enterprise IT to adopt the MSA working model.
As a first step, enterprise IT must become proficient itself in MSA, containers, DevOps, and the integration fabric approach. Enterprise IT should start using MSA in its own development, and offer special support services to the business unit adopters. This requires:
- Expanded access to core applications and data (such as CRM or ERP), by actively exposing APIs that the business units can leverage
- Provisioning a robust infrastructure (infrastructure as a service), to provide access to data in all of its forms and locations, whether inside the enterprise or outside. Cloud services are an excellent infrastructure platform for this
- Some early funding and tutoring for the business units to develop requisite understanding and skills
- Setting the parameters for security and willingness to help the business units avoid compromises
- Establishing lists of tools and vendors with which the enterprise has a trusted relationship, and
- A “control tower” unit to assist in addressing obstacles which the business unit MSA teams may encounter such as resolving technical issues, response time “walls”, and integration road blocks
Users have shown that they will find the tools and capabilities needed to address the business issues they face daily on their own. MSA now makes this workable on a sustainable basis
MSA provides a springboard for IT to achieve long-sought goals, including democratic information, responsive business processes and the placement of the best talent where it’s most needed. Business users can focus on optimizing the enterprise relationships with customers and business partners while IT models the enterprise holistically and complements the business with technical talent if necessary.