Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

OpenWhisk Go/Swift/Binaries Runtime

481 Aufrufe

Veröffentlicht am

The new high performing runtime for GO/Swift and generic Binaries

Veröffentlicht in: Software
  • Login to see the comments

  • Gehören Sie zu den Ersten, denen das gefällt!

OpenWhisk Go/Swift/Binaries Runtime

  1. 1. OpenWhisk New Runtimes for Go/Swift/Binary Michele Sciabarrà michele@sciabarra.com
  2. 2. What is it? • At the core, a new runtime – born to support GO Actions – designed to be efficient than the docker skeleton – action loop • It was extended to support – generic binaries (and scripts!) – compilation of go actions in source code – improved swift actions – images-as-compilers for offline compilation
  3. 3. A quick reminder why the "action loop" Test: 100 threads executing 100 actions executed on OSX using Docker for Mac (executables compiled for linux-amd64) Go performances against DockerSkeleton
  4. 4. The ActionLoop "Protocol" X fd3 stdout +
  5. 5. ActionLoop: a simple concept • Works for any binary executable – very similar to an unix pipe – it is actually implemented with pipes • Provides high performances – because the binary is started once – and it is kept running • The simple idea: – A binary must: – Loop on • read one line of text in stdin • decode it as a json • execute the action • log in stdout and stderr • output in fd3 – Why fd3? long story short: compatibility
  6. 6. ActionLoop in BASH!
  7. 7. ActionLoop Images actionloop actionloop- golang-1.9 actionloop- swift-v4.1 Supports Generic Binaries AND Generic Scripts (BASH, Haskell...) Supports Generic Binaries AND GoLang Sources Supports Generic Binaries AND Swift Sources replace or complementing dockerskeleton?
  8. 8. GoLang/ Swift samples The images can compile those actions
  9. 9. New Feature: offline compilation • Images actionloop-golang-v1.9 and actionloop-swift-v4.1 compiles on the fly • They can be also used as offline compilers: – place your source in src – docker run -v $PWD/src:/src –v $PWD/out:/out actionloop-golang-v1.9 compile – the binary is left in out/main