The Next Wave of Developer Tools Catalyzing the Internet of Things
Matthew GregoryMatthew Gregory
A wave of IoT Platforms targeted at developers has emerged over the past year or two. However, âPlatformâ is a loaded word, if not a confusing one, when talking about developer tools. What makes âPlatform + IoTâ even more confusing is that it almost implies that an IoT âplatformâ could solve all of the problems with IoT all on its own.
You need only look at the growing pains of IoT technologies to realize that IoT developer tools are extremely immature and that a consolidated âdo it allâ platform doesnât yet exist. If a platform already existed, would many IoT systems still be waiting in limbo to break out of the pre-production pilot phase? Or would millions of devices still be plagued with insecure firmware and hodgepodge networks? A bit of online research will yield numerous references to the immaturity of IoT ecosystem development.
In this article, I want to set the context for how industries mature to really understand what the IoT developersâ future looks like, what tools are needed, and what a âplatformâ is. Then, Iâll map the industry maturation cycle to what Iâve experienced in the software development industry. Finally, paint a picture of where I see IoT development going.
When an industry or product cycle is brand new, the visionary company that leads must be fully vertically integrated. This means that the firm must design, test, build, and sell their product to a market. Since they're (probably) the only company that has a vision for a new industry or product, they must be fully self-sufficient to bring the product to market. If they are successful and find product-market fit, then the product takes flight and a new industry (or sub-industry) is born.
Eventually, the original vision for the product is limited by the expertise of that one firm. At some point, specialty component players emerge to accelerate the development of the product or industry. Even though these new entrants disrupt full control of the product category from the vertically oriented incumbent, they greatly increase product benefits for the customer and thus increase the total value of the market. Or to put it another way, during the specialty phase in an industry maturity cycle, specialty entrants organize horizontally and collaborate to build the category.
The net result is that through this collaboration, the industry becomes so large that most slices of the market could become large sub-industries. In fact, these sub-industries can be much larger than the original firm could ever have been if it had tried to maintain tight vertical control of their entire product. This is partially due to the increase in customer utility that a steep innovation curve provides.
For example, imagine trying to build the first cars in the early 1900s. An auto startup needed to design every aspect from the car from the tires to the engine, from the seats to the structure. Tire, windshield, seat, and electronicsâspecialty OEMs would eventually innovate components that go into the automobile.
Ford Motor Company inevitably integrated suppliers into their design and manufacturing as the automotive industry organized into horizontal layers. This specialization flourished by the time the Model-T was released. Ford was able to innovate with the modern assembly line. The sum of these parts, in a horizontally organized industry with specialist vendors, helped to create better customer products and drove innovation forward at a rapid pace.
There is a third phaseâconsolidationâwhich occurs when an industry matures and innovation flattens. In order to continue to drive value, the major players in the industry adopt a vertical integration strategy, focus on operational efficiencies and consume the horizontally-organized suppliers through direct competition or acquisition. We can pass over this phase for the purpose of this article since developer tooling is still at the early, high-growth, horizontal organizing stage.
The cloud software industry is in the horizontally organized specialization phase. However, we typically refer to the horizontal layers as components in a âstackâ. In the 2000s, the cloud software development industry was accelerated by the LAMP stack. This stack of Operating system (Linux), Web Server (Apache), Database (MySQL, etc.), and Programing Language (PHP, etc.) became the basis that unlocked innovation for most born-in-the-cloud applications that thrive today. Instead of needing to create an entire platform to build a modern app, a product engineer could use the tools in the LAMP stack as a foundation upon which to build.
Another reference stack emerged as specialty technologies began to solve problems in 'big data'. The SMACK stack includes the essential tools needed to build applications around big data: Analytics (Spark), Datacenter resource management (Mesos), Concurrency in messaging (Akka), Database (Cassandra), Data ingestion (Kafka).
Finally, if we look at DevOps, we have code versioning and repositories (Git), code delivery (Jenkins), and infrastructure as code (Terraform, Chef, etc.), containerization (Docker), container orchestration (Mesos and Kubernetes) and many, many more, which can be put together to form DevOps toolchains.
Open Source developer tools were my core focus while I was on the Microsoft Azure team. I worked with dozens of companies that built enterprises around developer tools so that Azureâs Open Source Software (OSS) developers would be empowered to innovate at the application layerâquickly. The dev. tool companies that were most successful not only produced a beautifully simple developer experience but also understood how their products would integrate into broader developer tool ecosystems. This further drove developer productivity when developers built their applications around stacks.
And everybody won.
[bctt tweet="Todayâs #IoT #developer tools are immature. The #OpenSource teams behind LAMP, SMACK, and DevOps toolchains provide us with a proven playbook. || @Ockam_io " username="iotforall"]
Azure pivoted from a tightly coupled, a vertically integrated Windows app platform into a horizontally organized, open infrastructure provider. Azure exploded into a market leading business that now generates billions in revenue each year, young OSS tool companies matured into unicorns, and app developers got to narrow their focus to their line of business applications.
Cloud Infrastructure-as-a-Service, LAMP, SMACK, DevOps, et al., stacks have enabled a cloud-native app ecosystem by allowing application developers to focus on their line of business apps. As a result, those app companies have created billions of dollars of market value in an exceptionally short time span.
Equally interesting is how each of the layers in these stacks contain numerous examples of wildly successful enterprises that have found a niche horizontal problem and excelled at it. Weâve seen exits from the LAMP, SMACK, and DevOps stacks already. RedHat was recently purchased for $34B, MongoDB IPOâd and now has a $4B market cap, Cloudera and HortonWorks are in the unicorn club, and GitHub was nabbed by Microsoft for $7.5B. There are dozens of other privately held unicorn-scale companies that are thriving as developer tool specialists. Finally, I want to point out explicitly that each of these commercial successes is based on an open source code base.
Not only do IoT stacks need to be better defined and standardized but so do the companies that make up the specialized developer tools for those stacks. I'm certain that over the next several years, dozens of newly formed companies, OSS code bases, and industry standards will emerge as developer toolchains are built for IoT. There is certainly an abundance of untapped demand, stemming from the problems that all developers experience when building and scaling IoT systems.
Itâs just getting startedâŠ
Existing products that are classified as 'IoT + Platform' are the first entrants in the market. At best, they're analogous to the very first automobiles (as discussed above). These IoT âplatformsâ / vehicles solve incomplete and highly generalized problems. No single solution solves the full-stack IoT developer problem. We need specialty new market entrants to build the horizontally organized tools that will eventually be grouped into standardized reference stacks.
Itâs probably important to specifically call out the Azure, Google IoT Core, and AWS IoT platforms for why they were built by the infrastructure giants. These products exist because they solve a customer retention problem for cloud providers. The cloud giants are in the business of turning on virtual machines (VMs). IoT devices generate a lot of data.
'Data gravity' is a strategic sticking point that helps to keep the lights turned on and the dials spinning in data centers. That being said, I donât fault the cloud providers for their strategy. I see them as part of the IoT and application stack.
Todayâs IoT developer tools are just the tip of the iceberg for whatâs to come. Specialized OSS tools will be built. They'll organize horizontally as IoT matures. Dozens of companies will be built, and billions of dollars of value will be created over the next decade. IoT is undoubtedly as compelling as cloud-native applications and 'big data' ecosystem stacks. We should expect similar outcomes and massive value to be created matching or surpassing both the depth and scope we saw with LAMP, SMACK and DevOps tooling companies.
Fortunately, the aforementioned developer tool stacks provide us with a proven playbook that we already know inside and out.
The Most Comprehensive IoT Newsletter for Enterprises
Showcasing the highest-quality content, resources, news, and insights from the world of the Internet of Things. Subscribe to remain informed and up-to-date.
New Podcast Episode
Related Articles