SlideShare a Scribd company logo

Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs. tosca (1)

Video recording: https://www.youtube.com/watch?v=tGlIgUeoGz8 It’s no news that containers represent a portable unit of deployment, and OpenStack has proven an ideal environment for running container workloads. However, where it usually becomes more complex is that many times an application is often built out of multiple containers. What’s more, setting up a cluster of container images can be fairly cumbersome because you need to make one container aware of another and expose intimate details that are required for them to communicate which is not trivial especially if they’re not on the same host. These scenarios have instigated the demand for some kind of orchestrator. The list of container orchestrators is growing fairly fast. This session will compare the different orchestation projects out there - from Heat to Kubernetes to TOSCA - and help you choose the right tool for the job. Session link from teh summit: https://openstacksummitmay2015vancouver.sched.org/event/abd484e0dedcb9774edda1548ad47518#.VV5eh5NViko

1 of 77
Download to read offline
Orchestration Tool Roundup -
Docker Swarm vs. Kubernetes, TerraForm vs.
TOSCA/Cloudify vs. Heat
Speakers..
Agenda
• Orchestration 101..
• Different approaches for orchestration
• Method of comparison
• Comparison
• Synergies
• Summary - which tool to choose?
Orchestration 101
Orchestration is a mean to Automate Manual Process
Orchestration 101
• Common Characteristics
– Use DSL to define blueprint
– Execute a process based on
input from the blueprint
– Pass context information
between the deployed entities
• Different assumptions lead to
different approaches
– Application Architecture
– Infrastructure
– Scope of automation
Goals of this Exercise
Explore the
different
approaches to
orchestration
Infrastructure
Centric
Pure Play
Container
Centric

Recommended

Data Encryption - Azure Storage Service
Data Encryption - Azure Storage ServiceData Encryption - Azure Storage Service
Data Encryption - Azure Storage ServiceUdaiappa Ramachandran
 
Elastic Stack & Data pipeline
Elastic Stack & Data pipelineElastic Stack & Data pipeline
Elastic Stack & Data pipelineJongho Woo
 
Disaster Recovery of on-premises IT infrastructure with AWS
Disaster Recovery of on-premises IT infrastructure with AWSDisaster Recovery of on-premises IT infrastructure with AWS
Disaster Recovery of on-premises IT infrastructure with AWSAmazon Web Services
 
Cloud Migration - Cloud Computing Benefits & Issues
Cloud Migration - Cloud Computing Benefits & IssuesCloud Migration - Cloud Computing Benefits & Issues
Cloud Migration - Cloud Computing Benefits & IssuesArtizen, Inc.
 
Cloud infrastructure and Cloud Services
Cloud infrastructure and Cloud ServicesCloud infrastructure and Cloud Services
Cloud infrastructure and Cloud ServicesIntel Corporation
 
Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...
Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...
Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...Amazon Web Services
 

More Related Content

What's hot

Microsoft AZ-900 Dumps Questions
Microsoft AZ-900 Dumps QuestionsMicrosoft AZ-900 Dumps Questions
Microsoft AZ-900 Dumps QuestionsBraindumps4IT
 
Announcing AWS Shield - Protect Web Applications from DDoS Attacks
Announcing AWS Shield - Protect Web Applications from DDoS AttacksAnnouncing AWS Shield - Protect Web Applications from DDoS Attacks
Announcing AWS Shield - Protect Web Applications from DDoS AttacksAmazon Web Services
 
10 Best Practices for Reducing Spend in Azure
10 Best Practices for Reducing Spend in Azure10 Best Practices for Reducing Spend in Azure
10 Best Practices for Reducing Spend in AzureVAST
 
Microsoft Azure - Introduction
Microsoft Azure - IntroductionMicrosoft Azure - Introduction
Microsoft Azure - IntroductionPranav Ainavolu
 
Cloud Migration, Application Modernization and Security for Partners
Cloud Migration, Application Modernization and Security for PartnersCloud Migration, Application Modernization and Security for Partners
Cloud Migration, Application Modernization and Security for PartnersAmazon Web Services
 
Azure vm introduction
Azure  vm introductionAzure  vm introduction
Azure vm introductionLalit Rawat
 
Azure fundamentals
Azure   fundamentalsAzure   fundamentals
Azure fundamentalsRaju Kumar
 
[Webinar] AWS Activate Webinar Series for Startups, Funding, Pitching and Ven...
[Webinar] AWS Activate Webinar Series for Startups, Funding, Pitching and Ven...[Webinar] AWS Activate Webinar Series for Startups, Funding, Pitching and Ven...
[Webinar] AWS Activate Webinar Series for Startups, Funding, Pitching and Ven...Amazon Web Services
 
Advanced Load Balancer/Traffic Manager and App Gateway for Microsoft Azure
Advanced Load Balancer/Traffic Manager and App Gateway for Microsoft AzureAdvanced Load Balancer/Traffic Manager and App Gateway for Microsoft Azure
Advanced Load Balancer/Traffic Manager and App Gateway for Microsoft AzureKemp
 
Azure Monitoring Overview
Azure Monitoring OverviewAzure Monitoring Overview
Azure Monitoring Overviewgjuljo
 
컨텐트 협업플랫폼 Amazon WorkDocs 활용하기 - 박상희 상무, 한글과컴퓨터 / Ben Fitzpatrick, Head of Bu...
컨텐트 협업플랫폼 Amazon WorkDocs 활용하기 - 박상희 상무, 한글과컴퓨터 / Ben Fitzpatrick, Head of Bu...컨텐트 협업플랫폼 Amazon WorkDocs 활용하기 - 박상희 상무, 한글과컴퓨터 / Ben Fitzpatrick, Head of Bu...
컨텐트 협업플랫폼 Amazon WorkDocs 활용하기 - 박상희 상무, 한글과컴퓨터 / Ben Fitzpatrick, Head of Bu...Amazon Web Services Korea
 
AWS Initiate Brasil 2021 - Vantagens econômicas da nuvem - Andre Serafim
AWS Initiate Brasil 2021 - Vantagens econômicas da nuvem - Andre SerafimAWS Initiate Brasil 2021 - Vantagens econômicas da nuvem - Andre Serafim
AWS Initiate Brasil 2021 - Vantagens econômicas da nuvem - Andre SerafimAmazon Web Services LATAM
 
금융 분야 마이데이터 (My Data) 산업 도입 방안 및 AWS 활용법 – 고종원 AWS 어카운트 매니저, 양찬욱 KB국민카드 팀장:: ...
금융 분야 마이데이터 (My Data) 산업 도입 방안 및 AWS 활용법 – 고종원 AWS 어카운트 매니저, 양찬욱 KB국민카드 팀장:: ...금융 분야 마이데이터 (My Data) 산업 도입 방안 및 AWS 활용법 – 고종원 AWS 어카운트 매니저, 양찬욱 KB국민카드 팀장:: ...
금융 분야 마이데이터 (My Data) 산업 도입 방안 및 AWS 활용법 – 고종원 AWS 어카운트 매니저, 양찬욱 KB국민카드 팀장:: ...Amazon Web Services Korea
 

What's hot (20)

Microsoft AZ-900 Dumps Questions
Microsoft AZ-900 Dumps QuestionsMicrosoft AZ-900 Dumps Questions
Microsoft AZ-900 Dumps Questions
 
Announcing AWS Shield - Protect Web Applications from DDoS Attacks
Announcing AWS Shield - Protect Web Applications from DDoS AttacksAnnouncing AWS Shield - Protect Web Applications from DDoS Attacks
Announcing AWS Shield - Protect Web Applications from DDoS Attacks
 
