As an industry, we have collectively returned to that eternal debate about what constitutes a largely technical evolution versus when an important digital idea becomes a full-blown business trend. This has happened before with Web sites, e-commerce, mobile applications, social media, and other well-known advances. It can be hard to remember that at first these were looked at as mostly technology sideshows. Yet they all went on to become serious must-have capabilities on the business side.
Microservices is now a current topic of this debate, as the overall approach is perhaps the most strategic technology trend that’s come along in quite some time. First, a brief definition: Microservices provide a well organized digital structuring of our business capabilities that are exposed to stakeholders who need what our organizations can do, and are usually accessed via open APIs. The concept is now poised to — sooner or later — become the primary digital collaboration fabric with all our enterprise data, IT systems, 3rd party developers, business parters, suppliers, and other stakeholders.
So, you read it here first: Microservices are how most organizations will eventually conduct the majority of their business, internally and externally.
Yet there is still considerable debate and confusion about whether microservices are merely just slightly more elegant network plumbing of our digital systems, of if they actually represent the primary conduit for operating our organizations. I fall in the latter camp, as this platform way of thinking in general has steadily emerged as the leading model for composing and integrating networks of systems and organizations. Don’t get me wrong: We had SOA, Web services, and APIs before — where I once posited that this would turn into a global service phenomenon, which it has — but these each had key details missing or not quite right. At this time, microservices does appear to be the best model we have, honed and culled from over a decade of thousands of organizations experimenting with various approaches.
I am now also clearly seeing from many of my CIO and IT contacts that developing a microservices strategy is rapidly becoming a key priority this year. Not sure that this is broadly the case? Just take a look at the recent JAX Enterprise IT priorities survey, which shows that microservices are currently the 3rd leading IT priority, nearly eclipsing the big trend on the block, cloud computing, one of the other hottest IT topics of recent years.
Yet microservices are often conflated with concepts like APIs, for which there is indeed a considerably close relationship, and so can often be relegated to the ‘we’ve been here already’ bin.
Why the sudden popularity and interest in what appears to simply be a more refined technique to easily integrate and communicate between digital systems? For almost all the same reasons that the Business of APIs and the API Economy had their days in the sun: Microservices take so many of the lessons learned in creating more composable, reusable, and platform-centric version of our digital organizations, strips them down to their very basics in terms of design and consumption, and then places them at the very center of how our organizations operate. (Note: Not everyone would agree at the strategic level that microservices should be designed and offered at the business domain or architecture level but many, including myself, do.)
Naturally, the question is why would we do this, and why would it be just about the most important thing we could do to enable a host of vital business activities and outcomes? Put simply, microservices hold the promise of truly unleashing the greatly underutilized assets of our organizations, both strategic and tactical. These assets include everything from data to talent to innovation, and up until now, we’ve been doing it piecemeal and without a real enterprise-wide design (though I’m cautious about overly top-down efforts here as well.)
Microservices: Building Blocks of the Modern Digital Value Chain
Microservices, by virtue of offering a well-structured way to engage and integrate with the world at large in scalable, digital terms, now appear to hold the answer to enabling faster digital transformation, lowering our levels of of tight coupling and technical debt, and substantially increasing much needed levels of IT integration. More centrally to business impact and growth, they also make it possible for us to build and cultivate bigger and more robust digital ecosystems with our stakeholders. This includes 3rd party developers and business partners to our very own workers and customers.
For me, I first saw the writing on the wall several years ago when I was helping develop the API strategy for the CIO of one of the largest organizations in the world. We had just completed an all-day workshop studying the benefits of opening up systems and data more simply and easily to make them as consumable as possible. I stressed these key points: 1) Open APIs make it far easier to create and innovate on top of existing IT and data, 2) they make it easy to create additional value many times over through nearly effortless integration between systems, 3) they achieve this asynchronously and highly cost effectively by systematically designing a high leverage and productized point of global interaction upfront, instead of hundreds of expensive point-to-point integrations over time. Upon reviewing this, the CIO suddenly sat back, the light clearly having come on, and said, “I get it now. The logical conclusion of all of this is that we need to provide a URI for every piece of data in our organization.” He was exactly right.
Put simply, this means that every element of enterprise data would have a unique link to it through a well-defined interface, which anyone can easily find and use to (yes, securely) access it and update it if appropriate. As I’m fond of saying, civilization advances when formerly difficult things become easier. This is exactly the vision behind microservices: Build and provide an incredibly simple and straightforward way of exposing our businesses in a highly useful and constructive manner so that the effort to connect systems into value chains becomes essentially near zero in practical terms.
Mindset: What Would Happen If Anyone Could Build Anything On Your Business?
The question I then put to those still trying to understand all this is the following: If we could access all our enterprise data simply and easily and could then integrate systems together with just a few lines of code, what could we do this with power? Virtually anything we can dream of, with almost no economic, technical, organization, or political barriers to achieving whatever we — or, and this is the big key, others — could dream of doing with our systems and data.
Because once strategic microservices that enable this are operational, then anything is possible. That’s because virtually all of our enterprise data can be reached, it can be harnessed, analyzed, and it can flow through to wherever it needs to be to extend and empower the stakeholder/customer experience. In fact, it’s the most potent way we know of yet to create and capture shared value and to do this so efficiently that literally orders of magnitude more high value integrations, connections, and innovations will take place (see: How Amazon Web Services makes most of Amazon’s profit.)
So why hasn’t this happened except in organizations at the very leading edge of the digital maturity curve? Because it takes 1) an understanding of the vital — even existential — importance of doing so in order to rapidly gather around a vibrant ecosystems of app creators, integrators, partners, suppliers, customers, and stakeholders and 2) the pre-emptive removal of the aforementioned economical, technical, organizational, and political barriers to doing so. In short, creating microservices, though they themselves are profoundly elemental network-accessible business capabilities to our organizations, takes real work, much of it consisting of softer, non-technical obstacles in the realm of culture, mindset, inclination, and leadership.
We already see examples of this happening at the enterprise vendor level. A particularly compelling example of a global set of microservices that expose much of what an organization does is Microsoft Graph, along with their microservices-friendly Service Fabric. While some will quibble with whether MS Graph is a set of microservices in the pure sense, the point is this: Much of what Microsoft offers its customers via its products is accessible within a well-organized enterprise-class set of data services. This is strategic to the point that Sayta Nadella has even called Microsoft Graph their “most important bet”, for all the previously cited reasons.
Microservices are also well established at some of the leading organizations in the world, including Amazon, Netflix, Uber, and a good many others. Less clear is traditional enterprise adoption at the strategic level, though my personal anecdotal evidence is that this is now very much underway in a growing number of organizations. Another proof point of expected growth is that business consulting firms like Deloitte are seriously talking about microservices as enablers for open banking and other industry transformations.
Microservices and Business: The Future
However, in today’s extremely fast-moving world, coming to the conclusion through a largely accidental and piecemeal route that microservices are the future will simply take too long from a competitive standpoint. This will result in a very much less than optimal set of services for your stakeholders. Thus, my advice on microservices in the enterprise is currently this:
- Most organizations should now begin a concerted effort to create an enterprise-wide set of microservices. And do it as a part of an overarching business strategy.
- This effort should be decentralized but a centrally coordinated effort. To be used to identify and design needed microservices.
- A commitment must be made to be in the business of integration and dynamic digital value chain building. Half measures have long-doomed efforts at SOA, APIs, developer networks, etc.
- Use design thinking to understand the needs of microservices consumers, then meet them. Understanding what the needs are, and being deeply empathetic to key issues like ease-of-use, performance, and the right to build a 3rd party business on them is key.
- Operate your microservices like your core business. Because they soon will be. Invest in them, advertise them, evangelize them, encourage usage, support them, and generate revenue with them.
A growing number of organizations I work with, including most recently one of the largest federal government agencies in the U.S., are now fully cognizant that most of their business will soon be conducted through digital channels. That aforementioned agency is already doing over a quarter of its business through APIs, and expects it will be over half in the next few years. They believe moving from data-based APIs to business-oriented microservices is their next task to go to the next level. So should it be for most organizations.
For the enterprise, achieving success with microservices is certainly possible through a patchwork of department APIs that are designed and operated without an overall business strategy, design, or structure. Or we can adopt a holistic microservices approach to create a more uniform, rational, consistent, and contextual set of open digital capabilities that also forms the basis of business strategy and architecture for the organization. The story is unfolding rapidly, and as I mentioned, I’m seeing an all-time high interest in microservices at the most strategic IT levels. Now that story must be told, understood, and realized on the business leadership side as well.
Update on September 20th: A few commenters have noted that they don’t think that most organizations believe microservices and APIs are actually viewed as business strategy, much less core to it. However, supporting many of the assertions I make above, I recently encountered a recent study from Cloud Elements. Their 2018 integration survey (which included 400+ companies, 27 industries with 26 outside of tech including finance, communications, engineering, and transportation on 6 continents) reported that 61% found APIs to be critical to their business strategy, and 85% fundamental:
My current Astrochart for the New C-Suite: Microservices figures prominently as a key C-level technology and business strategy