This is probably not a surprise for folks who have been using Python or Node for cloud functions, but it is something to think about.
Other FaaS providers don't have this requirement, and just take a Linux x86_64 binary.
This is probably not a surprise for folks who have been using Python or Node for cloud functions, but it is something to think about.
Other FaaS providers don't have this requirement, and just take a Linux x86_64 binary.
This is probably not a surprise for folks who have been using Python or Node for cloud functions, but it is something to think about.
I've been thinking of using this approach for a golang MMO game SaaS which is really an aggregation of a bunch of FaaS lambdas tied to an account. What upload allows you to do, is to do a syntactic scan of all of the code, particularly the package imports and function calls. All of the above can be whitelisted, which adds security. Also, you can munge the function calls against a generated munged version of the available libraries, which also adds security. (In addition to using containers under the covers.)
What I'm describing is for implementing MMOs, though.
The toolchain is completely unmodified.
Disclaimer: I work at GCP and worked on this product.
AWS announced 'native' Golang support last year - since then there hasn't been a need to use a Python or node 'shim' to bootstrap the golang executable like this. You just upload your compiled binary to S3 and provide the path to AWS lambda
Both tools are necessary for fast engineering, but in different contexts.
A lot of developers have this preference for client side code. Since the early days heroku has been building the client side bundles for rails.
Uploading source code is a dealbreaker for me because I do not trust Google or myself. Google probably has language in their terms that they may do whatever they want with anything you upload to them.
I also do not trust myself to properly configure security parameters around this with the risk of leaking source code.
Binaries are a great strength of Go. Too bad this platform doesn't use them. I will take a peek at the new Container platform that they are building, but that sounds more heavyweight, which probably comes with a higher price. (I have not seen any actual pricing)