How-tos

Go from scratch to a scalable web app on Kubernetes

Share this post:

(Ed.–This post covers 1 of 3 related tutorials you can do around Kubernetes-based application development. The author mentions the other two–on establishing a DevOps pipeline, and on setting up log data visualization–after discussing the process of building the scalable web app. A chatbot isn’t part of the tutorial but adding intelligent self-service to any web experience is good to keep in mind. Here’s how the dev team at UBank made that work.)

As a developer, you just want to focus most of your time writing code. Then, without too much hassle, you want to deploy your application and have it run as consistently on a cloud as it does locally. You would rather not spend hours reading Kubernetes documentation on writing yaml deployment files. You don’t want to create Helm Charts every time you start a new microservice. And you probably don’t want to research the best practices for consuming service credentials, either.

We get it.

That’s why we created the tutorial “Deploy a scalable web application on Kubernetes.”

 

 

In this tutorial, you’ll do these tasks step by step :

  • Scaffold a web application (that comes with all needed Kubernetes and Helm deployment files)
  • Run the app locally in a container
  • Deploy the app to a managed Kubernetes cluster on IBM Container Service when its ready for real traffic
  • Bind your own custom domain
  • Monitor the health of the environment
  • Scale the app

Even without the chatbot, the list sounds like a lot–but trust me, the tutorial makes it easy by using this combination of IBM Cloud services:

App Service Starter Kits — Let you choose your favorite language, frameworks, and tools. App Service starter kits are pre-configured and integrated so you can focus on the code.

IBM Cloud Developer Tools CLI — Provide the tools create, build and deploy applications either locally or to IBM Cloud.

IBM Container Registry — Provides a multi-tenant private image registry where you can safely store and share your Docker images.

IBM Container Service — Deploys your app in Docker containers that run in highly available and flexible scalable Kubernetes clusters.

We give you the opportunity to build on this tutorial with two others that follow from it:

Though you can do these other tutorials independently, it would be worth using the scalable web app you’ve deployed as the basis for setting-up visual analysis of the log data generated by your app and adding a DevOps pipeline. In short, to do those tutorials as follow-ups, simply skip the steps on creating an app and Kubernetes cluster and use the scalable web app you deploy in this current tutorial.

In the end, with Kubernetes as your compute foundation, going on to add a chatbot would enable users to have natural conversations with your app by training Watson Assistant on key topic areas. Build a chatbot to field to frequently asked questions, for example.

 

IBM Cloud Technical Offering Manager

More How-tos stories
September 20, 2018

Deploying to IBM Cloud Private 2.1.0.3 with IBM Cloud Developer Tools CLI

IBM Cloud Developer Tools CLI version 2.1.4 adds deployment support for IBM Cloud Private 2.1.0.3. This version of IBM Cloud Private uses a more secure Helm for Kubernetes deployments and simplifies the cluster configuration for the client compared to prior IBM Cloud Private releases.

Continue reading

September 19, 2018

Tutorial: Apply End-to-End Security to Cloud Applications

A new tutorial will show you how to use IBM Cloud services to secure your cloud application. Capture and review security-related events, encrypt storage, integrate authentication, and more.

Continue reading

September 18, 2018

How To Convert CSV Objects to Parquet in Cloud Object Storage

If you're looking to lower storage costs by compressing your data and get better query performance when querying the data in Cloud Object Storage, you may want to click to learn how to convert CSV objects to Parquet.

Continue reading