Keynote:
Developing Kubernetes Services
at Airbnb Scale
by Melanie Cebula, Software Engineer, Airbnb
@jyoshise
Hewlett Packard Enterprise
Kubernetes Meetup Tokyo #15 - KubeCon 2018 Recap
Slide 2
Slide 2 text
Who am I
• Junichi Yoshise (@jyoshise)
• Lead Architect, Professional Services,
Hewlett Packard Enterprise
• Consulting, Proposal, Design and Implementation of Cloud
Native Platform
• Play the guitar
Slide 3
Slide 3 text
My recent experience
• Cut my hair
• showKs (http://showks.containerdays.jp/)
Creating a Microservice
Dev Stg Prod
Kubernetes Clusters
Slide 11
Slide 11 text
Creating a Microservice
Dev Stg Prod
Kubernetes Clusters
Git Repo
Slide 12
Slide 12 text
Creating a Microservice
Dev Stg Prod
Kubernetes Clusters
Git Repo
Source Code
Dockerfile
App Developers
Slide 13
Slide 13 text
Creating a Microservice
Dev Stg Prod
Kubernetes Clusters
Git Repo
Source Code
Dockerfile
App Developers
Docker Image
Slide 14
Slide 14 text
Creating a Microservice
Dev Stg Prod
Kubernetes Clusters
Git Repo
Source Code
Dockerfile
App Developers
Docker Image
Deployment
ConfigMap
Service
Ingress
Manifests
for Dev
Slide 15
Slide 15 text
Creating a Microservice
Dev Stg Prod
Kubernetes Clusters
Git Repo
Source Code
Dockerfile
App Developers
Docker Image
Deployment
ConfigMap
Service
Ingress
Manifests
for Dev
Deployment
ConfigMap
Service
Ingress
Manifests
for Stg
Deployment
ConfigMap
Service
Ingress
Manifests
for Prod
Slide 16
Slide 16 text
Creating a Microservice
Dev Stg Prod
Kubernetes Clusters
Git Repo
Source Code
Dockerfile
App Developers
Docker Image
Deployment
ConfigMap
Service
Ingress
Manifests
for Dev
Deployment
ConfigMap
Service
Ingress
Manifests
for Stg
Deployment
ConfigMap
Service
Ingress
Manifests
for Canary
Deployment
ConfigMap
Service
Ingress
Manifests
for Prod
Slide 17
Slide 17 text
Creating a Microservice
Dev Stg Prod
Kubernetes Clusters
Git Repo
Source Code
Dockerfile
App Developers
Docker Image
Deployment
ConfigMap
Service
Ingress
Manifests
for Dev
Deployment
ConfigMap
Service
Ingress
Manifests
for Stg
Deployment
ConfigMap
Service
Ingress
Manifests
for Canary
Deployment
ConfigMap
Service
Ingress
Manifests
for Prod
Wall of YAML
Slide 18
Slide 18 text
Creating a Microservice
Dev Stg Prod
Kubernetes Clusters
Git Repo
Source Code
Dockerfile
App Developers
Docker Image
Deployment
ConfigMap
Service
Ingress
Manifests
for Dev
Deployment
ConfigMap
Service
Ingress
Manifests
for Stg
Deployment
ConfigMap
Service
Ingress
Manifests
for Canary
Deployment
ConfigMap
Service
Ingress
Manifests
for Prod
CI
Slide 19
Slide 19 text
Creating a Microservice
Dev Stg Prod
Kubernetes Clusters
Git Repo
Source Code
Dockerfile
App Developers
Docker Image
Deployment
ConfigMap
Service
Ingress
Manifests
for Dev
Deployment
ConfigMap
Service
Ingress
Manifests
for Stg
Deployment
ConfigMap
Service
Ingress
Manifests
for Canary
Deployment
ConfigMap
Service
Ingress
Manifests
for Prod
CI
Docker Image
Dev
Pipeline
Stg
Pipeline
Prod
Pipeline
Slide 20
Slide 20 text
Creating a Microservice
Dev Stg Prod
Kubernetes Clusters
Git Repo
Source Code
Dockerfile
App Developers
Docker Image
Deployment
ConfigMap
Service
Ingress
Manifests
for Dev
Deployment
ConfigMap
Service
Ingress
Manifests
for Stg
Deployment
ConfigMap
Service
Ingress
Manifests
for Canary
Deployment
ConfigMap
Service
Ingress
Manifests
for Prod
CI
Docker Image
Dev
Pipeline
Stg
Pipeline
Prod
Pipeline
CD
Dev Pipeline Stg Pipeline Prod Pipeline
Slide 21
Slide 21 text
Creating a Microservice
Dev Stg Prod
Kubernetes Clusters
Git Repo
Source Code
Dockerfile
App Developers
Docker Image
Deployment
ConfigMap
Service
Ingress
Manifests
for Dev
Deployment
ConfigMap
Service
Ingress
Manifests
for Stg
Deployment
ConfigMap
Service
Ingress
Manifests
for Canary
Deployment
ConfigMap
Service
Ingress
Manifests
for Prod
CI
Docker Image
Dev
Pipeline
Stg
Pipeline
Prod
Pipeline
CD
Dev Pipeline Stg Pipeline Prod Pipeline
Slide 22
Slide 22 text
It’s not about a Microservice
• showKs deployed 100+ Microservices in two days.
• How about Airbnb scale?
Creating a Microservice
Dev Stg Prod
Kubernetes Clusters
Git Repo
Source Code
Dockerfile
App Developers
Docker Image
Deployment
ConfigMap
Service
Ingress
Manifests
for Dev
Deployment
ConfigMap
Service
Ingress
Manifests
for Stg
Deployment
ConfigMap
Service
Ingress
Manifests
for Canary
Deployment
ConfigMap
Service
Ingress
Manifests
for Prod
CI
Docker Image
Dev
Pipeline
Stg
Pipeline
Prod
Pipeline
CD
Dev Pipeline Stg Pipeline Prod Pipeline
What we have done for showKs
• Manual development of application boilerplate including
kubernetes manifests template
• Generate GitHub repo automatically
• Generate CI(Concourse)/CD(Spinnaker) pipelines
automatically
• Generate kubernetes manifests from template as a part of
CI pipeline
https://github.com/containerdaysjp/
Slide 41
Slide 41 text
We are hiring!
• Kubernetes and Infrastructure Engineer
• Cloud Native Application Architect
• Vocalist