SlideShare a Scribd company logo
@RossKukulinski
Building a SaaS with
CoreOS and etcd
CoreOS Fest
May 4, 2015
@RossKukulinski
Ross Kukulinski
Yodlr Founder / CEO
BayNode Co-Organizer
iojs/nodejs Evangelist
Soccer Fanatic
ross@getyodlr.com
Building A SaaS with CoreOS, Docker, and Etcd
@RossKukulinski
The internal tool that wasn’t
internal anymore
@RossKukulinski
Our Goals
• Reduce application complexity
• A/B test multiple versions of apps
• Consistent app from dev → test → staging → prod
• Scalable
• Fault tolerant
• Minimize time spent doing ‘devops’
@RossKukulinski
Docker
@RossKukulinski
Our Goals
• Reduce application complexity
• A/B test multiple versions of apps
• Consistent app from dev → test → staging → prod
• Scalable
• Fault tolerant
• Minimize time spent doing ‘devops’
@RossKukulinski
How do you ship
Docker containers?
@RossKukulinski
Linux for Massive Server Deployments
@RossKukulinski
Goals
• Reduce application complexity
• Run multiple versions of the same app
• Consistent app from dev → test → staging → prod
• Scalable
• Fault tolerant
• Minimize time spent doing ‘devops’
@RossKukulinski
After further deliberation, we’re going big
and switching to CoreOS/Docker entirely.
We feel its the right direction long-term for
us and application development in general.
- Me, internal memo

September 2014
Lightbulb! by Matthew WynnMonitor photo by Don Fulano
@RossKukulinski
1. etcd is a database
So treat it like one
@RossKukulinskiImage: CoreOS.com
Give etcd space
@RossKukulinski
2. etcd is a database
For your real-time infrastructure state
@RossKukulinski
Service Availability
REST API
microservice
Sidekick
Sidekick Pattern:
1. Get ip:port of microservice (docker inspect)
2. Health checks (containerized integration tests)
3. Publish service instance details to etcd
etcd
1 & 2 3
@RossKukulinski
Service Discovery
haproxy confd
Confd:
1. Query etcd for ip:port of upstream services
2. Update configuration from template
3. Reload load balancer process
etcd
github.com/kelseyhightower/confd
2 & 3 1
@RossKukulinski
Dynamic external services
DNS & Cloud
Load Balancers
lb-config
lb-config:
1. Query etcd for domain/ip:port of internal lbs
2. Update DNS & external load balancers
etcd
12
github.com/yodlr/rax-lb-config
@RossKukulinski
3.
@RossKukulinski
3. etcd is a database
With super important data: Protect it!
PSA: $private_ipv4 is probably not what you think it is
@RossKukulinski
4. Sometimes you just need a GUI
(Docker & CoreOS do have awesome CLI tools though)
github.com/yodlr/CoreGI
Also check out purpleworks/fleet-ui
@RossKukulinski
5. Fleet unit templates aren’t enough
rest-api@.service
rest-api@{1..3}.service —> 3 instances of the service
@RossKukulinski
rest-api-{{env}}-{{tag}}@.service
github.com/yodlr/fleet-templater
@RossKukulinski
rest-api-prod-86a951a9@.service
github.com/yodlr/fleet-templater
@RossKukulinski
App deploys
before
Kubernetes
@RossKukulinski
Rolling Deploys as a Service
github.com/yodlr/fleet-rolling-deploys
@RossKukulinski
Closing thoughts
• Containers are awesome
• We <3 CoreOS
• You can get really far with fleet & etcd
• Kubernetes is so close to primetime
• Remember: etcd is a database, treat it like one
@RossKukulinski
Thanks!
ross@getyodlr.com

More Related Content

PDF
Paris Container Day 2016 : Etcd - overview and future (CoreOS)
Publicis Sapient Engineering
 
PDF
Global Operations with Docker for the Enterprise - Nico Kabar, Docker
Docker, Inc.
 
PDF
Browser Testing with Docker - Craig Huber
Docker, Inc.
 
PDF
Distributed fun with etcd
Abdulaziz AlMalki
 
DOCX
Build Your Own SaaS using Docker
Julien Barbier
 
PDF
What’s New in Docker - Victor Vieux, Docker
Docker, Inc.
 
PDF
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
Thomas Graf
 
