In this talk, Connor and Niklas will talk about their thoughts on the next decade of cluster computing. They have worked on Apache Mesos, Kubernetes and Mesos Frameworks; from design of subsystems to tooling and operationalizing at scale. They will discuss past, present and future trends in public and private cloud computing and unique opportunities for the cluster computing communities. By the end of the talk, they hope you will leave with a fresh perspective on scheduling and orchestration, at a deeper level than "Mesos vs. Kubernetes vs. Omega vs. Borg …"
KubeCon schedule link: http://sched.co/4Wgx
11. Public Cloud Providers shared their secret sauce
“Legacy
infrastructure”
Deployment and image formats
Services (Blob and block Storage,
Load balancing, Databases)
Cost is correlated to fine grained
allocation
“Infinite” capacity
Explicit fault domains in form of
availability zones
12. Public Cloud Providers shared their secret sauce
“Legacy
infrastructure”
Interference
Limited exposure to hardware features
Subsidizing other users
Vendor lock-in?
“Infinite capacity”? This is a business.
15. Private Cloud
● Requires high expertise
● Reinvention
● Resource silos
● Workload portability?
Can we get the best of both worlds?
● Exclusive access to best
hardware
● Predicable cost and
performance
● Deploy custom hardware
● Meet security and compliance
requirements
23. Computing can float between providers
Amazon EC2
Google
Compute
Platform
Twitter
Private
Cloud
Yelp
Private
Cloud
eBay
Private
Cloud
Public
Cloud
FooPublic
Cloud
Bar
Public
Cloud
Baz
Private
Cloud
Baz
24. Form factor is different this time
Google
Compute
Platform
Amazon EC2
Public Cloud BarCluster
X
Cluster
Z
Cluster
Y
Cluster Y
Über cluster Y
Milky way clusterScalable global
insights
Local control
27. Think about how you describe your intent
across these layers?
Manage complexity with abstractions.
How do you delegate decision making?
How do we avoid creating a mega-language for
the future form factor?
How do we provide portable, composable
interfaces?
29. Visualizing the curse of dimensionality in configuration spaces
cpus: 1 cpus: 1
mem: 512
cpus: 1
mem: 512
disk: 8192
cpus: 1
mem: 512
disk: 8192
iops: 100kps
...
30. Exhibit A: Mesos TaskInfo
/**
* Describes a task. Passed from the scheduler all the way to an
* executor (see SchedulerDriver::launchTasks and
* Executor::launchTask). Either ExecutorInfo or CommandInfo should be set.
* A different executor can be used to launch this task, and subsequent tasks
* meant for the same executor can reuse the same ExecutorInfo struct.
*/
message TaskInfo {
...
}
32. Don’t ask users for too much
We need communication between layers.
33. Don’t ask users for too much
Think about interacting with a managed
runtime.
34. Don’t ask users for too much
Learn more about your users’ needs by
observation.
35. How will our interfaces evolve?
● Usability paradox
○ We understand the problem better
○ Systems get more advanced
○ Conceptual surface area increases
● Alternatives…
○ Turing-complete, imperative control
● A principled mix?
○ Rules to determine where knobs belong?
○ Patterns to “drop down” and specify lower-
level logic?
36. Upcalls and delegation across layers of abstraction
Hardware
OS
Cluster Runtime
Cluster manager
Cluster federation