A year ago, Tangelo published an introduction to blockchain, along with some use cases in disruption. The response to those blogs has been tremendous. At the kickoff of 2019, I’d like to expand on those topics to answer some recurring questions and explore the significance of a technology driving massive investment and innovations across the planet.
Blockchain on Kubernetes: Breaking into a $2 Trillion Market
Deloitte survey and Blockchain application business cases
Three out of four executives at digital companies in the E.U., North America, and China agreed that in 2019 there is a “compelling business case” for blockchain applications, according to a survey by Deloitte. That report also noted that a third of these execs have already begun deploying blockchain projects inside their organizations.
40% of them have earmarked $5 million or more for blockchain in the year ahead. The business value of blockchain has been conservatively projected to reach $2 trillion in the next decade. I.H.S. Blockchain analyst Don Tait advised that the development of this tech has reached the point that it “is poised to ripple through virtually every industry, affecting almost all organizations in the coming years.”
Many observers in the tech space have recognized that the adoption of blockchain is closely mirroring the trajectory of the World Wide Web, and the comparison is instructive. In some ways, blockchain is still a great unknown to many business leaders, who generally express that they know it could be valuable but don’t understand how it relates to their business.
With that comparison in mind, you could think of Kubernetes filling the same role as drag-and-drop HTML editors did for the web. Kubernetes is a platform that is making blockchains manageable commercially.
Background on Kubernetes and Containers
Before you can understand what Kubernetes is and how vital it is for simplifying blockchain application development, there are a few fundamentals to review about how applications run in the cloud.
In the beginning, was the container. Containers were born at the dawn of the 21st century due to the dot.com bubble collapse. Web development quickly evolved from a novelty to a must-have business essential as consumer markets sorted out what made sense for online shopping and self-serve browser-based applications.
Distributed computing in the cloud was built on the back of the web, and distributed computing necessitated containers. By 2015, the mobile revolution had generated an endless app-etite (sorry, I couldn’t resist) for tiny applications that ran on mobile devices yet required the speed and compute power of the cloud. Containers were designed to be a logical packaging structure, so these apps could be deployed and performed reliably in any environment, from a data center to the cloud, to a smartphone. Docker was the most significant contributor to the open-source Open Container Initiative, which set the standards for interoperability.
As Splunk’s Andi Mann suggested, “Taking advantage of cloud services means using agile and scalable components like containers to deliver discrete and reusable features that integrate in well-described ways, even across technology boundaries like multicloud, which allows delivery teams to rapidly iterate using repeatable automation and orchestration.”
Defining Kubernetes, Primitives, and Pods
Kubernetes, pronounced koob-er-net-eez and often shortened to “k8s,” was assembled by Google developers around 2014-2015 as a way of grouping containers into coordinated units for easier management. It allows you to automate application containers’ deployment, scaling, and operation across clusters of hosts. The name comes from Greek, meaning “captain,” “helmsman,” or “orchestrator,” which also gives you an interesting insight into Ancient Greek culture.
Without going too deep into the mechanics, you can consider Kubernetes to be the generator and orchestrator of building blocks known as “primitives.” These primitives do the heavy work of deploying, maintaining, and scaling up applications based on the destination device’s CPU, memory, and other resources. Kubernetes controls computing and storage on the device for optimal runtime in a modular way. It creates “pods,” consisting of one or more containers guaranteed to be co-located on the same host machine to share the available resources.
What Kubernetes Does for You
While cloud providers have their orchestration tools, for example, Amazon’s EC2 has CloudFormation, Kubernetes works everywhere. This tool can deploy pods on local networks, physical machines, and any public or private cloud.
There are many reasons why Kubernetes has been particularly useful for blockchain applications, mainly because of it:
- It makes it easy to provision variations of blockchain networks and test them out rapidly
- Assures that the application remains running with maximum uptime
- Keeps you informed with alerts if something is not functioning to plan
- Generates status updates and usage levels on infrastructure components
- Simplifies debugging by tracing failures to the source
- Evolves to incorporate new tech because it is open source
Getting Started with Blockchain on Kubernetes
VMWare has produced a startup guide with use cases that can jumpstart your next application development. This guide advised:
“Despite the attention to blockchain, installing and managing a blockchain service is very complicated and requires sophisticated domain knowledge. Blockchain on Kubernetes (BoK) is a tool for users to deploy Hyperledger Fabric v1.0.5 in Kubernetes. With only a few commands, a cluster of Fabric node is up and running on Kubernetes. The blockchain developers can focus on the implementation of the business logic.”
This points the way to a truly serverless architecture, where developers can devote their attention to pure application development. In a serverless workflow, Kubernetes can handle everything in the environment from the server on down, including networking info, message queues, and more. To see how this works, you can already access the open-source Virtual Kubelet in Github, which is dedicated to simplifying serverless implementations of Kubernetes.
That’s just one aspect of the road to innovating with blockchain. In the weeks ahead, this blog series will delve deeper into:
- Serverless workflows
- Hyperledger Fabrics
- Ethereum Genesis Blocks
- Geth private keys
- Ingress controllers
- Helm for microservices
- Secrets for successful Kubernetes deployments
In the end, only one question matters: How is your business going to deploy this tech stack to introduce disruptive innovations and stake out an intelligent position in this $2 trillion opportunity? The answer is at the intersection of blockchain and Kubernetes.