Go from scratch to a scalable web app on Kubernetes
(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.