Cloud computing lecture 1
Cloud computing lecture 1Cloud computing lecture 1
Cloud computing lecture 1
 
VMware Presentation
VMware PresentationVMware Presentation
VMware Presentation
 
10 Best Practices for Reducing Spend in Azure
10 Best Practices for Reducing Spend in Azure10 Best Practices for Reducing Spend in Azure
10 Best Practices for Reducing Spend in Azure
 
Microsoft Azure - Introduction
Microsoft Azure - IntroductionMicrosoft Azure - Introduction
Microsoft Azure - Introduction
 
Cloud Migration, Application Modernization and Security for Partners
Cloud Migration, Application Modernization and Security for PartnersCloud Migration, Application Modernization and Security for Partners
Cloud Migration, Application Modernization and Security for Partners
 
Cloud ppt
Cloud pptCloud ppt
Cloud ppt
 
Azure vm introduction
Azure  vm introductionAzure  vm introduction
Azure vm introduction
 
Azure fundamentals
Azure   fundamentalsAzure   fundamentals
Azure fundamentals
 
[Webinar] AWS Activate Webinar Series for Startups, Funding, Pitching and Ven...
[Webinar] AWS Activate Webinar Series for Startups, Funding, Pitching and Ven...[Webinar] AWS Activate Webinar Series for Startups, Funding, Pitching and Ven...
[Webinar] AWS Activate Webinar Series for Startups, Funding, Pitching and Ven...
 
Advanced Load Balancer/Traffic Manager and App Gateway for Microsoft Azure
Advanced Load Balancer/Traffic Manager and App Gateway for Microsoft AzureAdvanced Load Balancer/Traffic Manager and App Gateway for Microsoft Azure
Advanced Load Balancer/Traffic Manager and App Gateway for Microsoft Azure
 
Azure Monitoring Overview
Azure Monitoring OverviewAzure Monitoring Overview
Azure Monitoring Overview
 
AWS Architecting In The Cloud
AWS Architecting In The CloudAWS Architecting In The Cloud
AWS Architecting In The Cloud
 
컨텐트 협업플랫폼 Amazon WorkDocs 활용하기 - 박상희 상무, 한글과컴퓨터 / Ben Fitzpatrick, Head of Bu...
컨텐트 협업플랫폼 Amazon WorkDocs 활용하기 - 박상희 상무, 한글과컴퓨터 / Ben Fitzpatrick, Head of Bu...컨텐트 협업플랫폼 Amazon WorkDocs 활용하기 - 박상희 상무, 한글과컴퓨터 / Ben Fitzpatrick, Head of Bu...
컨텐트 협업플랫폼 Amazon WorkDocs 활용하기 - 박상희 상무, 한글과컴퓨터 / Ben Fitzpatrick, Head of Bu...
 
Windows Azure Virtual Machines
Windows Azure Virtual MachinesWindows Azure Virtual Machines
Windows Azure Virtual Machines
 
Cloudsim modified
Cloudsim modifiedCloudsim modified
Cloudsim modified
 
Azure Cost Management
Azure Cost ManagementAzure Cost Management
Azure Cost Management
 
AWS Initiate Brasil 2021 - Vantagens econômicas da nuvem - Andre Serafim
AWS Initiate Brasil 2021 - Vantagens econômicas da nuvem - Andre SerafimAWS Initiate Brasil 2021 - Vantagens econômicas da nuvem - Andre Serafim
AWS Initiate Brasil 2021 - Vantagens econômicas da nuvem - Andre Serafim
 
금융 분야 마이데이터 (My Data) 산업 도입 방안 및 AWS 활용법 – 고종원 AWS 어카운트 매니저, 양찬욱 KB국민카드 팀장:: ...
금융 분야 마이데이터 (My Data) 산업 도입 방안 및 AWS 활용법 – 고종원 AWS 어카운트 매니저, 양찬욱 KB국민카드 팀장:: ...금융 분야 마이데이터 (My Data) 산업 도입 방안 및 AWS 활용법 – 고종원 AWS 어카운트 매니저, 양찬욱 KB국민카드 팀장:: ...
금융 분야 마이데이터 (My Data) 산업 도입 방안 및 AWS 활용법 – 고종원 AWS 어카운트 매니저, 양찬욱 KB국민카드 팀장:: ...
 

Similar to Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs. tosca (1)

Orchestration tool roundup - OpenStack Israel summit - kubernetes vs. docker...
Orchestration tool roundup  - OpenStack Israel summit - kubernetes vs. docker...Orchestration tool roundup  - OpenStack Israel summit - kubernetes vs. docker...
Orchestration tool roundup - OpenStack Israel summit - kubernetes vs. docker...Uri Cohen
 
MongoDB Ops Manager and Kubernetes - James Broadhead
MongoDB Ops Manager and Kubernetes - James BroadheadMongoDB Ops Manager and Kubernetes - James Broadhead
MongoDB Ops Manager and Kubernetes - James BroadheadMongoDB
 
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...NETWAYS
 
Kubernetes - training micro-dragons without getting burnt
Kubernetes -  training micro-dragons without getting burntKubernetes -  training micro-dragons without getting burnt
Kubernetes - training micro-dragons without getting burntAmir Moghimi
 
Testing kubernetes and_open_shift_at_scale_20170209
Testing kubernetes and_open_shift_at_scale_20170209Testing kubernetes and_open_shift_at_scale_20170209
Testing kubernetes and_open_shift_at_scale_20170209mffiedler
 
Using ansible to core os & kubernetes clusters
Using ansible to core os & kubernetes clustersUsing ansible to core os & kubernetes clusters
Using ansible to core os & kubernetes clustersmagicmarkup
 
K8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals TrainingK8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals TrainingPiotr Perzyna
 
Serve Meals, Not Ingredients - ChefConf 2015
Serve Meals, Not Ingredients - ChefConf 2015Serve Meals, Not Ingredients - ChefConf 2015
Serve Meals, Not Ingredients - ChefConf 2015Chef
 
Serve Meals, Not Ingredients (ChefConf 2015)
Serve Meals, Not Ingredients (ChefConf 2015)Serve Meals, Not Ingredients (ChefConf 2015)
Serve Meals, Not Ingredients (ChefConf 2015)ThirdWaveInsights
 
Making kubernetes simple for developers
Making kubernetes simple for developersMaking kubernetes simple for developers
Making kubernetes simple for developersSuraj Deshmukh
 
Operator Lifecycle Management
Operator Lifecycle ManagementOperator Lifecycle Management
Operator Lifecycle ManagementDoKC
 
Operator Lifecycle Management
Operator Lifecycle ManagementOperator Lifecycle Management
Operator Lifecycle ManagementDoKC
 
KVM and docker LXC Benchmarking with OpenStack
KVM and docker LXC Benchmarking with OpenStackKVM and docker LXC Benchmarking with OpenStack
KVM and docker LXC Benchmarking with OpenStackBoden Russell
 
Kubernetes: training micro-dragons for a serious battle
Kubernetes: training micro-dragons for a serious battleKubernetes: training micro-dragons for a serious battle
Kubernetes: training micro-dragons for a serious battleAmir Moghimi
 
Apache Cassandra Lunch #41: Cassandra on Kubernetes - Docker/Kubernetes/Helm ...
Apache Cassandra Lunch #41: Cassandra on Kubernetes - Docker/Kubernetes/Helm ...Apache Cassandra Lunch #41: Cassandra on Kubernetes - Docker/Kubernetes/Helm ...
Apache Cassandra Lunch #41: Cassandra on Kubernetes - Docker/Kubernetes/Helm ...Anant Corporation
 
