SlideShare a Scribd company logo
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Ted M.Young @jitterted
Sr. Software Engineer tedyoung@gmail.com
Developer Productivity Group
Guidewire Software, Inc.
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Ted M.Young @jitterted
Sr. Software Engineer tedyoung@gmail.com
Developer Productivity Group
Guidewire Software, Inc.
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Disclaimer
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Disclaimer #2
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
1. Applications with few pieces (includes
monoliths)
2. Service-oriented and applications with more
pieces – complex deployments
3. Need for Scaling and Resiliency
4. Sharing resources with other
services/applications (usually analytics)
5. How different tools and systems help with
each of these issues
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
SimpleApps
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
ApplicationWeb Server
Database
How to Deploy
Into Production?
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Single Machine
(maybe aVM)
Application
Database
Web Server
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
postgres-machine
my-app-machine
Application
Database
Web Server
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
my-app-machine
postgres-machine
nginx-machine
Application
Database
Web Server
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Logical Structure
my-app-machine
postgres-machine
nginx-machine
ApplicationWeb Server
Database
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Physical Structure:VMs
Infrastructure
Host Operating System
Hypervisor/Virtualization
bin/libs ruby bin/libs
nginx app postgres
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
VMs and Containers
Container Host OS
Infrastructure
Docker Engine (daemon)
bin/libs
ruby bin/libs
nginx
app postgres
Infrastructure
Host Operating System
Hypervisor/Virtualization
bin/libs ruby bin/libs
nginx app postgres
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Physical Structure: Containers
Container Host OS
Infrastructure
Docker Engine (daemon)
bin/libs
ruby bin/libs
nginx
app postgres
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Withmesofar?
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Deployment
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
application
postgres
nginx
Application
Database
Web Server
$ docker run -p 80:80 -p 443:443 -d nginx
cf9fb97bb4fadf673a58580d
$ docker run -d application
1238f2558ae2704d129cf
$ docker run -d postgres
4557c7c9d991238f2558ae27
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Static Deployment
application:
image: application:latest
links:
- postgres
postgres:
image: postgres:9.4
(docker-compose.yml)
nginx:
image: nginx:latest
links: apiservice
ports:
- "80:80"
- "443:443"
$ docker-compose up -d
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
application
postgres
nginx
Application
Database
Web Server
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
search cache
loggingapplication
postgres
nginx
Scaling: Add Caching
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Multiple Containers
application:
image: application:latest
links:
- logstash
- redis
- postgres
- elastic
nginx:
image: nginx:latest
links: apiservice
ports:
- "80:80"
- "443:443"
(docker-compose.yml)
logstash:
image: logstash:latest
links:
- apiservice
redis:
image: redis:latest
elastic:
image: elasticsearch:latest
postgres:
image: postgres:9.4
$ docker-compose up -d
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Scaling: MoreThan One?
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
load
balancer
Scaling: MoreThan One
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Where to PutThem?
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Availability: Dying Server
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Cluster Management
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Hi
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Dynamic
Deployment
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Scheduling Work
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Managing Resources
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Nouns
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Nodes
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Resources
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Workloads: Get Work Done
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
LabelingThings
node = FAST!
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Reservations
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Execution
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Executor
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Placement
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Scaling
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Reliability/Resilience
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
GettingConcrete
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
GoogleKubernetes
(Greek for "helmsman")
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Lessonsfrom
BorgandOmega
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
API service
log
forwarder
service
monitor
attached
storage
Pod: Unit of Placement
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Replication Controller
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Replication Controller
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Replication Controller
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Replication Controller
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
ApacheMesos
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
MesosDifferences
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Utilization
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Siloed Clusters
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Frameworks
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Scalability
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Resource Allocation
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
GreatTogether
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Explore, Play
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
Final Questions?
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
ATaxonomy of Clustering @jitterted http://j.mp/sdec15cluster
ThankYou!

More Related Content

What's hot

Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYCPractical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Alexandre Gouaillard
 
The Impact of Code Review Coverage and Participation on Software Quality
The Impact of Code Review Coverage and Participation on Software QualityThe Impact of Code Review Coverage and Participation on Software Quality
The Impact of Code Review Coverage and Participation on Software Quality
Shane McIntosh
 
Cross-Project Build Co-change Prediction
Cross-Project Build Co-change PredictionCross-Project Build Co-change Prediction
Cross-Project Build Co-change Prediction
Shane McIntosh
 
Evolve your toolchains dev/ops with OpenStack
Evolve your toolchains dev/ops with OpenStackEvolve your toolchains dev/ops with OpenStack
Evolve your toolchains dev/ops with OpenStack
Ryan Richard
 

