leveraging mesos to manage container workloads at samsung sami
Post on 22-Jan-2018
1.190 Views
Preview:
TRANSCRIPT
Containers at Scale
*
*
*IoT Platform
* IoT is really all about data
*A secure data broker in the cloud
*Open and agnostic
*Any kind of data
*Any kind of device or service
*Cross silo interoperability
*Realize true potential of IoT
*
*
*Node/Machine Specific Perspective
*Declarative – Run This on That Box
*Multi-Tenancy requires manual configuration
*No Fault-Tolerance when machine dies
*Longer Provisioning and Deploy times
*Static Partitioning
*Resource wastage
*No Resource Isolation
*No Dependency/Workflow Management
*Heterogeneous infrastructure is not easy
*Steep Learning Curve
“Mesos is the gold standard for large-scale production clusters running containers.”
- Solomon Hykes, CTO of Docker
* DC-Wide Resource and Cluster Manager
* Kernel for your Datacenter
* Abstracts Compute Resources (CPU, Memory, Storage) away from machines
* Efficient Resource Isolation between tasks with Linux Containers
* Enables Fault Tolerant and Elastic Distributed Systems
* Roles and ACLs for Frameworks
* UI for Cluster State
* Multi-tenancy
* Improved resource utilization
* Resource isolation
* Fault-tolerance
* Easy scaling
* Datacenter is the new form factor
In a Nutshell
* Cluster-wide Init and Control System for Containers
* Meta Framework that runs on Mesos
* Provides REST API for Deploying and Scaling Applications
* Survive Machine Failures
* Highly Available
* JSON/REST API for easy integration and scriptabaility
* State of running tasks stored in Mesos abstraction
* Dependency and Workflow management
* Constraints
* Intuitive Web UI
*
* KV
* Service Registry and Discovery
* REST API
* DNS Interface
* UI
* Watches
* Events
* Handlers
*
"watches": [
{
"type": "keyprefix",
"prefix": "jenkins/",
"handler": "/usr/bin/jenkins2dev.rb"
},
{
"type": "event",
"name": "restart-qa",
"handler": "/usr/bin/marathon_job_restart.rb"
}
]
* Dynamically render templates
* Reload on changes
* Integrate with everything
* Real-time
template {
source = "/etc/haproxy/haproxy.cfg.ctmpl"
destination = "/etc/haproxy/haproxy.cfg"
command = "service haproxy reload"
}
backend aegis
balance roundrobin
mode http{{range service "aegis-dev"}}
server {{.Node}}-{{.Port}} {{.Address}}:{{.Port}} weight 1 check{{end}}
backend aegis
balance roundrobin
mode http
server appdev02-nops-us-east-1c10.20.2.201:31984 weight 1 check
*SAMI on Mesos + Docker
*
*Fault tolerant, self-healing infra
*Fast and reactive orchestration
*Power to QA/Dev – handle deploys
*No manual intervention
*Audit trail – steps captured in Git
*Faster feedback loop
*Cost efficient
*
*Marathon
*Chronos
*Jenkins
*Spark
*
*
*Cassandra
*Kafka
*Elasticsearch
*DCOS
*Terraform
*
top related