While developing this code using the existing repository, I repeatedly needed to update just the GraphQL portion of the stack. Using the Serverless Framework and its ability to update a single Lambda function made this very easy. With the shortcut in the Makefile
, deploying a single function looks like the following:
root@7466ff009753:/code# make deploy function=GraphQL cd serverless && sls deploy function -s dev -f GraphQL Serverless: Packaging function: GraphQL... Serverless: Excluding development dependencies... Serverless: Uploading function: GraphQL (5.74 MB)... Serverless: Successfully deployed function: GraphQL root@7466ff009753:/code# make deploy
It's hard to give exact numbers, but deployments like this after iteration on code take in the order of two-five seconds. Deployment speed will mostly depend on your upload speeds and the final size of the application package.
Of course, iterating and adding new code means writing more tests. Serverless...