What's hot (20)

Software Supply Chain Management with Grafeas and Kritis
Software Supply Chain Management with Grafeas and KritisSoftware Supply Chain Management with Grafeas and Kritis
Software Supply Chain Management with Grafeas and Kritis
 
Blast your app with gatling -
Blast your app with   gatling -Blast your app with   gatling -
Blast your app with gatling -
 
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYCPractical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
 
Spring IO '15 - Developing microservices, Spring Boot or Grails?
Spring IO '15 - Developing microservices, Spring Boot or Grails?Spring IO '15 - Developing microservices, Spring Boot or Grails?
Spring IO '15 - Developing microservices, Spring Boot or Grails?
 
Introduction to Mercurial
Introduction to MercurialIntroduction to Mercurial
Introduction to Mercurial
 
Groovy in the Cloud
Groovy in the CloudGroovy in the Cloud
Groovy in the Cloud
 
The Impact of Code Review Coverage and Participation on Software Quality
The Impact of Code Review Coverage and Participation on Software QualityThe Impact of Code Review Coverage and Participation on Software Quality
The Impact of Code Review Coverage and Participation on Software Quality
 
Git and GitHub - The beginning
Git and GitHub - The beginning Git and GitHub - The beginning
Git and GitHub - The beginning
 
Software Supply Chain Management with Grafeas and Kritis
Software Supply Chain Management with Grafeas and KritisSoftware Supply Chain Management with Grafeas and Kritis
Software Supply Chain Management with Grafeas and Kritis
 
Cross-Project Build Co-change Prediction
Cross-Project Build Co-change PredictionCross-Project Build Co-change Prediction
Cross-Project Build Co-change Prediction
 
Evolve your toolchains dev/ops with OpenStack
Evolve your toolchains dev/ops with OpenStackEvolve your toolchains dev/ops with OpenStack
Evolve your toolchains dev/ops with OpenStack
 
Landing code in curl
Landing code in curlLanding code in curl
Landing code in curl
 
給 RD 的 Kubernetes 初體驗 (EKS version)
給 RD 的 Kubernetes 初體驗 (EKS version)給 RD 的 Kubernetes 初體驗 (EKS version)
給 RD 的 Kubernetes 初體驗 (EKS version)
 
Java Web Application Security - UberConf 2011
Java Web Application Security - UberConf 2011Java Web Application Security - UberConf 2011
Java Web Application Security - UberConf 2011
 
Create API for your Databases
Create API for your DatabasesCreate API for your Databases
Create API for your Databases
 
Reactive Java Microservices with Spring Boot and JHipster - Denver JUG 2021
Reactive Java Microservices with Spring Boot and JHipster - Denver JUG 2021Reactive Java Microservices with Spring Boot and JHipster - Denver JUG 2021
Reactive Java Microservices with Spring Boot and JHipster - Denver JUG 2021
 
What's New in Spring for Apache Kafka 2.0
What's New in Spring for Apache Kafka 2.0What's New in Spring for Apache Kafka 2.0
What's New in Spring for Apache Kafka 2.0
 
Python+gradle
Python+gradlePython+gradle
Python+gradle
 
Migrating from Grails 2 to Grails 3
Migrating from Grails 2 to Grails 3Migrating from Grails 2 to Grails 3
Migrating from Grails 2 to Grails 3
 
Hands on React Native: From Zero to Hero
Hands on React  Native:  From Zero to HeroHands on React  Native:  From Zero to Hero
Hands on React Native: From Zero to Hero
 

Similar to A Taxonomy of Clustering, or, No Container is an Island

OGCE Overview for SciDAC 2009
OGCE Overview for SciDAC 2009OGCE Overview for SciDAC 2009
OGCE Overview for SciDAC 2009
marpierc
 

Similar to A Taxonomy of Clustering, or, No Container is an Island (20)

Automated Java Deployments With Rpm
Automated Java Deployments With RpmAutomated Java Deployments With Rpm
Automated Java Deployments With Rpm
 
OSDC 2017 | Taming the Modern Data Center by Seth Vargo
OSDC 2017 | Taming the Modern Data Center by Seth VargoOSDC 2017 | Taming the Modern Data Center by Seth Vargo
OSDC 2017 | Taming the Modern Data Center by Seth Vargo
 
OSDC 2017 - Seth Vargo - Taming the modern data center
OSDC 2017 - Seth Vargo - Taming the modern data centerOSDC 2017 - Seth Vargo - Taming the modern data center
OSDC 2017 - Seth Vargo - Taming the modern data center
 
