SlideShare a Scribd company logo
Kubernetes @ nanit
Chen Fisher, VP Engineering
nanit
Smart baby monitor
Kubernetes @ Nanit
API
Clipper
Focus
Gateway
Grant
Mailman
RTMP
RabbitMQ
S3
Stampa
State
Department
Timeline
Taper
Algorithms
Communication
Microservices
Docker
docker-compose up -d
Orchestration
Orchestration
- Service Discovery
- High Availability
- Resource Management
- Port Management
API
Clipper
Focus
Gateway
Grant
Mailman
RTMP
RabbitMQ
S3
Stampa
State
Department
Timeline
Taper
Algorithms
ECS vs Kubernetes
https://railsadventures.wordpress.com/2015/12/06/why-we-chose-kubernetes-over-ecs/
-- Erez Rabih
Service Discovery / ECS
- Offers no service discovery
- One can use external tools like Consul
(https://aws.amazon.com/blogs/compute/service-discovery-via-consul-with-amazon-ecs/)
Service Discovery / Kubernetes
- Has built-in service discovery (http://kubernetes.io/docs/user-guide/services/)
- One can simply refer to a service by its name
- Can group and isolate services by namespaces
High Availability / ECS
- Uses ELB health checks
- Limited to HTTP/TCP health checks
- If not using ELB then only recovers on container exit
- Must create ELB for every service to get health checks
High Availability / Kubernetes
- Offers exec health check in addition to http
- One can perform application level health check
Port Management / ECS
- Maps an ELB to a service which exposes a container port on host
- Cannot have more than one container with same exposed port on same host
- Must manually manage container ports
- Assigns random port for every container
- Maps ELB to the container’s random port
Port Management / Kubernetes
Kubernetes
- AWS
- Kube 1.2.2
- Two clusters: Staging & Production
- 20+ m4-large instances on production (pre-launch)
- 100+ pods
- RDS, DynamoDB outside of cluster
From Dev to Prod
Dev and test locally
clojure, ruby, go, c/c++, elixir
Push to Github
pull requests
Jenkins picks up and tests
marks commit on Github
Manual merge to master
Deployment via Slack
Kubernetes @ Nanit
Deployment / directory structure
● nanit/
○ api/
■ app/
■ Dockerfile
■ code...
■ kube/
■ dep.yml
■ Makefile
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: {{APP_NAME}}
spec:
replicas: {{REPLICAS}}
template:
metadata:
labels:
app: {{APP_NAME}}
spec:
volumes:
- name: some-secret
secret:
secretName: some-secret
containers:
- name: {{APP_NAME}}
image: {{IMAGE_NAME}}
...
Deployment / kube yaml file
Deployment / Makefile
APP_NAME=api
IMAGE_TAG=$(shell git log -n 1 --pretty=format:%h app)
IMAGE_NAME=nanit/$(APP_NAME):$(IMAGE_TAG)
define generate-dep
sed -e 's/{{IMAGE_NAME}}/$(IMAGE_NAME)/g' kube/dep.yml
endef
docker:
sudo docker pull $(IMAGE_NAME) || (sudo docker build -t $(IMAGE_NAME) app && sudo docker push $(IMAGE_NAME))
deploy: docker
$(call generate-dep) | kubectl apply -f -
migrate:
…
test:
...
Deployment / config
from Makefile:
REPLICAS?=$(shell curl -s config/$(NANIT_ENV)/api/replicas)
from kube yaml file:
spec:
replicas: {{REPLICAS}}
Post deployment
(Monitoring & Alerts)
Post deployment (Monitoring & Alerting)
- Currently using built in Kibana & Grafana
- Alerting to Slack using proprietary service
Thank You!

More Related Content

PPTX
Kubernetes @ Nanit by Chen Fisher
PPTX
How do we use Kubernetes
PPTX
Scaling Jenkins with Kubernetes by Ami Mahloof
PPTX
Serverless with Kubernetes
PPTX
Serverless on Kubernetes
PDF
Kubernetes and Amazon ECS
PDF
ContainerDay 2020 - Using Docker as a frontend for Amazon ECS and AWS Fargate
PDF
Camel Day Italia 2021 - Camel K
Kubernetes @ Nanit by Chen Fisher
How do we use Kubernetes
Scaling Jenkins with Kubernetes by Ami Mahloof
Serverless with Kubernetes
Serverless on Kubernetes
Kubernetes and Amazon ECS
ContainerDay 2020 - Using Docker as a frontend for Amazon ECS and AWS Fargate
Camel Day Italia 2021 - Camel K

What's hot (19)

PDF
IDI 2020 - Containers Meet Serverless
PDF
Lessons learned migrating 100+ services to Kubernetes
PDF
Kubernetes Native Serverless solution: Kubeless
PDF
ECS and ECR deep dive
PPTX
Aws summit 2019 running kubernetes
PDF
Kubernetes Helm (Boulder Kubernetes Meetup, June 2016)
PDF
Multi cloud Serverless platform using Kubernetes
PPTX
Kube journey 2017-04-19
PDF
Spinnaker 파트 1
PDF
ОЛЕГ МАЦЬКІВ «Crash course on Operator Framework» Lviv DevOps Conference 2019
PPTX
Patterns and practices for real-world event-driven microservices
PDF
Kubernetes Sealed secrets
PDF
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...
PDF
Windows Containers - Microsoft Ignite The Tour
PDF
Partir à la découverte du serverless avec openfaas
PDF
PPTX
Continous Delivery to Kubernetes using Helm
PDF
Serverless cat detector workshop - cloudyna 2017 (16.12.2017)
PDF
Federation of Kubernetes Clusters (Ubernetes) KubeCon 2015 slides - Quinton H...
IDI 2020 - Containers Meet Serverless
Lessons learned migrating 100+ services to Kubernetes
Kubernetes Native Serverless solution: Kubeless
ECS and ECR deep dive
Aws summit 2019 running kubernetes
Kubernetes Helm (Boulder Kubernetes Meetup, June 2016)
Multi cloud Serverless platform using Kubernetes
Kube journey 2017-04-19
Spinnaker 파트 1
ОЛЕГ МАЦЬКІВ «Crash course on Operator Framework» Lviv DevOps Conference 2019
Patterns and practices for real-world event-driven microservices
Kubernetes Sealed secrets
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...
Windows Containers - Microsoft Ignite The Tour
Partir à la découverte du serverless avec openfaas
Continous Delivery to Kubernetes using Helm
Serverless cat detector workshop - cloudyna 2017 (16.12.2017)
Federation of Kubernetes Clusters (Ubernetes) KubeCon 2015 slides - Quinton H...
Ad

Similar to Kubernetes @ Nanit (20)

PDF
Kubernetes extensibility
PDF
Kubernetes for Java Developers
PDF
Docker clusters on AWS with Amazon ECS and Kubernetes
PDF
DCEU 18: Docker Container Networking
PDF
Get you Java application ready for Kubernetes !
PPTX
How Honestbee Does CI/CD on Kubernetes - Vincent DeSmet
PDF
OpenFest 2016 - Open Microservice Architecture
PPTX
Docker and kubernetes_introduction
PDF
Web scale infrastructures with kubernetes and flannel
PDF
Kubernetes for java developers - Tutorial at Oracle Code One 2018
PDF
Kubernetes extensibility: CRDs & Operators
PDF
Kubernetes extensibility: crd & operators
PPTX
Kubernetes based Cloud-region support in ONAP to bring up VM and container ba...
PDF
Effective Building your Platform with Kubernetes == Keep it Simple
PDF
A 60-minute tour of AWS Compute (November 2016)
PDF
Artem Zhurbila - docker clusters (solit 2015)
PPTX
Kubernetes and docker
PDF
KubeCon 2017: Kubernetes from Dev to Prod
PDF
Kubernetes Multitenancy Karl Isenberg - KubeCon NA 2019
PDF
Kubernetes Basics
Kubernetes extensibility
Kubernetes for Java Developers
Docker clusters on AWS with Amazon ECS and Kubernetes
DCEU 18: Docker Container Networking
Get you Java application ready for Kubernetes !
How Honestbee Does CI/CD on Kubernetes - Vincent DeSmet
OpenFest 2016 - Open Microservice Architecture
Docker and kubernetes_introduction
Web scale infrastructures with kubernetes and flannel
Kubernetes for java developers - Tutorial at Oracle Code One 2018
Kubernetes extensibility: CRDs & Operators
Kubernetes extensibility: crd & operators
Kubernetes based Cloud-region support in ONAP to bring up VM and container ba...
Effective Building your Platform with Kubernetes == Keep it Simple
A 60-minute tour of AWS Compute (November 2016)
Artem Zhurbila - docker clusters (solit 2015)
Kubernetes and docker
KubeCon 2017: Kubernetes from Dev to Prod
Kubernetes Multitenancy Karl Isenberg - KubeCon NA 2019
Kubernetes Basics
Ad

Recently uploaded (20)

PPT
Teaching material agriculture food technology
PDF
Encapsulation theory and applications.pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
A Presentation on Artificial Intelligence
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Approach and Philosophy of On baking technology
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Empathic Computing: Creating Shared Understanding
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Modernizing your data center with Dell and AMD
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
Teaching material agriculture food technology
Encapsulation theory and applications.pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Building Integrated photovoltaic BIPV_UPV.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Understanding_Digital_Forensics_Presentation.pptx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
A Presentation on Artificial Intelligence
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Approach and Philosophy of On baking technology
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
“AI and Expert System Decision Support & Business Intelligence Systems”
Empathic Computing: Creating Shared Understanding
Per capita expenditure prediction using model stacking based on satellite ima...
Modernizing your data center with Dell and AMD
Diabetes mellitus diagnosis method based random forest with bat algorithm
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
20250228 LYD VKU AI Blended-Learning.pptx

Kubernetes @ Nanit