aws-lambda-simple-service

Express in Deployments

A simple Express application built with the intent to test an Express server running in different environments (local, docker, lambda).

Usage

The available make commands can be listed with make help:

Usage: make <target>
  help        This help text.

Serverless
  deploy      Deploy the lambda with serverless
  remove      Destroys the instructure

Express
  local       Locally run the app

Docker
  docker      Build and run in a docker container

Notes

Simple service with the intent to be used for some AWS work involving cloud costing, cold starts and on-demand provisioning of services. There are a couple projects that I’m looking at that don’t need a server with 100% uptime. An on-demand server would be ideal, as it significantly reduces the costs associated with the server.

Additionally if it is running in a FaaS infrastructure, then there isn’t a need to worry about any real infrastructure. Anything that is a bit complex can be addressed with serverless or terraform (if necessary).

It does raise some concerns about how to perform monitoring and balance concerns (costing / on-demand approach).

On Usages

In terms of project layout, the Makefile works to act as a coordinater for all the components. It is less than an ideal, but I aimed to keep the structure as simple as possible. With it I can pretty easily test some use cases with docker and a server app. The split off app/ avoids the over-reliance on serverless or AWS lock-in.