PDF
CI / CD / CS - Continuous Security in Kubernetes
Sysdig
 
Paris Container Day 2016 : Etcd - overview and future (CoreOS)
Publicis Sapient Engineering
 
Global Operations with Docker for the Enterprise - Nico Kabar, Docker
Docker, Inc.
 
Browser Testing with Docker - Craig Huber
Docker, Inc.
 
Distributed fun with etcd
Abdulaziz AlMalki
 
Build Your Own SaaS using Docker
Julien Barbier
 
What’s New in Docker - Victor Vieux, Docker
Docker, Inc.
 
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
Thomas Graf
 
CI / CD / CS - Continuous Security in Kubernetes
Sysdig
 

What's hot (20)

PDF
Jenkins & IaC
HungWei Chiu
 
PDF
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
Docker, Inc.
 
PDF
Docker Security Deep Dive by Ying Li and David Lawrence
Docker, Inc.
 
PDF
On-Demand Image Resizing from Part of the monolith to Containerized Microserv...
Docker, Inc.
 
PPTX
Orchestration? You Don't Need Orchestration. What You Want Is Choreography by...
Docker, Inc.
 
PDF
OpenStack Preso: DevOps on Hybrid Infrastructure
rhirschfeld
 
PDF
Activision's Skypilot: Delivering Amazing Game Experiences Through Containeri...
Docker, Inc.
 
PDF
Securing Containers, One Patch at a Time - Michael Crosby, Docker
Docker, Inc.
 
PDF
Building a Secure App with Docker - Ying Li and David Lawrence, Docker
Docker, Inc.
 
PDF
Beyond static configuration
Stefan Schimanski
 
PDF
Dependencies and Licenses
Robert Reiz
 
PDF
Deep dive in container service discovery
Docker, Inc.
 
PDF
Container Days Boston - Kubernetes in production
Mike Splain
 
PPTX
Continuous Delivery With Selenium Grid And Docker
Barbara Gonzalez
 
PDF
The Dockerfile Explosion and the Need for Higher Level Tools by Gareth Rushgrove
Docker, Inc.
 
PPTX
How Docker simplifies CI/CD
Gabriel N. Schenker
 
PDF
Dockercon 16 Wrap-up (Docker for Mac and Win, Docker 1.12, Swarm Mode, etc.)
Nils De Moor
 
PDF
You Don't Have to Start Over! A Practical Guide for Adopting Docker in the En...
Docker, Inc.
 
PDF
Microservices: 5 Things I Wish I'd Known - Code Motion Milan 2017
Vincent Kok
 
PDF
Continuous Deployment with Jenkins on Kubernetes
Matt Baldwin
 
Jenkins & IaC
HungWei Chiu
 
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
Docker, Inc.
 
Docker Security Deep Dive by Ying Li and David Lawrence
Docker, Inc.
 
On-Demand Image Resizing from Part of the monolith to Containerized Microserv...
Docker, Inc.
 
Orchestration? You Don't Need Orchestration. What You Want Is Choreography by...
Docker, Inc.
 
OpenStack Preso: DevOps on Hybrid Infrastructure
rhirschfeld
 
Activision's Skypilot: Delivering Amazing Game Experiences Through Containeri...
Docker, Inc.
 
Securing Containers, One Patch at a Time - Michael Crosby, Docker
Docker, Inc.
 
Building a Secure App with Docker - Ying Li and David Lawrence, Docker
Docker, Inc.
 
Beyond static configuration
Stefan Schimanski
 
Dependencies and Licenses
Robert Reiz
 
Deep dive in container service discovery
Docker, Inc.
 
Container Days Boston - Kubernetes in production
Mike Splain
 
Continuous Delivery With Selenium Grid And Docker
Barbara Gonzalez
 
The Dockerfile Explosion and the Need for Higher Level Tools by Gareth Rushgrove
Docker, Inc.
 
How Docker simplifies CI/CD
Gabriel N. Schenker
 
Dockercon 16 Wrap-up (Docker for Mac and Win, Docker 1.12, Swarm Mode, etc.)
Nils De Moor
 
You Don't Have to Start Over! A Practical Guide for Adopting Docker in the En...
Docker, Inc.
 
Microservices: 5 Things I Wish I'd Known - Code Motion Milan 2017
Vincent Kok
 
Continuous Deployment with Jenkins on Kubernetes
Matt Baldwin
 
