2 min read · tagged scad
No explicit deployment prior to execution, deploy while executing
def my_fun(b):
...
pwex = pywren.default_executor()
res = pwex.map(my_fun, params)
Deployment with dependencies (requirements.txt
references Lambada framework)
def my_fun(b):
...
tune = Lambada(role=..., region=..., memoery=128)
@tune.dancer
def my_fun_lambda(e, c):
my_fun(e['stddev'])
Process of automated decomposition of software into a set of function-level services: code analysis + transformation + deployment + on-demand activation
Entry points: no transformation of main function
Function definitions:
Function calls:
Monads:
Open research problems
Provider specific
Abstraction approach: Serverless FW
serverless create --template spotinst-nodejs --path P
serverless config credentials --provider sptinst --token T --account A
serverless deploy function -f hello
serverless invoke -f hello
serverless.yml:
service: hello
provider:
name: spotinst
spotinst:
environment:...
plugins:
- serverless-spotinst-functions
functions:
hello:
handler: index.main
runtime: nodejs8
memory: 128
timeout: 20
access: public
Prototyping approach: Localstack
Emulation of commercial FaaS offerings and includion into CI
localstack start [--docker]
alias aws="aws --endpoint-url=http://localhost:4574"
aws lambda list-functions ...
Problems
Tools
K-rules: Analyse -> Plan -> Execute -> Monitor
Analyse
Plan
Execute
Monitor
Feeds into:
Simon Anliker Someone has to write all this stuff.