hypershell - sameen jalal, facebook - devopsdays tel aviv 2016

19

Upload: devopsdays-tel-aviv

Post on 08-Jan-2017

31 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016
Page 2: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016

Hypershell

Sameen JalalProduction Engineer, Cache -> Security

Page 3: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016

Hypershell is a push-based massively parallel command execution tool

What is Hypershell?

Page 4: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016

Hypershell is a push-based massively parallel command execution tool

$ hsh exec <targets> <command>

What is Hypershell?

Page 5: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016

Hypershell is a push-based massively parallel command execution tool

$ hsh exec <targets> <command> $ hsh deploy <targets> <file> [location]

What is Hypershell?

Page 6: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016

• Ad hoc queries• Service deployment• System and service configuration• Monitoring and Reporting• Emergency situations• … many other things

What could it be used for?

Page 7: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016

• Emergency situations• Nothing else!

What SHOULD it be used for?

Page 8: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016

• Massively scalable• Flexible• Easy to specify targets• Persistent results• Easy to use• Command execution tool works• There is a maintainer

Why was it built?

Page 9: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016

agent target

ssh

agent vs target

Page 10: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016

agent target

ssh

agent vs target vs database

database

Page 11: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016

clusters, racks and arbitrary groups of entities vs database

agents targets

database

Page 12: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016

server vs agents vs database

agents

tar-gets

cluster / rack /host group

server

database

thrift

Page 13: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016

server vs clusters of agents vs database = job

server

databases

c1c2

c3

Page 14: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016

serverCLI / script / origin

job invocationthrift

Page 15: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016

jobs c1c2

c3c4

c5

c6c7

c8

c9

job 1

job 2

server

origin

Page 16: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016

• Staged jobs with confirmation between each step• Explicit read-only vs write invocations• Make usage more visible with invocation monitoring• Security logging• Job invocation approval from service owners• Tiered authentication

Features?

Page 17: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016

“hypershell...”

— Uncle Ben“With great power comes great responsibility.”

— Engineers

Page 18: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016

Thrift: http://thrift.apache.org/static/files/thrift-20070401.pdf

Services using thrift:https://code.facebook.com/posts/1468950976659943/

Resources

Page 19: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016