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)
PDF
Global Operations with Docker for the Enterprise - Nico Kabar, Docker
PDF
Browser Testing with Docker - Craig Huber
PDF
Distributed fun with etcd
DOCX
Build Your Own SaaS using Docker
PDF
What’s New in Docker - Victor Vieux, Docker
PDF
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
PDF
CI / CD / CS - Continuous Security in Kubernetes
Paris Container Day 2016 : Etcd - overview and future (CoreOS)
Global Operations with Docker for the Enterprise - Nico Kabar, Docker
Browser Testing with Docker - Craig Huber
Distributed fun with etcd
Build Your Own SaaS using Docker
What’s New in Docker - Victor Vieux, Docker
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
CI / CD / CS - Continuous Security in Kubernetes

What's hot (20)

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

Viewers also liked (20)

PPTX
Service Discovery using etcd, Consul and Kubernetes
PDF
CoreOSによるDockerコンテナのクラスタリング
PPTX
CI/CD with Rancher CLI + Jenkins
PPTX
Dockerと外部ルータを連携させる仕組みを作ってみた
PPTX
ConfD で Linux にNetconfを喋らせてみた
PPTX
Evaluating the Effect of Rural Finance on African Economies
DOCX
PDF
2011年4月5月新着情報の更新履歴
PDF
PPTX
Art & photos p3
PPTX
Valley European Auto Servi | Independent Porsche Repair Los Angeles
PPT
St. Peter Plans
KEY
Publishing as a Student
PPTX
Securing Your Role as a Trusted Advisor at IAPSC 2014 Conference
PPS
Ethics in teaching
PDF
Oceanus Vista II
PPTX
Integrated marketing communication campaign
PPT
Front cover evaluation
PPTX
Setmana Dactivitats
PPTX
Producto 6
Service Discovery using etcd, Consul and Kubernetes
CoreOSによるDockerコンテナのクラスタリング
CI/CD with Rancher CLI + Jenkins
Dockerと外部ルータを連携させる仕組みを作ってみた
ConfD で Linux にNetconfを喋らせてみた
Evaluating the Effect of Rural Finance on African Economies
2011年4月5月新着情報の更新履歴
Art & photos p3
Valley European Auto Servi | Independent Porsche Repair Los Angeles
St. Peter Plans
Publishing as a Student
Securing Your Role as a Trusted Advisor at IAPSC 2014 Conference
Ethics in teaching
Oceanus Vista II
Integrated marketing communication campaign
Front cover evaluation
Setmana Dactivitats
Producto 6
Ad

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

PDF
Shipping NodeJS with Docker and CoreOS
PDF
Shipping NodeJS with Docker and CoreOS (No Notes)
PDF
Building a SaaS with Nodejs, Docker, and CoreOS
PDF
DCEU 18: Building Your Development Pipeline
PDF
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
PDF
Docker Overview - Rise of the Containers
PPTX
DockerCon 15 Keynote - Day 2
PDF
Build your application in seconds and optimize workflow as much as you can us...
PDF
Олександр Щедров — Build your application in seconds and optimize workflow as...
PDF
Docker module 1
PPTX
Container on azure
PDF
R meetup 20161011v2
PDF
ContainerDayVietnam2016: Dockerize a small business
PPTX
SQL Server in DevOps Town Hall Webinar
PDF
Common primitives in Docker environments
PPTX
Ignite 2017 - Windows Server Feature Release
PPSX
Containers Docker Kind Kubernetes Istio
PPT
Docker, a new LINUX container technology based light weight virtualization
PPTX
Accelerate your development with Docker
PDF
Accelerate your software development with Docker
Shipping NodeJS with Docker and CoreOS
Shipping NodeJS with Docker and CoreOS (No Notes)
Building a SaaS with Nodejs, Docker, and CoreOS
DCEU 18: Building Your Development Pipeline
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
Docker Overview - Rise of the Containers
DockerCon 15 Keynote - Day 2
Build your application in seconds and optimize workflow as much as you can us...
Олександр Щедров — Build your application in seconds and optimize workflow as...
Docker module 1
Container on azure
R meetup 20161011v2
ContainerDayVietnam2016: Dockerize a small business
SQL Server in DevOps Town Hall Webinar
Common primitives in Docker environments
Ignite 2017 - Windows Server Feature Release
Containers Docker Kind Kubernetes Istio
Docker, a new LINUX container technology based light weight virtualization
Accelerate your development with Docker
Accelerate your software development with Docker

More from Ross Kukulinski (10)

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

Recently uploaded (20)

PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Encapsulation theory and applications.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
cuic standard and advanced reporting.pdf
PPTX
A Presentation on Artificial Intelligence
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
MYSQL Presentation for SQL database connectivity
PDF
KodekX | Application Modernization Development
Chapter 3 Spatial Domain Image Processing.pdf
Big Data Technologies - Introduction.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Encapsulation theory and applications.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
cuic standard and advanced reporting.pdf
A Presentation on Artificial Intelligence
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
20250228 LYD VKU AI Blended-Learning.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Unlocking AI with Model Context Protocol (MCP)
The AUB Centre for AI in Media Proposal.docx
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Understanding_Digital_Forensics_Presentation.pptx
Review of recent advances in non-invasive hemoglobin estimation
CIFDAQ's Market Insight: SEC Turns Pro Crypto
MYSQL Presentation for SQL database connectivity
KodekX | Application Modernization Development

Building A SaaS with CoreOS, Docker, and Etcd