Blog Post

Jan. 17, 2019

Streamlined Kubernetes Deployments in Microservices Architectures with Helm

By Tara Matamoros Carter

  

Recap: The first blog in this series made the case for Kubernetes as a platform that simplifies the creation of blockchain applications for companies of any size. Business leaders should feel a sense of urgency about getting up to speed with its potential given its speed of adoption and the size of the emerging market.

To illustrate why, I’d like to invite you along on a short trip to a place about four decades in the past.

In 1980, there were probably no more than one million personal computers in operation in the US. That number is surprisingly high because the entire notion of a “personal computer” was only five years old. You had to buy a DIY kit and build it yourself, with keyboards, power supply and an enclosure for the motherboard (not to mention a monitor) sold separately. To run anything at all, you had to type long strings of characters onto a black screen, according to an arcane, seemingly magical, formula.

The point of this time travel expedition is that many have pointed out how that moment correlates to where blockchain stands today. Few understand it and even fewer can explain it to non-technical coworkers. Although blockchain learning resources and communities abound, it still takes an impressive capacity for imagination to come up with an original, commercial use case for the technology. Fortunately, there are now more than 50 billion connected devices in use in the US today, about 6.58 per person, and each one is capable of capturing brilliant ideas as they arise.

This series of blogs is not for blockchain programmers. It is designed for business leaders and technologists who want to push up against the boundaries of the possible to make something shockingly new.

Defining Terms: Helm and Helm Charts

One of the key strengths of Kubernetes is its ability to provision variable development environments for cloud-native apps. It makes it easy to move between public and private clouds, trace failures to modular infrastructure components, and it is open source so it can evolve to incorporate the capabilities of new technologies in the development space.

On the other hand, the difficulties companies have faced in deploying Kubenetes vary based on the size of the company. The larger the company, the more likely they are to see problems related to the complexity of managing containers as the key challenge.

Kubernetes

In response, developers at Google and Deis introduced Kubernetes Helm in 2016 as a package manager for Kubernetes, simplifying the process of organizing containers and related Kubernetes objects in a microservices architecture.

Packages of pre-configured Kubernetes resources in Helm are called Helm charts. In this context, a release refers to a s specific instance of a chart which has been deployed to the cluster using Helm and a repository is a group of charts made freely available to the wider development community.

Helm grants your team tighter control over clusters that can include objects like ConfigMaps, Persistent Volumes, pods and many others. Using Helm as the package manager, you can create a one-click deployment package to provision containers everywhere. If you are SaaS vendor, Helm makes it possible to distribute containerized Kubernetes applications on demand in either a dev-test or a production environment.

Once your Kubernetes application deployments are standardized and easily replicated through Helm, your developer can spend more productive time coding. At the same time, you are improving the customer experience by making it easier for them to start testing out original software faster and your cloud native apps can gain momentum in a crowded market. On the back end, your packages will generate measurable value for digital ecosystem partners in the blockchain and Kubernetes communities.

Case Study in Blockchain: Managing corporate travel on massive scale

Microsoft partnered with Webjet, an online travel agency covering Australia and New Zealand, to create a blockchain application to handle the processing and management of automated travel arrangements.

Thousands of bits of data related to hotel reservations and customer travel plans come through the Webjet online portal. Due to inefficiencies and delays in data processing, they migrated their entire infrastructure to Kubernetes, using Helm to manage a private Ethereum network.

Load balancing across containers and constantly upgrading services were problematic before they turned to Kubernetes to automate the deployment, scale, and orchestrate their data control applications. Webjet was then able to scale up and down with greatly simplified processes for rolling upgrades.

They built the following architecture to map a private Ethereum network to constructs in Kubernetes:

Etherum Helm Chart

Helm was instrumental in breaking down the multivariate project into a series of charts that operate as individually-manageable units. Each Helm chart was then able to be upgradable in isolation. You can see above that Webjet built one Helm chart for their Ethereum network, which included Miners, EthStats, Bootnode and another for just deploying Storage using SQL. Although they operated independently in a microservices architecture, some artifacts had to be shared across Helm charts, including services like Secrets, ConfigMaps, etc.

Today, Webjet relies on this private Ethereum network running inside a Kubernetes cluster to manage spikes and dips of data in real time, without spending all of their IT resources maintaining the network. If anyone wants to create a parallel construction or build on this framework, the Ethereum chart displayed above is saved in the Helm charts registry and open-sourced for anyone to pull.

Speed and New Sources of Revenue

In their 2018 Blockchain Survey, Deloitte reported that the top two reasons business leaders are increasing investment in blockchain for the coming year are that it brings software to market much faster and it opens up new, disruptive lines of business. While not all blockchain development projects have delivered on their promises, that’s changing with the adoption of Kubernetes as a development environment and Helm as a package manager. The world hasn’t yet seen the equivalent of the Apple Macintosh, which made personal computers comfortable for the average non-technical user. That’s just one of many possible applications of blockchain that is merely waiting for someone clever enough to crack it.

Coming up next: Exploring Geth and Ethereum Genesis Blocks

Share with your friends

 Kubernetes, Blockchain

You may also find interest in these posts:

Technology

Is Voice Technology The Future Of Human-Computer Interaction?

Startups

How To Make Remote Work, Work

Subscribe to Insights at Tangelo

Accelerate your growth with key industry insights.