hypershell - sameen jalal, facebook - devopsdays tel aviv 2016
TRANSCRIPT
![Page 1: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016](https://reader036.vdocument.in/reader036/viewer/2022082415/5871524f1a28ab8e5b8b475f/html5/thumbnails/1.jpg)
![Page 2: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016](https://reader036.vdocument.in/reader036/viewer/2022082415/5871524f1a28ab8e5b8b475f/html5/thumbnails/2.jpg)
Hypershell
Sameen JalalProduction Engineer, Cache -> Security
![Page 3: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016](https://reader036.vdocument.in/reader036/viewer/2022082415/5871524f1a28ab8e5b8b475f/html5/thumbnails/3.jpg)
Hypershell is a push-based massively parallel command execution tool
What is Hypershell?
![Page 4: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016](https://reader036.vdocument.in/reader036/viewer/2022082415/5871524f1a28ab8e5b8b475f/html5/thumbnails/4.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082415/5871524f1a28ab8e5b8b475f/html5/thumbnails/5.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082415/5871524f1a28ab8e5b8b475f/html5/thumbnails/6.jpg)
• 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](https://reader036.vdocument.in/reader036/viewer/2022082415/5871524f1a28ab8e5b8b475f/html5/thumbnails/7.jpg)
• Emergency situations• Nothing else!
What SHOULD it be used for?
![Page 8: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016](https://reader036.vdocument.in/reader036/viewer/2022082415/5871524f1a28ab8e5b8b475f/html5/thumbnails/8.jpg)
• 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](https://reader036.vdocument.in/reader036/viewer/2022082415/5871524f1a28ab8e5b8b475f/html5/thumbnails/9.jpg)
agent target
ssh
agent vs target
![Page 10: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016](https://reader036.vdocument.in/reader036/viewer/2022082415/5871524f1a28ab8e5b8b475f/html5/thumbnails/10.jpg)
agent target
ssh
agent vs target vs database
database
![Page 11: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016](https://reader036.vdocument.in/reader036/viewer/2022082415/5871524f1a28ab8e5b8b475f/html5/thumbnails/11.jpg)
clusters, racks and arbitrary groups of entities vs database
agents targets
database
![Page 12: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016](https://reader036.vdocument.in/reader036/viewer/2022082415/5871524f1a28ab8e5b8b475f/html5/thumbnails/12.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082415/5871524f1a28ab8e5b8b475f/html5/thumbnails/13.jpg)
server vs clusters of agents vs database = job
server
databases
c1c2
c3
![Page 14: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016](https://reader036.vdocument.in/reader036/viewer/2022082415/5871524f1a28ab8e5b8b475f/html5/thumbnails/14.jpg)
serverCLI / script / origin
job invocationthrift
![Page 15: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016](https://reader036.vdocument.in/reader036/viewer/2022082415/5871524f1a28ab8e5b8b475f/html5/thumbnails/15.jpg)
jobs c1c2
c3c4
c5
c6c7
c8
c9
job 1
job 2
server
origin
![Page 16: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016](https://reader036.vdocument.in/reader036/viewer/2022082415/5871524f1a28ab8e5b8b475f/html5/thumbnails/16.jpg)
• 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](https://reader036.vdocument.in/reader036/viewer/2022082415/5871524f1a28ab8e5b8b475f/html5/thumbnails/17.jpg)
“hypershell...”
— Uncle Ben“With great power comes great responsibility.”
— Engineers
![Page 18: Hypershell - Sameen Jalal, Facebook - DevOpsDays Tel Aviv 2016](https://reader036.vdocument.in/reader036/viewer/2022082415/5871524f1a28ab8e5b8b475f/html5/thumbnails/18.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082415/5871524f1a28ab8e5b8b475f/html5/thumbnails/19.jpg)