OSDC 2017 | Modern Secrets Management with Vault by Seth Vargo
OSDC 2017 | Modern Secrets Management with Vault by Seth VargoOSDC 2017 | Modern Secrets Management with Vault by Seth Vargo
OSDC 2017 | Modern Secrets Management with Vault by Seth Vargo
 
InfluxCloudi craft container orchestrator
InfluxCloudi craft container orchestratorInfluxCloudi craft container orchestrator
InfluxCloudi craft container orchestrator
 
OGCE Project Overview
OGCE Project OverviewOGCE Project Overview
OGCE Project Overview
 
OGCE Overview for SciDAC 2009
OGCE Overview for SciDAC 2009OGCE Overview for SciDAC 2009
OGCE Overview for SciDAC 2009
 
Not Only Streams for Akademia JLabs
Not Only Streams for Akademia JLabsNot Only Streams for Akademia JLabs
Not Only Streams for Akademia JLabs
 
Front End Development for Back End Developers - UberConf 2017
Front End Development for Back End Developers - UberConf 2017Front End Development for Back End Developers - UberConf 2017
Front End Development for Back End Developers - UberConf 2017
 
Velocity London - Chaos Engineering Bootcamp
Velocity London - Chaos Engineering Bootcamp Velocity London - Chaos Engineering Bootcamp
Velocity London - Chaos Engineering Bootcamp
 
State of Akka 2017 - The best is yet to come
State of Akka 2017 - The best is yet to comeState of Akka 2017 - The best is yet to come
State of Akka 2017 - The best is yet to come
 
Sail In The Cloud
Sail In The CloudSail In The Cloud
Sail In The Cloud
 
Intro to Git Devnet-1080 Cisco Live 2018
Intro to Git Devnet-1080 Cisco Live 2018Intro to Git Devnet-1080 Cisco Live 2018
Intro to Git Devnet-1080 Cisco Live 2018
 
Distributed Tracing
Distributed TracingDistributed Tracing
Distributed Tracing
 
Мы ведь тоже люди. Еретическая лекция про юзабилити инструментов разработчика
Мы ведь тоже люди. Еретическая лекция про юзабилити инструментов разработчикаМы ведь тоже люди. Еретическая лекция про юзабилити инструментов разработчика
Мы ведь тоже люди. Еретическая лекция про юзабилити инструментов разработчика
 
Fisl - Deployment
Fisl - DeploymentFisl - Deployment
Fisl - Deployment
 
DevOps with Kubernetes and Helm - Jenkins World Edition
DevOps with Kubernetes and Helm - Jenkins World EditionDevOps with Kubernetes and Helm - Jenkins World Edition
DevOps with Kubernetes and Helm - Jenkins World Edition
 
Azure from scratch part 4
Azure from scratch part 4Azure from scratch part 4
Azure from scratch part 4
 
Distributed tracing 101
Distributed tracing 101Distributed tracing 101
Distributed tracing 101
 
使用 Prometheus 監控 Kubernetes Cluster
使用 Prometheus 監控 Kubernetes Cluster 使用 Prometheus 監控 Kubernetes Cluster
使用 Prometheus 監控 Kubernetes Cluster
 

More from Ted M. Young

More from Ted M. Young (6)

tdd-2013-calpoly.pdf
tdd-2013-calpoly.pdftdd-2013-calpoly.pdf
tdd-2013-calpoly.pdf
 
Software Arch TDD ppt.pdf
Software Arch TDD ppt.pdfSoftware Arch TDD ppt.pdf
Software Arch TDD ppt.pdf
 
Just Enough Software Development in Times of Rapid Change
Just Enough Software Development in Times of Rapid ChangeJust Enough Software Development in Times of Rapid Change
Just Enough Software Development in Times of Rapid Change
 
Fix you some bad estimation habits
Fix you some bad estimation habitsFix you some bad estimation habits
Fix you some bad estimation habits
 
Intro to CQRS
Intro to CQRSIntro to CQRS
Intro to CQRS
 
I went to the lean software and systems conference
I went to the lean software and systems conferenceI went to the lean software and systems conference
I went to the lean software and systems conference
 

Recently uploaded

Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 

Recently uploaded (20)

Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Kraków
 
GraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisGraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysis
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Breaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfBreaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdf
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in Michelangelo
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
Crafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM IntegrationCrafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM Integration
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
 
iGaming Platform & Lottery Solutions by Skilrock
iGaming Platform & Lottery Solutions by SkilrockiGaming Platform & Lottery Solutions by Skilrock
iGaming Platform & Lottery Solutions by Skilrock
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 

A Taxonomy of Clustering, or, No Container is an Island