Everything you need to know before building your first SAM packaged application

This tech blog covers our experience building our first SAM packaged server-less application. SAM stands for Serverless Application Model and it is AWS’s specification for packaging its lambda functions and auxiliary components in a reusable way enabling you to share (and eventually maybe even charge) others for access to your server-less applications.

Since lots of our customers rely on our lambda integration to process and analyze their S3 stored files, it made sense for us to investigate how much benefit a customer really gets from a SAM packaged application, after all, deploying our current lambda integration is a sad 10+ step process — so we set out to build a SAM packaged webhook debug tool named Guarana.

Before building your first SAM package application, these are the things you should know:

The Repository

The SAM CLI

Packaging your first application

$ sam package --s3-bucket scanii --s3-prefix sam/guarana  --template-file template.yml --output-template-file guarana.yaml

Deployment and ongoing maintenance


Final thoughts

It would be easy to discount SAM applications as a niche AWS feature that will be used by few, even with all its rough edges, there’s still obviously value in it. If you truly believe in a server-less future with small snippets of code as the smallest units of deployment then some packaging standard makes total sense, specially if secondary providers eventually get on board to support term.

Last updated on 08/30/2018.