DevEx | there’s no place like k3s
DevEx | there’s no place like k3sDevEx | there’s no place like k3s
DevEx | there’s no place like k3sHaggai Philip Zagury
 
Nagios Conference 2011 - William Leibzon - Nagios In Cloud Computing Environm...
Nagios Conference 2011 - William Leibzon - Nagios In Cloud Computing Environm...Nagios Conference 2011 - William Leibzon - Nagios In Cloud Computing Environm...
Nagios Conference 2011 - William Leibzon - Nagios In Cloud Computing Environm...Nagios
 
Kubernetes #1 intro
Kubernetes #1   introKubernetes #1   intro
Kubernetes #1 introTerry Cho
 
Running MongoDB Enterprise on Kubernetes
Running MongoDB Enterprise on KubernetesRunning MongoDB Enterprise on Kubernetes
Running MongoDB Enterprise on KubernetesAriel Jatib
 
Jacopo Nardiello - Monitoring Cloud-Native applications with Prometheus - Cod...
Jacopo Nardiello - Monitoring Cloud-Native applications with Prometheus - Cod...Jacopo Nardiello - Monitoring Cloud-Native applications with Prometheus - Cod...
Jacopo Nardiello - Monitoring Cloud-Native applications with Prometheus - Cod...Codemotion
 

Similar to Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs. tosca (1) (20)

Orchestration tool roundup - OpenStack Israel summit - kubernetes vs. docker...
Orchestration tool roundup  - OpenStack Israel summit - kubernetes vs. docker...Orchestration tool roundup  - OpenStack Israel summit - kubernetes vs. docker...
Orchestration tool roundup - OpenStack Israel summit - kubernetes vs. docker...
 
MongoDB Ops Manager and Kubernetes - James Broadhead
MongoDB Ops Manager and Kubernetes - James BroadheadMongoDB Ops Manager and Kubernetes - James Broadhead
MongoDB Ops Manager and Kubernetes - James Broadhead
 
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
 
Kubernetes - training micro-dragons without getting burnt
Kubernetes -  training micro-dragons without getting burntKubernetes -  training micro-dragons without getting burnt
Kubernetes - training micro-dragons without getting burnt
 
Testing kubernetes and_open_shift_at_scale_20170209
Testing kubernetes and_open_shift_at_scale_20170209Testing kubernetes and_open_shift_at_scale_20170209
Testing kubernetes and_open_shift_at_scale_20170209
 
Using ansible to core os & kubernetes clusters
Using ansible to core os & kubernetes clustersUsing ansible to core os & kubernetes clusters
Using ansible to core os & kubernetes clusters
 
K8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals TrainingK8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals Training
 
Serve Meals, Not Ingredients - ChefConf 2015
Serve Meals, Not Ingredients - ChefConf 2015Serve Meals, Not Ingredients - ChefConf 2015
Serve Meals, Not Ingredients - ChefConf 2015
 
Serve Meals, Not Ingredients (ChefConf 2015)
Serve Meals, Not Ingredients (ChefConf 2015)Serve Meals, Not Ingredients (ChefConf 2015)
Serve Meals, Not Ingredients (ChefConf 2015)
 
Making kubernetes simple for developers
Making kubernetes simple for developersMaking kubernetes simple for developers
Making kubernetes simple for developers
 
Operator Lifecycle Management
Operator Lifecycle ManagementOperator Lifecycle Management
Operator Lifecycle Management
 
Operator Lifecycle Management
Operator Lifecycle ManagementOperator Lifecycle Management
Operator Lifecycle Management
 
KVM and docker LXC Benchmarking with OpenStack
KVM and docker LXC Benchmarking with OpenStackKVM and docker LXC Benchmarking with OpenStack
KVM and docker LXC Benchmarking with OpenStack
 
Kubernetes: training micro-dragons for a serious battle
Kubernetes: training micro-dragons for a serious battleKubernetes: training micro-dragons for a serious battle
Kubernetes: training micro-dragons for a serious battle
 
Apache Cassandra Lunch #41: Cassandra on Kubernetes - Docker/Kubernetes/Helm ...
Apache Cassandra Lunch #41: Cassandra on Kubernetes - Docker/Kubernetes/Helm ...Apache Cassandra Lunch #41: Cassandra on Kubernetes - Docker/Kubernetes/Helm ...
Apache Cassandra Lunch #41: Cassandra on Kubernetes - Docker/Kubernetes/Helm ...
 
DevEx | there’s no place like k3s
DevEx | there’s no place like k3sDevEx | there’s no place like k3s
DevEx | there’s no place like k3s
 
Nagios Conference 2011 - William Leibzon - Nagios In Cloud Computing Environm...
Nagios Conference 2011 - William Leibzon - Nagios In Cloud Computing Environm...Nagios Conference 2011 - William Leibzon - Nagios In Cloud Computing Environm...
Nagios Conference 2011 - William Leibzon - Nagios In Cloud Computing Environm...
 
Kubernetes #1 intro
Kubernetes #1   introKubernetes #1   intro
Kubernetes #1 intro
 
Running MongoDB Enterprise on Kubernetes
Running MongoDB Enterprise on KubernetesRunning MongoDB Enterprise on Kubernetes
Running MongoDB Enterprise on Kubernetes
 
Jacopo Nardiello - Monitoring Cloud-Native applications with Prometheus - Cod...
Jacopo Nardiello - Monitoring Cloud-Native applications with Prometheus - Cod...Jacopo Nardiello - Monitoring Cloud-Native applications with Prometheus - Cod...
Jacopo Nardiello - Monitoring Cloud-Native applications with Prometheus - Cod...
 

More from Nati Shalom

Cloudify and terraform integration
Cloudify and terraform integrationCloudify and terraform integration
Cloudify and terraform integrationNati Shalom
 
Why NFV and Digital Transformation Projects Fail!
Why NFV and Digital Transformation Projects Fail! Why NFV and Digital Transformation Projects Fail!
Why NFV and Digital Transformation Projects Fail! Nati Shalom
 
Cloudify and terraform integration
Cloudify and terraform integrationCloudify and terraform integration
Cloudify and terraform integrationNati Shalom
 
1 cloud, 2 clouds, 3 clouds, tons...
1 cloud, 2 clouds, 3 clouds, tons...1 cloud, 2 clouds, 3 clouds, tons...
1 cloud, 2 clouds, 3 clouds, tons...Nati Shalom
 
Open Stack Days israel Keynote 2017
Open Stack Days israel Keynote 2017Open Stack Days israel Keynote 2017
Open Stack Days israel Keynote 2017Nati Shalom
 
What A No Compromises Hybrid Cloud Looks Like
What A No Compromises Hybrid Cloud Looks Like What A No Compromises Hybrid Cloud Looks Like
What A No Compromises Hybrid Cloud Looks Like Nati Shalom
 
Running OpenStack in Production
Running OpenStack in Production Running OpenStack in Production
Running OpenStack in Production Nati Shalom
 
Real World Example of Orchestrating Docker, Node JS, NFV on OpenStack
Real World Example of Orchestrating Docker, Node JS, NFV on OpenStackReal World Example of Orchestrating Docker, Node JS, NFV on OpenStack
Real World Example of Orchestrating Docker, Node JS, NFV on OpenStackNati Shalom
 
Real World Application Orchestration Made Easy on VMware vCloud Air, vSphere ...
Real World Application Orchestration Made Easy on VMware vCloud Air, vSphere ...Real World Application Orchestration Made Easy on VMware vCloud Air, vSphere ...
Real World Application Orchestration Made Easy on VMware vCloud Air, vSphere ...Nati Shalom
 
