Skip to content

Technologies Serverless

Rhett Lowe edited this page Apr 16, 2020 · 2 revisions

Serverless computing is pretty simple, conceptually. It can be complicated to implement, but luckily we don't have to implement it, we only need to use it because AWS implements it for us, via AWS Lambda.

Serverless doesn't actually mean "There is no server" any more than "The Cloud" means "There is no server." There is still a server somewhere running your code, you just don't have to care about its security, location, cluster size, workload, age, operating system, file system, access permissions, etc. The whole server cluster farm is guaranteed and maintained by other people and we only provide a thing to run somewhere in that server cluster farm. In that regard, we don't care about a server, therefore it is "Serverless."

Another name for serverless is Function as a Service (FaaS). I find this name to be more appropriate because instead of promising a lack of server it is more to the point: "We run your function, as you write it, and charge you for it." Because that is what serverless is really: you write a function to do something, dictate when it gets run, pay for the time spent to do the task (by the 100ms).

There are many ways to achieve this, but Lambda is the one we will work with. There are a couple ways to work with Lambda, but we will simplify the process by working with the Serverless CLI.

Further Reading

Please read the overview of AWS in Serverless Computing

Serverless CLI

The Serverless CLI is a great tool for working with serverless architecture. My favorite of its features include:

  • Dictating where to put your initialization code
  • Automatically working with AWS CloudFormation to create/connect databases, S3 Buckets, API Gateways, and other resources
  • Automatically zipping, uploading a version to S3, and deploying from S3 your whole function or, if your function is part of a larger system, a whole mess of functions.
  • Syncing a Github branch for post-commit updating of the function(s)

Serverless has a free tier which allows for small project collaboration. The not-free tier is a bit pricey, but is probably worth it.

Further Reading

Please read the overview and skim the docs of Serverless CLI

Try This

Do the getting started portion of the Serverless Docs. Once done, make a hello-world application, your choice of content, on AWS Lambda using the CLI. Optionally, you may link it to a Github repo and deploy as a post-hook.

Clone this wiki locally