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
March 20, 2019

Getting Started with the Couchbase Autonomous Operator on IBM Cloud Kubernetes Service

We're excited to be working with Couchbase Server to bring you this step-by-step guide to "Getting Started with the Couchbase Autonomous Operator on IBM Cloud Kubernetes Service."

Continue reading

March 12, 2019

Connecting to IBM Cloud Databases for MongoDB with Robo3T

We're going to show you how to connect to IBM Cloud Databases for MongoDB using Robo3T (formerly Robomongo), a popular GUI for managing your MongoDB deployments.

Continue reading

March 11, 2019

Increasing your Connections and Configuring IBM Cloud Databases for PostgreSQL

IBM Cloud Databases for PostgreSQL has just released two configuration settings that now give you control over your connections and prepared transactions in PostgreSQL.

Continue reading