OpenStack Juno The Complete Lowdown and Tales from the Summit
OpenStack Juno The Complete Lowdown and Tales from the SummitOpenStack Juno The Complete Lowdown and Tales from the Summit
OpenStack Juno The Complete Lowdown and Tales from the SummitNati Shalom
 
Application and Network Orchestration using Heat & Tosca
Application and Network Orchestration using Heat & ToscaApplication and Network Orchestration using Heat & Tosca
Application and Network Orchestration using Heat & ToscaNati Shalom
 
Introduction to Cloudify for OpenStack users
Introduction to Cloudify for OpenStack users Introduction to Cloudify for OpenStack users
Introduction to Cloudify for OpenStack users Nati Shalom
 
Software Defined Operator
Software Defined OperatorSoftware Defined Operator
Software Defined OperatorNati Shalom
 
Complex Analytics with NoSQL Data Store in Real Time
Complex Analytics with NoSQL Data Store in Real TimeComplex Analytics with NoSQL Data Store in Real Time
Complex Analytics with NoSQL Data Store in Real TimeNati Shalom
 
Is Orchestration the Next Big Thing in DevOps
Is Orchestration the Next Big Thing in DevOpsIs Orchestration the Next Big Thing in DevOps
Is Orchestration the Next Big Thing in DevOpsNati Shalom
 
When networks meets apps (open stack atlanta)
When networks meets apps (open stack atlanta)When networks meets apps (open stack atlanta)
When networks meets apps (open stack atlanta)Nati Shalom
 
Application Centric Approach to Devops
Application Centric Approach to DevopsApplication Centric Approach to Devops
Application Centric Approach to DevopsNati Shalom
 
Case Studies for moving apps to the cloud - DLD 2013
Case Studies for moving apps to the cloud - DLD 2013Case Studies for moving apps to the cloud - DLD 2013
Case Studies for moving apps to the cloud - DLD 2013Nati Shalom
 
Application Centric DevOps
Application Centric DevOpsApplication Centric DevOps
Application Centric DevOpsNati Shalom
 
Real-Time Big Data at In-Memory Speed, Using Storm
Real-Time Big Data at In-Memory Speed, Using StormReal-Time Big Data at In-Memory Speed, Using Storm
Real-Time Big Data at In-Memory Speed, Using StormNati Shalom
 

More from Nati Shalom (20)

Cloudify and terraform integration
Cloudify and terraform integrationCloudify and terraform integration
Cloudify and terraform integration
 
Why NFV and Digital Transformation Projects Fail!
Why NFV and Digital Transformation Projects Fail! Why NFV and Digital Transformation Projects Fail!
Why NFV and Digital Transformation Projects Fail!
 
Cloudify and terraform integration
Cloudify and terraform integrationCloudify and terraform integration
Cloudify and terraform integration
 
1 cloud, 2 clouds, 3 clouds, tons...
1 cloud, 2 clouds, 3 clouds, tons...1 cloud, 2 clouds, 3 clouds, tons...
1 cloud, 2 clouds, 3 clouds, tons...
 
Open Stack Days israel Keynote 2017
Open Stack Days israel Keynote 2017Open Stack Days israel Keynote 2017
Open Stack Days israel Keynote 2017
 
What A No Compromises Hybrid Cloud Looks Like
What A No Compromises Hybrid Cloud Looks Like What A No Compromises Hybrid Cloud Looks Like
What A No Compromises Hybrid Cloud Looks Like
 
Running OpenStack in Production
Running OpenStack in Production Running OpenStack in Production
Running OpenStack in Production
 
Real World Example of Orchestrating Docker, Node JS, NFV on OpenStack
Real World Example of Orchestrating Docker, Node JS, NFV on OpenStackReal World Example of Orchestrating Docker, Node JS, NFV on OpenStack
Real World Example of Orchestrating Docker, Node JS, NFV on OpenStack
 
Real World Application Orchestration Made Easy on VMware vCloud Air, vSphere ...
Real World Application Orchestration Made Easy on VMware vCloud Air, vSphere ...Real World Application Orchestration Made Easy on VMware vCloud Air, vSphere ...
Real World Application Orchestration Made Easy on VMware vCloud Air, vSphere ...
 
OpenStack Juno The Complete Lowdown and Tales from the Summit
OpenStack Juno The Complete Lowdown and Tales from the SummitOpenStack Juno The Complete Lowdown and Tales from the Summit
OpenStack Juno The Complete Lowdown and Tales from the Summit
 
Application and Network Orchestration using Heat & Tosca
Application and Network Orchestration using Heat & ToscaApplication and Network Orchestration using Heat & Tosca
Application and Network Orchestration using Heat & Tosca
 
Introduction to Cloudify for OpenStack users
Introduction to Cloudify for OpenStack users Introduction to Cloudify for OpenStack users
Introduction to Cloudify for OpenStack users
 
Software Defined Operator
Software Defined OperatorSoftware Defined Operator
Software Defined Operator
 
Complex Analytics with NoSQL Data Store in Real Time
Complex Analytics with NoSQL Data Store in Real TimeComplex Analytics with NoSQL Data Store in Real Time
Complex Analytics with NoSQL Data Store in Real Time
 
Is Orchestration the Next Big Thing in DevOps
Is Orchestration the Next Big Thing in DevOpsIs Orchestration the Next Big Thing in DevOps
Is Orchestration the Next Big Thing in DevOps
 
When networks meets apps (open stack atlanta)
When networks meets apps (open stack atlanta)When networks meets apps (open stack atlanta)
When networks meets apps (open stack atlanta)
 
Application Centric Approach to Devops
Application Centric Approach to DevopsApplication Centric Approach to Devops
Application Centric Approach to Devops
 
Case Studies for moving apps to the cloud - DLD 2013
Case Studies for moving apps to the cloud - DLD 2013Case Studies for moving apps to the cloud - DLD 2013
Case Studies for moving apps to the cloud - DLD 2013
 
Application Centric DevOps
Application Centric DevOpsApplication Centric DevOps
Application Centric DevOps
 
Real-Time Big Data at In-Memory Speed, Using Storm
Real-Time Big Data at In-Memory Speed, Using StormReal-Time Big Data at In-Memory Speed, Using Storm
Real-Time Big Data at In-Memory Speed, Using Storm
 

Recently uploaded

LF Energy Webinar: Introduction to TROLIE
LF Energy Webinar: Introduction to TROLIELF Energy Webinar: Introduction to TROLIE
LF Energy Webinar: Introduction to TROLIEDanBrown980551
 
Launching New Products In Companies Where It Matters Most by Product Director...
Launching New Products In Companies Where It Matters Most by Product Director...Launching New Products In Companies Where It Matters Most by Product Director...
Launching New Products In Companies Where It Matters Most by Product Director...Product School
 
Centralized TLS Certificates Management Using Vault PKI + Cert-Manager
Centralized TLS Certificates Management Using Vault PKI + Cert-ManagerCentralized TLS Certificates Management Using Vault PKI + Cert-Manager
Centralized TLS Certificates Management Using Vault PKI + Cert-ManagerSaiLinnThu2
 
GraphSummit London Feb 2024 - ABK - Neo4j Product Vision and Roadmap.pptx
GraphSummit London Feb 2024 - ABK - Neo4j Product Vision and Roadmap.pptxGraphSummit London Feb 2024 - ABK - Neo4j Product Vision and Roadmap.pptx
GraphSummit London Feb 2024 - ABK - Neo4j Product Vision and Roadmap.pptxNeo4j
 