Ad

Viewers also liked (20)

PPTX
Service Discovery using etcd, Consul and Kubernetes
Sreenivas Makam
 
PDF
CoreOSによるDockerコンテナのクラスタリング
Yuji ODA
 
PPTX
CI/CD with Rancher CLI + Jenkins
Go Chiba
 
PPTX
Dockerと外部ルータを連携させる仕組みを作ってみた
npsg
 
PPTX
ConfD で Linux にNetconfを喋らせてみた
Akira Iwamoto
 
PPTX
Evaluating the Effect of Rural Finance on African Economies
FARA - Forum for Agricultural Research in Africa
 
DOCX
Amman
Teresa Amman
 
PDF
2011年4月5月新着情報の更新履歴
Tsuyoshi Horigome
 
PDF
nancy
Nancy dela Cruz
 
PPTX
Art & photos p3
Faridi Mourad
 
PPTX
Valley European Auto Servi | Independent Porsche Repair Los Angeles
richserrano
 
PPT
St. Peter Plans
melganda
 
KEY
Publishing as a Student
Fastbleep
 
PPTX
Securing Your Role as a Trusted Advisor at IAPSC 2014 Conference
Andrea Lee
 
PPS
Ethics in teaching
marialuz143
 
PDF
Oceanus Vista II
Bangalore Real
 
PPTX
Integrated marketing communication campaign
AHMADU BELLO UNIVERSITY, ZARIA
 
PPT
Front cover evaluation
rebecca-paterson
 
PPTX
Setmana Dactivitats
guest4cde41
 
PPTX
Producto 6
lulumarta
 
Service Discovery using etcd, Consul and Kubernetes
Sreenivas Makam
 
CoreOSによるDockerコンテナのクラスタリング
Yuji ODA
 
CI/CD with Rancher CLI + Jenkins
Go Chiba
 
Dockerと外部ルータを連携させる仕組みを作ってみた
npsg
 
ConfD で Linux にNetconfを喋らせてみた
Akira Iwamoto
 
Evaluating the Effect of Rural Finance on African Economies
FARA - Forum for Agricultural Research in Africa
 
2011年4月5月新着情報の更新履歴
Tsuyoshi Horigome
 
Art & photos p3
Faridi Mourad
 
Valley European Auto Servi | Independent Porsche Repair Los Angeles
richserrano
 
St. Peter Plans
melganda
 
Publishing as a Student
Fastbleep
 
Securing Your Role as a Trusted Advisor at IAPSC 2014 Conference
Andrea Lee
 
Ethics in teaching
marialuz143
 
Oceanus Vista II
Bangalore Real
 
Integrated marketing communication campaign
AHMADU BELLO UNIVERSITY, ZARIA
 
Front cover evaluation
rebecca-paterson
 
Setmana Dactivitats
guest4cde41
 
Producto 6
lulumarta
 
Ad

Similar to Building A SaaS with CoreOS, Docker, and Etcd (20)

PDF
Shipping NodeJS with Docker and CoreOS
Ross Kukulinski
 
PDF
Shipping NodeJS with Docker and CoreOS (No Notes)
Ross Kukulinski
 
PDF
Building a SaaS with Nodejs, Docker, and CoreOS
Ross Kukulinski
 
PDF
DCEU 18: Building Your Development Pipeline
Docker, Inc.
 
PDF
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
PROIDEA
 
PDF
Docker Overview - Rise of the Containers
Ryan Hodgin
 
PPTX
DockerCon 15 Keynote - Day 2
Docker, Inc.
 
PDF
Олександр Щедров — Build your application in seconds and optimize workflow as...
LEDC 2016
 
PDF
Build your application in seconds and optimize workflow as much as you can us...
Alex S
 
PDF
Docker module 1
Liang Bo
 
PPTX
Container on azure
Vishwas N
 
PDF
R meetup 20161011v2
Niels Ole Dam
 
PDF
ContainerDayVietnam2016: Dockerize a small business
Docker-Hanoi
 
PPTX
SQL Server in DevOps Town Hall Webinar
Travis Wright
 
PDF
Common primitives in Docker environments
alexandru giurgiu
 
PPTX
Ignite 2017 - Windows Server Feature Release
Taylor Brown
 
PPSX
Containers Docker Kind Kubernetes Istio
Araf Karsh Hamid
 
