Speaking In Code: Microservices Are A Platform For The Next Wave Of Mass Communications

The tools to spread ideas have followed a tortured history, with periods of slow, stable growth interrupted by peaks of rapid innovation. A tool of the elite for millennia, written language and book publishing spent 2000 years as a luxury, only to see the arrival of the printing press in the 1440s result in a 20x drop in the cost of a book by 1600. The spread of books continued at a measured pace until recently, when electronic publishing, the web, blogging, and social media reduced to zero the cost of spreading any individual’s ideas to anyone who cared to listen (for better or worse).

I was at a conference on containers recently where Andy Glover, manager of delivery engineering at Netflix, used a great phrase. He said that Netflix was adopting container technology in its platform to “reduce the cognitive load on developers.” He was referring to the ability of containers to abstract away all of the complexity of the infrastructure, and to allow a developer to create entire applications on his or her laptop and simply inject them into a process that moves them into production. This process is complex and requires serious engineering to make it real, but composing infrastructure is best done by small, focused teams rather than expecting every developer to do it. A much-reduced cognitive load results in greater focus and faster delivery of innovative applications.

This got me thinking about the parallels between the spread of ideas and the creation of applications. In the 1500s, people who owned books understood how they were printed and distributed, but the creation of a blog, a website, or a social media post requires no knowledge of servers, networks, CDNs, page rendering, http or any of the underlying platform. We are getting close to the point where a developer can create an entire microservices-based application on a laptop, and deploy it on a complex infrastructure without having to fully understand the infrastructure. Is it that big a leap to a world where coding becomes accessible to anyone who has an interactive idea and wants to share it with the entire world?

I believe the creation of great applications and great ideas are the same thing, separated only by the form of delivery and the tools required. Kids are now starting to learn to code at about the same age as they learn to write. They will learn to form logical constructs of data, human interfaces, and presentation in the same way they learn to spell, construct grammar and write paragraphs. Kids programming today with things such as Scratch will evolve to even simpler logic modelers and have broad access to pre-developed components that are available online, much like fonts and clip-art. School ‘papers’ will be a mash-up of written insight and supporting live data feeds. Diagrams will become interactive widgets with far greater power of illustration.

This profound transformation will have far-reaching effects in other areas too. Business emails will incorporate hierarchical portals to live data feeds plus interaction widgets that elicit instant feedback and integration with sentiment analysis tools. An opinion blog on the ‘truthiness’ of a political candidate’s statement can be based around a continuously updated correlation of per-state unemployment and per-demographic sentiment available coded into the blog with a few lines of logic and a subscription to managed data sources running in the cloud. How will it all work? The authors of the emails and blog need not know or care.

There is clearly work to be done in application authoring tools to make all this a reality. But making new technology easier to consume by lowering the cognitive load on users has always driven broader demand for the infrastructure needed to support it. Formatting documents was painful (anyone remember TROFF?) before desktop computing and laser printers democratized desktop publishing. Most people who publish websites don’t code HTML. The tools follow innovations in infrastructure, and the infrastructure is guided by the power of the tools that use it. It’s a virtuous cycle, and the portability of microservices are driving the next revolution of the wheel.

At Wing, we strongly believe that the data-driven organization is the future and that the creation of new data sets from the analysis of existing data and organizational processes will produce new sources of value, revenue, and relevance. I believe many of these data sources will find their way into publicly accessible services, thus creating more new data and more assets to be leveraged by a broader population of application authors.

Containers, composable infrastructure, extreme automation/NoOps, and open source are to the next generation of application authoring what the printing press, book binderies, desktop publishing, e-books and social media have been to publishing. Next-generation ambient IT infrastructure—and the ability to use it without the cognitive burden of having to understand how it works—will bring a whole new dynamic range to the creation and dissemination of ideas.