annoying to provision, setup and keep up-to-date one server for each component • You generally have poor resource utilisation because you’re setup to handle peak load • There is poor resource isolation if multiple components share a server
open-source system for managing clusters and deploying “containerised” applications • Project spearheaded by Google, and written in Go • http://kubernetes.io https://github.com/kubernetes/kubernetes
a Kubernetes cluster and monitoring it • Deploying our app and database (pods, labels, replication controllers, services) • Resilience to failure • Scaling and rolling updates • Not seen today: Secrets, Persistent Volumes and Claims, Static Assets to CDN (but are/will be in demo repo!) Demo: Deploying our app with this new toolset, and things we could see along the way
running services ideally • Setup of a Kubernetes cluster is non-trivial and the experience is heavily dependent on the capabilities of the underlying provider (GCP, AWS, Others) • Do play around to gauge if complexity is worth it • Try 1.2 (any day now!) for improved feature set, e.g. easier Secrets and Horizontal Auto-Scaling