PPT
Docker, a new LINUX container technology based light weight virtualization
Suresh Balla
 
PPTX
Accelerate your development with Docker
Andrey Hristov
 
PDF
Accelerate your software development with Docker
Andrey Hristov
 
Shipping NodeJS with Docker and CoreOS
Ross Kukulinski
 
Shipping NodeJS with Docker and CoreOS (No Notes)
Ross Kukulinski
 
Building a SaaS with Nodejs, Docker, and CoreOS
Ross Kukulinski
 
DCEU 18: Building Your Development Pipeline
Docker, Inc.
 
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
PROIDEA
 
Docker Overview - Rise of the Containers
Ryan Hodgin
 
DockerCon 15 Keynote - Day 2
Docker, Inc.
 
Олександр Щедров — Build your application in seconds and optimize workflow as...
LEDC 2016
 
Build your application in seconds and optimize workflow as much as you can us...
Alex S
 
Docker module 1
Liang Bo
 
Container on azure
Vishwas N
 
R meetup 20161011v2
Niels Ole Dam
 
ContainerDayVietnam2016: Dockerize a small business
Docker-Hanoi
 
SQL Server in DevOps Town Hall Webinar
Travis Wright
 
Common primitives in Docker environments
alexandru giurgiu
 
Ignite 2017 - Windows Server Feature Release
Taylor Brown
 
Containers Docker Kind Kubernetes Istio
Araf Karsh Hamid
 
Docker, a new LINUX container technology based light weight virtualization
Suresh Balla
 
Accelerate your development with Docker
Andrey Hristov
 
Accelerate your software development with Docker
Andrey Hristov
 

More from Ross Kukulinski (10)

PDF
State of State in Containers - PHL Kubernetes
Ross Kukulinski
 
PDF
Architecting a Cloud Native Internet Archive
Ross Kukulinski
 
PDF
Kubernetes 101 for Developers
Ross Kukulinski
 
PDF
Workshop: Deploying and Scaling Node.js with Kubernetes
Ross Kukulinski
 
PDF
Introduction to Kubernetes
Ross Kukulinski
 
PDF
Node.js and Containers Go Together Like Peanut Butter and Jelly
Ross Kukulinski
 
PDF
State of the Art Containerized Nodejs
Ross Kukulinski
 
PDF
Philly Tech Week Introduction to NodeJS
Ross Kukulinski
 
PDF
Yodlr Realtime Technology Stack
Ross Kukulinski
 
PPTX
BayNode Logging Discussion
Ross Kukulinski
 
State of State in Containers - PHL Kubernetes
Ross Kukulinski
 
Architecting a Cloud Native Internet Archive
Ross Kukulinski
 
Kubernetes 101 for Developers
Ross Kukulinski
 
Workshop: Deploying and Scaling Node.js with Kubernetes
Ross Kukulinski
 
Introduction to Kubernetes
Ross Kukulinski
 
Node.js and Containers Go Together Like Peanut Butter and Jelly
Ross Kukulinski
 
State of the Art Containerized Nodejs
Ross Kukulinski
 
Philly Tech Week Introduction to NodeJS
Ross Kukulinski
 
Yodlr Realtime Technology Stack
Ross Kukulinski
 
BayNode Logging Discussion
Ross Kukulinski
 

Recently uploaded (20)

PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
Architecture of the Future (09152021)
EdwardMeyman
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PDF
Beyond Automation: The Role of IoT Sensor Integration in Next-Gen Industries
Rejig Digital
 
PDF
This slide provides an overview Technology
mineshkharadi333
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
PDF
Software Development Company | KodekX
KodekX
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
Doc9.....................................
SofiaCollazos
 
PDF
REPORT: Heating appliances market in Poland 2024
SPIUG
 
PPTX
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
Francisco Vieira Júnior
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
Architecture of the Future (09152021)
EdwardMeyman
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
Beyond Automation: The Role of IoT Sensor Integration in Next-Gen Industries
Rejig Digital
 
This slide provides an overview Technology
mineshkharadi333
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
Software Development Company | KodekX
KodekX
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
Doc9.....................................
SofiaCollazos
 
REPORT: Heating appliances market in Poland 2024
SPIUG
 
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
Francisco Vieira Júnior
 

Building A SaaS with CoreOS, Docker, and Etcd