/ #tooling #dev 

Notes on Cloud Providers Offerings for Serverless

I just had some notes I wanted to share regarding using serverless functions on a couple of different cloud providers.

Microsoft Azure

  • My go-to provider for functions
  • Supports secrets for things like connection strings
  • Can be configured to use inputs and outputs from Azure services, already authenticated
  • Works best with functions written in C# (non-crx)
  • C# script (crx) is not really supported in IDE’s, mostly to do with importing libraries
  • Node.js and Python are still not quite mature yet
  • C# projects have the fastest cold-startup, while Node.js is the slowest
  • Python is always slow to run regardless, because it’s run through some type of virtualised environment that you have to set up yourself
  • Good luck using Python wheels or pip
  • Function runtime is based on input and output - if for example you send an output, the function will be terminated soon-after, rather than letting the function terminate in code. This makes eventual data design impossible.

Google Cloud

  • Node.js functions only
  • Slightly slower to run overall, but doesn’t appear to have a cold-startup that I could see
  • Function runtime is NOT based on input and output, functions can terminate programmatically
  • Secrets storage, like environment variables, are not supported
  • Git integration was impossible for my workflow for the above reason, had to paste into the web editor with my secrets in plaintext.
  • Google Cloud libraries are automatically imported, and already authenticated based on the account running the function

Matt Crook

Futurist, technologist, and student at Auckland Uni