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
May 3, 2019

Kubernetes Tutorials: 5 Ways to Get You Building Fast

Ready to start working with Kubernetes? Want to build your Kubernetes skills? The five tutorials in this post will teach you everything you need to know about how to manage your containerized apps with Kubernetes.

Continue reading

May 3, 2019

Using Portworx to Deploy and Manage an HA MySQL Cluster on IBM Cloud Kubernetes Service

This tutorial is a walkthrough of the steps involved in deploying and managing a highly available MySQL cluster on IBM Cloud Kubernetes Service.

Continue reading

May 2, 2019

Kubernetes v1.14.1 Now Available in IBM Cloud Kubernetes Service

We are excited to announce the availability of Kubernetes v1.14.1 for your clusters that are running in IBM Cloud Kubernetes Service. IBM Cloud Kubernetes Service continues to be the first public managed Kubernetes service to support the latest upstream versions from the community.

Continue reading