building composable serverless apps with iopipe
TRANSCRIPT
Apache 2.0 licensedComposion / Chaining
Code sharingScatter/Gather
Run anywhere (not just AWS)NodeJS module
(Go library - experimental)CLI tool
is...
GPU
EXEC
module.exports = iopipe.define( function(event, context) { context.done(event) } )
Docker
Raspberry Pi
Local CPU
Ship, Run, Deploy anywhere
Functional functions- map // "for each"- tee // fork- reduce // array to scalar- etc...
Functions that take outside parameters and return composable functions.
Compatible with Rambda
Amazon Echo trademark of Amazon, Inc. All rights reserved.
"Alexa,If someone approaches my door with a weapon,
text me."
?I ' m sor r y Dave,I cannot do t hat . ?
- - Hal 9000
2001: A Space Odyssey (1968) - IMDb
1. Find/discover/identify door camera2. Create workflow:
a. Take snapshot(s) using camera API (or accept as event)b. Upload snapshot(s) to Google Vision APIc. Retrieve results JSON: [
"weapon", "gun", "person", "male", etc...]
d. Condition: if not person && weapon { exit}
e. Use API to text $number3. Register event (webhook, cron job, etc).
var iopipe = require("iopipe")()var Dockaless = require("dockaless")var dals = Dockaless()
export.handler = iopipe.define( iopipe.property("url"), iopipe.fetch, dals.make_lambda("ffmpeg", [ "-i", "pipe:0", "-vf", "scale=320:240", "pipe:1" ]))
How often is a function called?How much memory does it use?
How long does it run?Estimate deployment/usage costs
How functions can be composed.