Orchestration? You Don't Need Orchestration. What You Want Is Choreography by Julian Dunn, Chef
-
Upload
docker-inc -
Category
Technology
-
view
215 -
download
2
Transcript of Orchestration? You Don't Need Orchestration. What You Want Is Choreography by Julian Dunn, Chef
Don’t Orchestrate, Choreograph!
Julian DunnProduct Manager, Chef
What is orchestration?
An ordered set of operations
Across a set of independent machines
Connected to an orchestrator only via a network.
Humans acting on Visio acting on machines
Humans acting on code acting on machines
An ordered set of operations
Defined in code
Across a set of independent machines
Connected to an orchestrator only via a network.
tasks: - name: remove host from LB shell: /usr/local/bin/remove_host {{ ansible_hostname }} delegate_to: loadbalancer.example.com
- name: deploy code git: repo=http://github.com/foo/bar.git dest=/var/www/html/ notify: - restart apache
- name: add host to LB shell: /usr/local/bin/add_host {{ ansible_hostname }} delegate_to: loadbalancer.example.com
Failure: Hard to Recover From
Orchestrator is a SPOF
Huge Cognitive Load
Mark Burgess: Promise Theory
“You Will Feed My Cat”
“Do You Promise To Feed My Cat?”
“Obligations are far from being a reliable tool for ensuring compliance. If a law-giver wanted to ensure the compliance of an agent, a better strategy would be to obtain a promise from the agent and to convince it to view the intention as a commitment since the law-giver could never know whether the agent had indeed committed to the body of the obligation.”
- Bergstra & Burgess, “A Static Theory of Promises”
Trying to make promises about the behavior of the other nodes
Autonomous Actors that:
• Make progress towards promised desired state• Expose interfaces to allow others to verify promises• Can promise to take certain behaviors in the face of failure of others
What is Choreography?
Introducing Habitat• Application automation with the app• Portable, immutable packages• Masterless architecture• Built-in runtime configuration• Built-in service discovery• Built-in security• Exports to Docker containers• Fully open-source
https://www.habitat.sh/
Conclusions
Don’t build or choose things requiring orchestrationBuild choreography into systemsMake management systems fleet-aware, not node-aware
Thank you!