A case for Blockchain on Kubernetes

Sidhartha Mani
Koki
Published in
2 min readJan 12, 2018

TL;DR Considering Kubernetes to automate the setup and management of blockchain networks? This is part 1 of a multi-part blog series explaining why its a good idea and how it can be done

Happenstance brought me in front of an enthusiastic, spirited, and ambitious duo of entrepreneurs who were running a fast-moving blockchain startup. Plagued by operations and latency woes, their search for relief led them to Kubernetes, and then me.

This article explains my evaluation of Kubernetes for running Hyperledger Fabric, a platform for blockchain implementation.

A break in any blockchain component can be automatically healed on Kubernetes

Blockchain Concerns

The concerns shared by the entrepreneurs around blockchain infrastructure were:

  1. Uptime — Application and the Blockchain platform should always be running
  2. Monitoring —Running status and stats about infrastructure components should be easily accessible (for instance, on a dashboard)
  3. Alerting — If something goes down when not actively looking, they should still know about it
  4. Tracing and Debugging— Be able to easily figure out what component is the biggest bottleneck, and also be able to tell why something went down
  5. Dynamic Provisioning — Be able to spin up new blockchain networks on the fly
  6. Evolution — Flexibility to change with the times

In order to understand how Kubernetes can address these concerns for blockchain infrastructure, I setup Hyperledger Fabric on a Kubernetes cluster (full details in my next blog post!). This learning process also helped me land at this conclusion:

Kubernetes is the best platform to automate blockchain infrastructure management.

Standardization

Kubernetes standardizes processes around

  1. Alerting
  2. Monitoring
  3. Alerting
  4. Tracing and Debugging

The value of standardization is that these processes can be automated and therefore repeated with low effort. There are tools available in the Kubernetes ecosystem for all of the above concerns.

Community and ecosystem

Kubernetes stands on the shoulders of a large community. The active community brings with it a rich set of tools and solutions for most problems faced while managing and automating infrastructure.

The plethora of tools and solutions save precious time by letting you focus on what’s important — building your blockchain application.

Extensibility

Kubernetes’ controller framework allows infinite extensibility (theoretically). It is possible to automate management of blockchain infrastructure after it is deployed and is already running.

Dynamic provisioning of new blockchain networks on the fly can be automated using controllers.

Conclusion

The above three reasons make Kubernetes a compelling choice for automating blockchain architectures.

In the next article in this series, I will explain the architecture of Hyperledger fabric and how it can be run using Kubernetes.

Stay tuned for more Kubernetes + Blockchain!

--

--