Orchestration? You Don't Need Orchestration. What You Want Is Choreography by Julian Dunn, Chef

25
Don’t Orchestrate, Choreograph! Julian Dunn Product Manager, Chef

Transcript of Orchestration? You Don't Need Orchestration. What You Want Is Choreography by Julian Dunn, Chef

Page 1: Orchestration? You Don't Need Orchestration. What You Want Is Choreography by Julian Dunn, Chef

Don’t Orchestrate, Choreograph!

Julian DunnProduct Manager, Chef

Page 2: Orchestration? You Don't Need Orchestration. What You Want Is Choreography by Julian Dunn, Chef

What is orchestration?

Page 3: Orchestration? You Don't Need Orchestration. What You Want Is Choreography by Julian Dunn, Chef

An ordered set of operations

Across a set of independent machines

Connected to an orchestrator only via a network.

Page 4: Orchestration? You Don't Need Orchestration. What You Want Is Choreography by Julian Dunn, Chef
Page 5: Orchestration? You Don't Need Orchestration. What You Want Is Choreography by Julian Dunn, Chef

Humans acting on Visio acting on machines

Humans acting on code acting on machines

Page 6: Orchestration? You Don't Need Orchestration. What You Want Is Choreography by Julian Dunn, Chef

An ordered set of operations

Defined in code

Across a set of independent machines

Connected to an orchestrator only via a network.

Page 7: Orchestration? You Don't Need Orchestration. What You Want Is Choreography by Julian Dunn, Chef
Page 8: Orchestration? You Don't Need Orchestration. What You Want Is Choreography by Julian Dunn, Chef

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

Page 9: Orchestration? You Don't Need Orchestration. What You Want Is Choreography by Julian Dunn, Chef
Page 10: Orchestration? You Don't Need Orchestration. What You Want Is Choreography by Julian Dunn, Chef
Page 11: Orchestration? You Don't Need Orchestration. What You Want Is Choreography by Julian Dunn, Chef
Page 12: Orchestration? You Don't Need Orchestration. What You Want Is Choreography by Julian Dunn, Chef

Failure: Hard to Recover From

Page 13: Orchestration? You Don't Need Orchestration. What You Want Is Choreography by Julian Dunn, Chef

Orchestrator is a SPOF

Page 14: Orchestration? You Don't Need Orchestration. What You Want Is Choreography by Julian Dunn, Chef

Huge Cognitive Load

Page 15: Orchestration? You Don't Need Orchestration. What You Want Is Choreography by Julian Dunn, Chef

Mark Burgess: Promise Theory

Page 16: Orchestration? You Don't Need Orchestration. What You Want Is Choreography by Julian Dunn, Chef
Page 17: Orchestration? You Don't Need Orchestration. What You Want Is Choreography by Julian Dunn, Chef

“You Will Feed My Cat”

Page 18: Orchestration? You Don't Need Orchestration. What You Want Is Choreography by Julian Dunn, Chef

“Do You Promise To Feed My Cat?”

Page 19: Orchestration? You Don't Need Orchestration. What You Want Is Choreography by Julian Dunn, Chef

“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”

Page 20: Orchestration? You Don't Need Orchestration. What You Want Is Choreography by Julian Dunn, Chef

Trying to make promises about the behavior of the other nodes

Page 21: Orchestration? You Don't Need Orchestration. What You Want Is Choreography by Julian Dunn, Chef

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?

Page 22: Orchestration? You Don't Need Orchestration. What You Want Is Choreography by Julian Dunn, Chef
Page 23: Orchestration? You Don't Need Orchestration. What You Want Is Choreography by Julian Dunn, Chef

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/

Page 24: Orchestration? You Don't Need Orchestration. What You Want Is Choreography by Julian Dunn, Chef

Conclusions

Don’t build or choose things requiring orchestrationBuild choreography into systemsMake management systems fleet-aware, not node-aware

Page 25: Orchestration? You Don't Need Orchestration. What You Want Is Choreography by Julian Dunn, Chef

Thank you!