SlideShare a Scribd company logo
Kubernetes @ nanit
Chen Fisher, VP of SW
nanit
Smart baby monitor
Kubernetes @ Nanit by Chen Fisher
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 by Chen Fisher
Deployment / directory structure
● nanit/
o 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
Scaling Jenkins with Kubernetes by Ami Mahloof
PPTX
CI Implementation with Kubernetes at LivePerson by Saar Demri
PDF
Running Production-Grade Kubernetes on AWS
PPTX
Serverless on Kubernetes
PPTX
Continuous Delivery to Kubernetes Using Helm
PDF
Zero downtime deployment of micro-services with Kubernetes
PPTX
Container Orchestration using Kubernetes
PPTX
Telepresence - Seamless Development Environments on Kubernetes
Scaling Jenkins with Kubernetes by Ami Mahloof
CI Implementation with Kubernetes at LivePerson by Saar Demri
Running Production-Grade Kubernetes on AWS
Serverless on Kubernetes
Continuous Delivery to Kubernetes Using Helm
Zero downtime deployment of micro-services with Kubernetes
Container Orchestration using Kubernetes
Telepresence - Seamless Development Environments on Kubernetes

What's hot (20)

PPTX
Kubernetes101 - Pune Kubernetes Meetup 6
PPTX
Lifecycle of a pod
PDF
Lessons Learned Building a Container App Library
PDF
Kubernetes on aws
PDF
Kubernetes 101
PDF
Kubernetes 101 and Fun
PPTX
DockerCon EU 2015: From Local Development to Production Deployments using Ama...
PPTX
DevOps with Kubernetes and Helm - OSCON 2018
PDF
"On-premises" FaaS on Kubernetes
PPTX
DevOps: Kubernetes + Helm with Azure
PDF
Lean Cloud Starterkit - Beta
PDF
05.10.2017 AWS User Group Meetup - FALLACIES OF DISTRIBUTED COMPUTING WITH KU...
PDF
[OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때
PDF
Kubernetes Architecture and Introduction
PDF
Efficient Parallel Testing with Docker by Laura Frank
PDF
Monitoring Containers at New Relic by Sean Kane
PPTX
Bitbucket Pipelines - Powered by Kubernetes
PDF
Containerize Your Game Server for the Best Multiplayer Experience
PDF
ContainerDayVietnam2016: Hybrid and Automation System Architecture
PPTX
Kubernetes HA @ AppDirect - Montreal Kubernetes Meetup
Kubernetes101 - Pune Kubernetes Meetup 6
Lifecycle of a pod
Lessons Learned Building a Container App Library
Kubernetes on aws
Kubernetes 101
Kubernetes 101 and Fun
DockerCon EU 2015: From Local Development to Production Deployments using Ama...
DevOps with Kubernetes and Helm - OSCON 2018
"On-premises" FaaS on Kubernetes
DevOps: Kubernetes + Helm with Azure
Lean Cloud Starterkit - Beta
05.10.2017 AWS User Group Meetup - FALLACIES OF DISTRIBUTED COMPUTING WITH KU...
[OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때
Kubernetes Architecture and Introduction
Efficient Parallel Testing with Docker by Laura Frank
Monitoring Containers at New Relic by Sean Kane
Bitbucket Pipelines - Powered by Kubernetes
Containerize Your Game Server for the Best Multiplayer Experience
ContainerDayVietnam2016: Hybrid and Automation System Architecture
Kubernetes HA @ AppDirect - Montreal Kubernetes Meetup
Ad

Viewers also liked (19)

PPTX
IT Professional Development - HDI Keynote - Eric Vanderburg
PPTX
Frases biblicas escritas em imagens
PDF
Dataflow - A Unified Model for Batch and Streaming Data Processing
PPTX
Quality Software Development LifeCycle
PPTX
Preventing Fraud from Top to Bottom - Vanderburg, Gaddamanugu - Information S...
PDF
Increasing Android app security for free - Roberto Gassirà, Roberto Piccirill...
PDF
Iam infosafe janvier 2017
PDF
Unify Stream and Batch Processing using Dataflow, a Portable Programmable Mod...
PDF
PRESENTACION DE SERVICIOS CORPORATIVOS
PDF
digital strategy and information security
PPTX
2017 March ISACA Security Challenges with the Internet of Things - Eric Vande...
PDF
The Relationship between Food Security and Violent Conflict: Summary of a Rep...
PPTX
PDF
Google Cloud Dataflow
PPTX
AWS Cyber Security Best Practices
PPTX
3 hard facts shaping higher education thinking and behavior
PPTX
Connecting With the Disconnected
PDF
Guided Reading: Making the Most of It
PDF
Visual Design with Data
IT Professional Development - HDI Keynote - Eric Vanderburg
Frases biblicas escritas em imagens
Dataflow - A Unified Model for Batch and Streaming Data Processing
Quality Software Development LifeCycle
Preventing Fraud from Top to Bottom - Vanderburg, Gaddamanugu - Information S...
Increasing Android app security for free - Roberto Gassirà, Roberto Piccirill...
Iam infosafe janvier 2017
Unify Stream and Batch Processing using Dataflow, a Portable Programmable Mod...
PRESENTACION DE SERVICIOS CORPORATIVOS
digital strategy and information security
2017 March ISACA Security Challenges with the Internet of Things - Eric Vande...
The Relationship between Food Security and Violent Conflict: Summary of a Rep...
Google Cloud Dataflow
AWS Cyber Security Best Practices
3 hard facts shaping higher education thinking and behavior
Connecting With the Disconnected
Guided Reading: Making the Most of It
Visual Design with Data
Ad

Similar to Kubernetes @ Nanit by Chen Fisher (20)

PDF
Kubernetes @ Nanit
PPTX
Building Portable Applications with Kubernetes
PPTX
K8s in 3h - Kubernetes Fundamentals Training
PPTX
A brief study on Kubernetes and its components
PDF
kubernetes_start_tutorial_by_ruben_tejero.pdf
PPTX
Kubernetes: від знайомства до використання у CI/CD
PPTX
Application Portability with Kubernetes (k8)
PDF
Kubernetes hands-on tutorial slides by zm
PDF
Kubernetes and Hybrid Deployments
PDF
Using kubernetes to lose your fear of using containers
PDF
Scaling docker with kubernetes
PDF
Kubernetes for Java developers
PDF
99cloud Docker Training module 2
PDF
TDC2018FLN | Trilha Containers - Kubernetes para usuarios Docker.
PDF
Effective Building your Platform with Kubernetes == Keep it Simple
PDF
On Prem Container Cloud - Lessons Learned
PDF
Kubernetes for the PHP developer
PDF
JavaOne 2016: Kubernetes introduction for Java Developers
PDF
Kubernetes for Java Developers
PDF
Come costruire una Platform As A Service con Docker, Kubernetes Go e Java
Kubernetes @ Nanit
Building Portable Applications with Kubernetes
K8s in 3h - Kubernetes Fundamentals Training
A brief study on Kubernetes and its components
kubernetes_start_tutorial_by_ruben_tejero.pdf
Kubernetes: від знайомства до використання у CI/CD
Application Portability with Kubernetes (k8)
Kubernetes hands-on tutorial slides by zm
Kubernetes and Hybrid Deployments
Using kubernetes to lose your fear of using containers
Scaling docker with kubernetes
Kubernetes for Java developers
99cloud Docker Training module 2
TDC2018FLN | Trilha Containers - Kubernetes para usuarios Docker.
Effective Building your Platform with Kubernetes == Keep it Simple
On Prem Container Cloud - Lessons Learned
Kubernetes for the PHP developer
JavaOne 2016: Kubernetes introduction for Java Developers
Kubernetes for Java Developers
Come costruire una Platform As A Service con Docker, Kubernetes Go e Java

More from DoiT International (14)

PPTX
Terraform Modules Restructured
PPTX
GAN training with Tensorflow and Tensor Cores
PDF
Orchestrating Redis & K8s Operators
PPTX
K8s best practices from the field!
PPTX
An Open-Source Platform to Connect, Manage, and Secure Microservices
PDF
Is your Elastic Cluster Stable and Production Ready?
PPTX
Applying ML for Log Analysis
PPTX
GCP for AWS Professionals
PPTX
Cloud Dataflow - A Unified Model for Batch and Streaming Data Processing
PPTX
Google Cloud Spanner Preview
PPTX
Amazon Athena Hands-On Workshop
PDF
AWS Athena vs. Google BigQuery for interactive SQL Queries
PPTX
Google BigQuery 101 & What’s New
PPTX
Kubernetes - State of the Union (Q1-2016)
Terraform Modules Restructured
GAN training with Tensorflow and Tensor Cores
Orchestrating Redis & K8s Operators
K8s best practices from the field!
An Open-Source Platform to Connect, Manage, and Secure Microservices
Is your Elastic Cluster Stable and Production Ready?
Applying ML for Log Analysis
GCP for AWS Professionals
Cloud Dataflow - A Unified Model for Batch and Streaming Data Processing
Google Cloud Spanner Preview
Amazon Athena Hands-On Workshop
AWS Athena vs. Google BigQuery for interactive SQL Queries
Google BigQuery 101 & What’s New
Kubernetes - State of the Union (Q1-2016)

Recently uploaded (20)

PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
DOCX
The Five Best AI Cover Tools in 2025.docx
PPTX
Materi-Enum-and-Record-Data-Type (1).pptx
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Understanding Forklifts - TECH EHS Solution
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
medical staffing services at VALiNTRY
PPTX
Transform Your Business with a Software ERP System
PPT
Introduction Database Management System for Course Database
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
Essential Infomation Tech presentation.pptx
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
ISO 45001 Occupational Health and Safety Management System
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
2025 Textile ERP Trends: SAP, Odoo & Oracle
Wondershare Filmora 15 Crack With Activation Key [2025
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
The Five Best AI Cover Tools in 2025.docx
Materi-Enum-and-Record-Data-Type (1).pptx
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Understanding Forklifts - TECH EHS Solution
How Creative Agencies Leverage Project Management Software.pdf
medical staffing services at VALiNTRY
Transform Your Business with a Software ERP System
Introduction Database Management System for Course Database
Upgrade and Innovation Strategies for SAP ERP Customers
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Essential Infomation Tech presentation.pptx
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
VVF-Customer-Presentation2025-Ver1.9.pptx
ISO 45001 Occupational Health and Safety Management System
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Design an Analysis of Algorithms I-SECS-1021-03
How to Choose the Right IT Partner for Your Business in Malaysia

Kubernetes @ Nanit by Chen Fisher

Editor's Notes

  • #25: Runs tests on master Feedback to Slack We’re using Kube beta deployment feature