Building Bridges: Merging RPA Processes, UiPath Apps, and Data Service to bu...
Building Bridges:  Merging RPA Processes, UiPath Apps, and Data Service to bu...Building Bridges:  Merging RPA Processes, UiPath Apps, and Data Service to bu...
Building Bridges: Merging RPA Processes, UiPath Apps, and Data Service to bu...DianaGray10
 
"The Transformative Power of AI and Open Challenges" by Dr. Manish Gupta, Google
"The Transformative Power of AI and Open Challenges" by Dr. Manish Gupta, Google"The Transformative Power of AI and Open Challenges" by Dr. Manish Gupta, Google
"The Transformative Power of AI and Open Challenges" by Dr. Manish Gupta, GoogleISPMAIndia
 
Utilising Energy Modelling for LCSF and PSDS Funding Applications
Utilising Energy Modelling for LCSF and PSDS Funding ApplicationsUtilising Energy Modelling for LCSF and PSDS Funding Applications
Utilising Energy Modelling for LCSF and PSDS Funding ApplicationsIES VE
 
"DevOps Practisting Platform on EKS with Karpenter autoscaling", Dmytro Kozhevin
"DevOps Practisting Platform on EKS with Karpenter autoscaling", Dmytro Kozhevin"DevOps Practisting Platform on EKS with Karpenter autoscaling", Dmytro Kozhevin
"DevOps Practisting Platform on EKS with Karpenter autoscaling", Dmytro KozhevinFwdays
 
Pragmatic UI testing with Compose Semantics.pdf
Pragmatic UI testing with Compose Semantics.pdfPragmatic UI testing with Compose Semantics.pdf
Pragmatic UI testing with Compose Semantics.pdfinfogdgmi
 
Mind your App Footprint 🐾⚡️🌱 (@FlutterHeroes 2024)
Mind your App Footprint 🐾⚡️🌱 (@FlutterHeroes 2024)Mind your App Footprint 🐾⚡️🌱 (@FlutterHeroes 2024)
Mind your App Footprint 🐾⚡️🌱 (@FlutterHeroes 2024)François
 
"How we created an SRE team in Temabit as a part of FOZZY Group in conditions...
"How we created an SRE team in Temabit as a part of FOZZY Group in conditions..."How we created an SRE team in Temabit as a part of FOZZY Group in conditions...
"How we created an SRE team in Temabit as a part of FOZZY Group in conditions...Fwdays
 
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdf
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdfIntroducing the New FME Community Webinar - Feb 21, 2024 (2).pdf
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdfSafe Software
 
Act Like an Owner, Challenge Like a VC by former CPO, Tripadvisor
Act Like an Owner,  Challenge Like a VC by former CPO, TripadvisorAct Like an Owner,  Challenge Like a VC by former CPO, Tripadvisor
Act Like an Owner, Challenge Like a VC by former CPO, TripadvisorProduct School
 
"Testing of Helm Charts or There and Back Again", Yura Rochniak
"Testing of Helm Charts or There and Back Again", Yura Rochniak"Testing of Helm Charts or There and Back Again", Yura Rochniak
"Testing of Helm Charts or There and Back Again", Yura RochniakFwdays
 
Are Human-generated Demonstrations Necessary for In-context Learning?
Are Human-generated Demonstrations Necessary for In-context Learning?Are Human-generated Demonstrations Necessary for In-context Learning?
Are Human-generated Demonstrations Necessary for In-context Learning?MENGSAYLOEM1
 
Enterprise Architecture As Strategy - Book Review
Enterprise Architecture As Strategy - Book ReviewEnterprise Architecture As Strategy - Book Review
Enterprise Architecture As Strategy - Book ReviewAshraf Fouad
 
Harnessing the Power of GenAI for Exceptional Product Outcomes by Booking.com...
Harnessing the Power of GenAI for Exceptional Product Outcomes by Booking.com...Harnessing the Power of GenAI for Exceptional Product Outcomes by Booking.com...
Harnessing the Power of GenAI for Exceptional Product Outcomes by Booking.com...Product School
 
Revolutionizing The Banking Industry: The Monzo Way by CPO, Monzo
Revolutionizing The Banking Industry: The Monzo Way by CPO, MonzoRevolutionizing The Banking Industry: The Monzo Way by CPO, Monzo
Revolutionizing The Banking Industry: The Monzo Way by CPO, MonzoProduct School
 
Unleash the Solace Pub Sub connector | Banaglore MuleSoft Meetup #31
Unleash the Solace Pub Sub connector | Banaglore MuleSoft Meetup #31Unleash the Solace Pub Sub connector | Banaglore MuleSoft Meetup #31
Unleash the Solace Pub Sub connector | Banaglore MuleSoft Meetup #31shyamraj55
 
IT Nation Evolve event 2024 - Quarter 1
IT Nation Evolve event 2024  - Quarter 1IT Nation Evolve event 2024  - Quarter 1
IT Nation Evolve event 2024 - Quarter 1Inbay UK
 

Recently uploaded (20)

LF Energy Webinar: Introduction to TROLIE
LF Energy Webinar: Introduction to TROLIELF Energy Webinar: Introduction to TROLIE
LF Energy Webinar: Introduction to TROLIE
 
Launching New Products In Companies Where It Matters Most by Product Director...
Launching New Products In Companies Where It Matters Most by Product Director...Launching New Products In Companies Where It Matters Most by Product Director...
Launching New Products In Companies Where It Matters Most by Product Director...
 
Centralized TLS Certificates Management Using Vault PKI + Cert-Manager
Centralized TLS Certificates Management Using Vault PKI + Cert-ManagerCentralized TLS Certificates Management Using Vault PKI + Cert-Manager
Centralized TLS Certificates Management Using Vault PKI + Cert-Manager
 
GraphSummit London Feb 2024 - ABK - Neo4j Product Vision and Roadmap.pptx
GraphSummit London Feb 2024 - ABK - Neo4j Product Vision and Roadmap.pptxGraphSummit London Feb 2024 - ABK - Neo4j Product Vision and Roadmap.pptx
GraphSummit London Feb 2024 - ABK - Neo4j Product Vision and Roadmap.pptx
 
Building Bridges: Merging RPA Processes, UiPath Apps, and Data Service to bu...
Building Bridges:  Merging RPA Processes, UiPath Apps, and Data Service to bu...Building Bridges:  Merging RPA Processes, UiPath Apps, and Data Service to bu...
Building Bridges: Merging RPA Processes, UiPath Apps, and Data Service to bu...
 
"The Transformative Power of AI and Open Challenges" by Dr. Manish Gupta, Google
"The Transformative Power of AI and Open Challenges" by Dr. Manish Gupta, Google"The Transformative Power of AI and Open Challenges" by Dr. Manish Gupta, Google
"The Transformative Power of AI and Open Challenges" by Dr. Manish Gupta, Google
 
Utilising Energy Modelling for LCSF and PSDS Funding Applications
Utilising Energy Modelling for LCSF and PSDS Funding ApplicationsUtilising Energy Modelling for LCSF and PSDS Funding Applications
Utilising Energy Modelling for LCSF and PSDS Funding Applications
 
"DevOps Practisting Platform on EKS with Karpenter autoscaling", Dmytro Kozhevin
"DevOps Practisting Platform on EKS with Karpenter autoscaling", Dmytro Kozhevin"DevOps Practisting Platform on EKS with Karpenter autoscaling", Dmytro Kozhevin
"DevOps Practisting Platform on EKS with Karpenter autoscaling", Dmytro Kozhevin
 
Pragmatic UI testing with Compose Semantics.pdf
Pragmatic UI testing with Compose Semantics.pdfPragmatic UI testing with Compose Semantics.pdf
Pragmatic UI testing with Compose Semantics.pdf
 
