O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Próximos SlideShares
What to Upload to SlideShare
What to Upload to SlideShare
Carregando em…3
1 de 9

Mais Conteúdo rRelacionado

Você Pode Gostar Também

Audiolivros relacionados

Gratuito durante 30 dias do Scribd

Ver tudo

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