3 ms·
Docker executes long running processes that communicate over HTTP/TCP. AWS has ECS, Fargate and has announced K8S support soon. Lambda is for executing individ
by sudhirj 9y ago
Docker executes long running processes that communicate over HTTP/TCP. AWS has ECS, Fargate and has announced K8S support soon.
Lambda is for executing individual functions, which implies that the execution environment must be language aware (could get away with JVM dynamic invoke or the .NET equivalent as well maybe). The way parameters are passed in, the concurrency model etc are all language specific.
- jdub 9y agoAnd yet, the golang runtime for Lambda is a long* running process that communicates over TCP. :-) It would be entirely possible to create a language agnostic Lambda runtime model, be it stdin/out/err, or TCP. * relatively so
- sudhirj 9y agoThat's already around https://github.com/apex/up https://github.com/apex/up
- jdub 9y agoNot as a wrapper, but an official Lambda runtime model. This Go release points to a much more interesting way of doing so (RPC) than what I had previously imagined (stdin/out/err).
- sudhirj 9y agoYeah, the problem with RPC is that there's no one RPC to rule them all, like there is with JSON or HTTP. They'll have to build RPC wrappers for each language / VM, and choose the most popular RPC packager if there's isn't one in the stdlib.
- lmm 9y agoCouldn't they pick an existing, established cross-language RPC system like Thrift or gRPC?