Mind your App Footprint 🐾⚡️🌱 (@FlutterHeroes 2024)
Mind your App Footprint 🐾⚡️🌱 (@FlutterHeroes 2024)Mind your App Footprint 🐾⚡️🌱 (@FlutterHeroes 2024)
Mind your App Footprint 🐾⚡️🌱 (@FlutterHeroes 2024)
 
"How we created an SRE team in Temabit as a part of FOZZY Group in conditions...
"How we created an SRE team in Temabit as a part of FOZZY Group in conditions..."How we created an SRE team in Temabit as a part of FOZZY Group in conditions...
"How we created an SRE team in Temabit as a part of FOZZY Group in conditions...
 
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdf
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdfIntroducing the New FME Community Webinar - Feb 21, 2024 (2).pdf
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdf
 
Act Like an Owner, Challenge Like a VC by former CPO, Tripadvisor
Act Like an Owner,  Challenge Like a VC by former CPO, TripadvisorAct Like an Owner,  Challenge Like a VC by former CPO, Tripadvisor
Act Like an Owner, Challenge Like a VC by former CPO, Tripadvisor
 
"Testing of Helm Charts or There and Back Again", Yura Rochniak
"Testing of Helm Charts or There and Back Again", Yura Rochniak"Testing of Helm Charts or There and Back Again", Yura Rochniak
"Testing of Helm Charts or There and Back Again", Yura Rochniak
 
Are Human-generated Demonstrations Necessary for In-context Learning?
Are Human-generated Demonstrations Necessary for In-context Learning?Are Human-generated Demonstrations Necessary for In-context Learning?
Are Human-generated Demonstrations Necessary for In-context Learning?
 
Enterprise Architecture As Strategy - Book Review
Enterprise Architecture As Strategy - Book ReviewEnterprise Architecture As Strategy - Book Review
Enterprise Architecture As Strategy - Book Review
 
Harnessing the Power of GenAI for Exceptional Product Outcomes by Booking.com...
Harnessing the Power of GenAI for Exceptional Product Outcomes by Booking.com...Harnessing the Power of GenAI for Exceptional Product Outcomes by Booking.com...
Harnessing the Power of GenAI for Exceptional Product Outcomes by Booking.com...
 
Revolutionizing The Banking Industry: The Monzo Way by CPO, Monzo
Revolutionizing The Banking Industry: The Monzo Way by CPO, MonzoRevolutionizing The Banking Industry: The Monzo Way by CPO, Monzo
Revolutionizing The Banking Industry: The Monzo Way by CPO, Monzo
 
Unleash the Solace Pub Sub connector | Banaglore MuleSoft Meetup #31
Unleash the Solace Pub Sub connector | Banaglore MuleSoft Meetup #31Unleash the Solace Pub Sub connector | Banaglore MuleSoft Meetup #31
Unleash the Solace Pub Sub connector | Banaglore MuleSoft Meetup #31
 
IT Nation Evolve event 2024 - Quarter 1
IT Nation Evolve event 2024  - Quarter 1IT Nation Evolve event 2024  - Quarter 1
IT Nation Evolve event 2024 - Quarter 1
 

Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs. tosca (1)

  • 1. Orchestration Tool Roundup - Docker Swarm vs. Kubernetes, TerraForm vs. TOSCA/Cloudify vs. Heat
  • 3. Agenda • Orchestration 101.. • Different approaches for orchestration • Method of comparison • Comparison • Synergies • Summary - which tool to choose?
  • 4. Orchestration 101 Orchestration is a mean to Automate Manual Process
  • 5. Orchestration 101 • Common Characteristics – Use DSL to define blueprint – Execute a process based on input from the blueprint – Pass context information between the deployed entities • Different assumptions lead to different approaches – Application Architecture – Infrastructure – Scope of automation
  • 6. Goals of this Exercise Explore the different approaches to orchestration Infrastructure Centric Pure Play Container Centric
  • 7. Method of Comparison • Same Application Requirements • Full Production Deployment • Broken into three main groups – Container Centric – Kubernetes, Docker – Pure Play –Cloudify/TOSCA, Terraform, –Infrastructure Centric - Heat • Out of scope* – PaaS, Configuration Management (e.g Chef, Puppet, Ansible,..) – Covering all orchestrations solutions – Deep Dive into each orchestration technology
  • 8. The Test Application VM mongod VM NodeJS mongos VM NodeJS mongos VM Mongo-cfg VM Mongo-cfg VM Mongo-cfg Load Balancer VM NodeJS mongos VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod
  • 9. Orchestration Process - Setup VM VM VM VM VM VM Load Balancer VM VM VM VM VM VM VM VM VM Create network and compute resources: VMs, security group, network, subnet, routers, LB pool 1
  • 10. Orchestration Process - Setup VM mongod VM NodeJS mongos VM NodeJS mongos VM Mongo-cfg VM Mongo-cfg VM Mongo-cfg Load Balancer VM NodeJS mongos VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod Install Mongo and Node Binaries 2
  • 11. Orchestration Process - Setup VM mongod VM NodeJS mongos VM NodeJS mongos VM Mongo-cfg VM Mongo-cfg VM Mongo-cfg Load Balancer VM NodeJS mongos VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod Start mongod processes Start mongod processes Start mongod processes 3
  • 12. Orchestration Process - Setup VM mongod VM NodeJS mongos VM NodeJS mongos VM Mongo-cfg VM Mongo-cfg VM Mongo-cfg Load Balancer VM NodeJS mongos VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod Start mongo-cfg proecesses Start mongo-cfg proecesses Start mongo-cfg processes 4
  • 13. Orchestration Process - Setup VM mongod VM NodeJS mongos VM NodeJS mongos VM Mongo-cfg VM Mongo-cfg VM Mongo-cfg Load Balancer VM NodeJS mongos VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod Start mongos processes, pointing to config servers Start mongos processes, pointing to config servers Start mongos processes, pointing to mongo-cfg servers 5
  • 14. Orchestration Process - Setup VM mongod VM NodeJS mongos VM NodeJS mongos VM Mongo-cfg VM Mongo-cfg VM Mongo-cfg Load Balancer VM NodeJS mongos VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod Pick one mongos and initialize replica set Pick one mongos and initialize replica set Pick one VM per shard and initialize replica set 6
  • 15. Orchestration Process - Setup VM mongod VM NodeJS mongos VM NodeJS mongos VM Mongo-cfg VM Mongo-cfg VM Mongo-cfg Load Balancer VM NodeJS mongos VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod Pick one mongos and add shards, one at a time 7
  • 16. Orchestration Process - Setup VM mongod VM NodeJS mongos VM NodeJS mongos VM Mongo-cfg VM Mongo-cfg VM Mongo-cfg Load Balancer VM NodeJS mongos VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod Pick one mongos and initialize data in mongodb 8
  • 17. Orchestration Process - Setup VM mongod VM NodeJS mongos VM NodeJS mongos VM Mongo-cfg VM Mongo-cfg VM Mongo-cfg Load Balancer VM NodeJS mongos VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod Start nodejs processes Start nodejs processes Start nodejs processes 9
  • 18. Orchestration Process - Setup VM mongod VM NodeJS mongos VM NodeJS mongos VM Mongo-cfg VM Mongo-cfg VM Mongo-cfg Load Balancer VM NodeJS mongos VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod VM mongod Add nodejs VMs to LB pool 10
  • 19. Orchestrating in Production • Monitoring and log collection • Manual/Auto healing • Manual/Auto scaling • Maintenance: – Backup and restore – Continuous deployment – Infrastructure upgrades and patches
  • 20. Common Requirements • Dependency management •Reproducible •Cloneable • Recoverable
  • 22. Quick Overview of Docker Swarm A Docker-native clustering system • Use a pool of hosts through a single swarm master endpoint • Placement constraints, affinity/anti-affinity docker run -name rs1 -e affinity:container!=rs* ...
  • 24. Solution Overview - Deploy - Create Replica Sets for i in 1..{number_of_replica_sets} for j in 1..{number_of_nodes_for_replica_set} docker run -name rs{i}_srv{j} -e affinity:container!=rs* -e affinity:container!=cfg* -e constraint:daemon==mongodb -d example/mongodb --replSet rs{i} Then, SSH into one host per replica set to configure it.
  • 25. Solution Overview - Deploy - Start Node.js application containers Make sure you inject all mongos endpoints for the application. for i in 1..{number_of_nodejs_servers} docker run -P -name nodejs{i}_v1 -e constraint:daemon==nodejs -e affinity:container!=nodejs* -e MONGO_HOSTS=<LIST_OF_MONGOS_IPs> -d example/nodejs_v1 nodejs server.js
  • 26. Solution Overview - Deploy - Reconfigure HAProxy Extract Node.js container IPs using docker inspect and then: for i in 1..{number_of_nodejs_servers} docker exec haproxy1 reconfigure.sh --add=<IP_of_nodejs{i}:port>
  • 27. Solution Overview - Mongodb scale out Identical to the process of deploying the initial mongodb shards, mongodb will take care of migrating data to the new shard
  • 28. Docker Swarm - Pros and Cons Pros ● Easy modeling ● Placement/Affinity Cons ● Basic infrastructure handling ● Manual handling multiple instances ● “Manual” workflow ● Requires other tools for production aspects - monitoring, healing, scaling
  • 30. Quick Overview to Kubernetes Container cluster manager • Pods: tightly coupled group of containers • Replication controller: ensures that a specified number of pod "replicas" are running at any one time. • Networking: Each pod gets its own IP address • Service: Load balanced endpoint for a set of pods
  • 32. Sample Replication Controller apiVersion: v1beta3 kind: ReplicationController spec: replicas: 5 selector: name: mongod-rs1 template: metadata: labels: name: mongod-rs1 spec: containers: - command: [mongod, --port, 27017, --replSet, rs1] image: example/mongod name: mongod-rs1 - command: [mongod-rs-manager, --replSet, rs1] image: example/mongod-rs-manager name: mongod-rs1-manager
  • 33. Sample Service Configuration apiVersion: v1beta3 kind: Service metadata: labels: type: nodejs name: nodejs spec: ports: - port: 80 targetPort: 8080 selector: type: nodejs createExternalLoadBalancer: true
  • 34. Solution Overview - Deploy • Create mongod config servers for i in 1..3 kubectl create -f mongod-configsvr{i}-controller.yaml kubectl create -f mongod-configsvr{i}-service.yaml • Create mongos router kubectl create -f mongos-controller.yaml kubectl create -f mongos-service.yaml
  • 35. Solution Overview - Deploy - Create Data nodes for i in 1..{number_of_replica_sets} kubectl create -f mongod-rs{i}-controller.yaml # Now configure each replicate set # by picking pod to be the initial “master” # of each replica set and extract all # containers IPs using “kubectl get -l ...” # dynamically update replica set # members (this will kick of this process) kubectl create -f mongod-rs{i}-service.yaml
  • 36. Solution Overview - Node.js Heal Failing pods are identified by kubernetes and are automatically rescheduled
  • 37. Solution Overview - Node.js continuous deployment # initially configured with 0 replicas kubectl create -f nodejs-v{new_version}-controller.yaml for i in 1..{number_of_nodejs_replicas} kubectl resize rc nodejs_v{new_version} --current-replicas={i - 1} --replicas={i} # smoke test and rollback everything if testing failed kubectl resize rc nodejs_v{previous_version} --current-replicas={number_of_nodejs_replicas - i + 1} --replicas={number_of_nodejs_replicas - i}
  • 38. Kubernetes - Pros and Cons Pros ● (almost) zero configuration autoheal ● Out of the box load balancer ● Simple scaling Cons ● No placement (yet) ● Not simple to manage stateful services
  • 39. Series 2: Pure Play Orchestration
  • 40. Introduction to Terraform • By Hashicorp • Simple (in a good way) command line tool – Resources – Providers and provisioners – Modules – Variables and outputs
  • 41. Sample Configuration resource "openstack_compute_secgroup_v2" "nodejs_security_group" { name = "nodejs_security_group" description = "security group for mongodb" rule { from_port = 22 to_port = 22 ip_protocol = "tcp" cidr = "0.0.0.0/0" } rule { from_port = "${var.nodejs_port}" to_port = "${var.nodejs_port}" ip_protocol = "tcp" cidr = "0.0.0.0/0" } }
  • 42. Sample Configuration # # Create a Network # resource "openstack_networking_network_v2" "tf_network" { region = "" name = "tf_network" admin_state_up = "true" } # # Create a subnet in our new network # Notice here we use a TF variable for the name of our network above. # resource "openstack_networking_subnet_v2" "tf_net_sub1" { region = "" network_id = "${openstack_networking_network_v2.tf_network.id}" cidr = "192.168.1.0/24" ip_version = 4 }
  • 43. Sample Configuration resource "openstack_compute_instance_v2" "mongod_host" { count = "3" region = "" name = "mongod_host" image_name = "${var.image_name}" flavor_name = "${var.flavor_name}" key_pair = "tf-keypair-1" security_groups = ["mongo_security_group"] network { uuid = "${openstack_networking_network_v2.tf_network.id}" } ... provisioner "remote-exec" { scripts = [ "scripts/install_mongo.sh" "start_mongod.sh" ] } }
  • 44. Solution Overview • Single top level configuration file • Creates: Network, subnet, router, floating IP, security groups, VMs, LBaaS pool • TF module to model a mongodb shard – No easy way to specify "I want X occurrences of this module" – Just copy and paste...
  • 45. Master Assignment & Registration of Shards • Issue - no "cluster wide" way of invoking provisioners – Needed for configuring shard masters and adding shards to the cluster • Option 1: use Consul – e.g. first instance acquires a lock and waits for other to join • Option 2: Static allocation in the configuration • Option 3: local-exec with locks
  • 46. Terraform - Pros and Cons Pros ● Infrastructure & Framework neutrality ● Solid support for OpenStack ● Simple and elegant ● Present plan before applying ● Support for incremental updates Cons ● Configurations are not portable across cloud providers ● Hard to model non- infrastructure components ● Everything is done in the context of a single resource instance
  • 48. What is TOSCA? TOSCA defines the interoperable description of applications; including their components, relationships, dependencies, requirements, and capabilities….
  • 49. Cloudify – Open Source Implementation of TOSCA Provision ConfigureMonitor Manage Infrastructure Can be used as a command line tool or as a managed service Plugins CM Monitoring & Alarming
  • 50. Cloudify – Open Source Implementation of TOSCA Provision ConfigureMonitor Manage Monitoring & Alarming Infrastructure Can be used as a command line tool or as a managed service Plugins CM
  • 51. Hosted On Software ComponentContainer (Docker Runtime Capability) Containee (Docker Runtime Requirement) Requirements Capabilities # NOT YET IN TOSCA SPEC. TO BE INVENTED… repositories: docker_hub: url: xxx credentials: yyy node_templates: docker_webserver: type: tosca.nodes.Container requirements: - host: # omitted for brevity artifacts: - my_image: < URI of Docker Image in Repo. > type: tosca.artifacts.impl.Docker.Image: repository: docker_repo Container Container Docker Rocket … artifact_types: tosca.artifacts.impl.Docker.Image: derived_from: tosca.artifacts.Root description: Docker Image TAR mime_type: TBD file_ext: [ tar ] Docker Hub (Repo.) • URI of DockerImage • Relative to Repo. Artifacts • Docker Image • .TAR) Containers Portability in TOSCA Source: Vmware Proposal
  • 52. Solution Overview Mongod-shard Mongo replica- set Output: Mogoconfig hosts Shards endpoint Subsitutable *Scalable *Scalable Input: #config instances #Shards #Replica set per shard Input: #nodeJS instances mongodb deployment id or MongoConfig Mogo Shards Output: App EndPoint = Load-Balancer IP/path Mongo cfg *Scalable Initialization Initialization Load Balancer NodeJS MongoS *Scalable *Scalable
  • 53. Infrastructure setup node_templates: nodecellar_security_group: type: cloudify.openstack.nodes.SecurityGroup properties: security_group: name: nodecellar_security_group rules: - remote_ip_prefix: 0.0.0.0/0 port: { get_property: [ nodecellar, port ] }
  • 54. Create Mongo Shards mongodb: type: tosca.nodes.mongodb.Shard directives: [substitutable] properties: count: { get_input: servers_count_in_replica_set } requirements: - host: node: mongo_server capabilities: scalable: properties: min_instances: 1 max_instances: 10 default_instances: { get_input: mongodb_rs_count } MongoDB ReplicaSet MongoDB Server *scalable
  • 55. Create Compute Instances mongo_server: type: tosca.nodes.Compute capabilities: host: properties: *host_capabilities os: properties: *os_capabilities scalable: properties: min_instances: 1 max_instances: 10 default_instances: 5
  • 56. Create MongoDB Replica Set mongo_db_replica_set: type: tosca.nodes.DBMS requirements: - host: node: mongo_server interfaces: Standard: create: Scripts/mongodb/create.sh configure: implementation: Scripts/mongodb/config.sh inputs: mongodb_ip: { get_attribute: [mongo_server, addr] } start: Scripts/mongodb/start.sh
  • 57. Creat NodeJS Containers nodecellar_container: type: tosca.nodes.NodeCellarAppContainer properties: port: { get_input: nodejs_app_port } interfaces: cloudify.interfaces.lifecycle: create: inputs: .... command: nodejs server.js environment: NODECELLAR_PORT: { get_property: [SELF, port] } MONGO_PORT: { get_property: [SELF, database_connection, port] } MONGO_HOST: { get_attribute: [SELF, database_connection, private_address] } …..
  • 58. Create Load Balancer haproxy: type: tosca.nodes.Proxy properties: frontend_port: 80 statistics_port: 9000 backend_app_port: { get_property: [ nodecellar, port ] } requirements: - host: node: haproxy_frontend_host - member: node: nodecellar_container Get the web containers through relationship and update the load balancer accordingly
  • 59. Handling Post Deployment through Workflow & Policies ● Cloudify Workflows ● Built in workflows o Install o Uninstall o Heal o Scale ● Discovery through graph navigation ● Remote/Local execution Script execution in python with context to the deployment graph cfy executions start -w install ...
  • 60. Summary TOSCA/Cloudify Pros ● Infrastructure & Framework neutrality ● Complete Life Cycle Management ● Handles Infrastructure & Software ● Production Orchestration* o Monitoring o Workflow o Policies o Logging *Implementation specific Cons ● The spec is still evolving ● Cloudify isn’t 100% complaint yet ● Limited set of tooling
  • 61. Series 3: Infrastructure Centric • Overview of Heat • Orchestrating NodeJS/MongoDB with Heat • Summary – Benefits/ Limitations
  • 62. What is Heat? Heat provides a mechanism for orchestrating OpenStack resources through the use of modular templates.
  • 64. Solution Overview Mogo replica- set Output: Replica set node hosts ssh-key, private ip to the init node Input: #Replica set per shardInput: #nodeJS instances MongoConfig hosts Mogo Shards hosts Output: mongos node hosts App EndPoint = Load-Balancer IP/path mogocfg Output: mogocfg node hosts Input: #config instances Initialize replica- set-script Initialize MongoS- Script Load Balancer NodeJS MongoS
  • 65. Infrastructure setup resources: secgroup: type: OS::Neutron::SecurityGroup properties: name: str_replace: template: mongodb-$stackstr-secgroup params: $stackstr: get_attr: - stack-string - value rules: - protocol: icmp - protocol: tcp port_range_min: 22 port_range_max: 22 - protocol: tcp port_range_min: 27017 port_range_max: 27019
  • 66. Create Compute Instances mongo_host: type: OS::Nova::Server properties: name: str_replace: template: $stackprefix-$stackstr params: $stackprefix: get_param: stack-prefix $stackstr: get_attr: - stack-string - value image: get_param: image flavor: get_param: flavor security_groups: - get_param: security_group
  • 67. Create MongoDB Replica Servers mongodb_peer_servers: type: "OS::Heat::ResourceGroup" properties: count: { get_param: peer_server_count } resource_def: type: { get_param: child_template } properties: server_hostname: str_replace: template: '%name%-0%index%' params: '%name%': { get_param: server_hostname } image: { get_param: image } flavor: { get_param: flavor } ssh_key: { get_resource: ssh_key } ssh_private_key: { get_attr: [ssh_key, private_key] } kitchen: { get_param: kitchen } chef_version: { get_param: chef_version }
  • 68. Configure the Replica Servers server_setup: type: "OS::Heat::ChefSolo" depends_on: - mongodb_peer_servers properties: username: root private_key: { get_attr: [ssh_key, private_key] } host: { get_attr: [mongodb_peer_servers, accessIPv4, 0] } kitchen: { get_param: kitchen } chef_version: { get_param: chef_version } node: mongodb: ruby_gems: mongo: '1.12.0' bson_ext: '1.12.0' bind_ip: { get_attr: [mongodb_peer_servers, privateIPv4, 0] } use_fqdn: false replicaset_members: { get_attr: [mongodb_peer_servers, privateIPv4] } config: replset: myreplset run_list: [ "recipe[config_replset]" ]
  • 69. Create NodeJS Container nodestack_chef_run: type: 'OS::Heat::ChefSolo' depends_on: nodestack_node properties: ... node: nodejs_app: ... deployment: id: { get_param: stack_id } app_id: nodejs run_list: ["recipe[apt]", "recipe[nodejs]", "recipe[ssh_known_hosts]", "recipe[nodejs_app]"] data_bags: nodejs: id: { get_param: stack_id } nodejs_app: password: { get_attr: [nodejs_user_password, value] } deploy_key: { get_param: deploy_key } database_url: str_replace: template: 'mongodb://%dbuser%:%dbpasswd%@%dbhostname%' params: '%dbuser%': { get_param: database_username } '%dbpasswd%': { get_param: database_user_password } '%dbhostname%': { get_param: db_server_ip }
  • 70. Summary Pros ● Native To OpenStack ● Built-in mapping of all the OpenStack infrastructure resource types Cons ● Limited to OpenStack ● Software configuration is limited ● Lack of built-in workflow ● Production orchestration is limited o Requires integration with other tools/ projects
  • 71. Potential Synergies • Magnum - Kubernetes + Docker, Heat • Cloudify/TOSCA + Docker • Cloudify/TOSCA + Heat
  • 72. Which orchestration tool should I choose?
  • 74. The Only Constant Is Change!