{"id":15056799,"url":"https://github.com/januff/easy-easier-easiest-lambdas","last_synced_at":"2026-03-02T19:08:10.015Z","repository":{"id":80788381,"uuid":"345468921","full_name":"januff/easy-easier-easiest-lambdas","owner":"januff","description":"Quickstarts for AWS Lambda (“serverless”) functions in React, with and without AWS tooling. Functions connect to a serverless Apache Cassandra database.","archived":false,"fork":false,"pushed_at":"2021-05-16T19:29:19.000Z","size":11478,"stargazers_count":41,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-24T05:51:44.945Z","etag":null,"topics":["amplify","amplify-cli","apache-cassandra","aws-lambda","cassandra","cassandra-database","create-react-app","database-as-a-service","datastax","jamstack","netlify","nextjs","serverless","serverless-functions","vercel","vercel-serverless-functions"],"latest_commit_sha":null,"homepage":"https://januff.github.io/easy-easier-easiest-lambdas/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/januff.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-07T22:34:25.000Z","updated_at":"2024-09-02T04:56:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"36f07bbd-bbc4-4542-9dfa-f4a0748cc704","html_url":"https://github.com/januff/easy-easier-easiest-lambdas","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/januff%2Feasy-easier-easiest-lambdas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/januff%2Feasy-easier-easiest-lambdas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/januff%2Feasy-easier-easiest-lambdas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/januff%2Feasy-easier-easiest-lambdas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/januff","download_url":"https://codeload.github.com/januff/easy-easier-easiest-lambdas/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248158717,"owners_count":21057188,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amplify","amplify-cli","apache-cassandra","aws-lambda","cassandra","cassandra-database","create-react-app","database-as-a-service","datastax","jamstack","netlify","nextjs","serverless","serverless-functions","vercel","vercel-serverless-functions"],"created_at":"2024-09-24T21:56:33.286Z","updated_at":"2026-03-02T19:08:09.978Z","avatar_url":"https://github.com/januff.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AWS Lambdas: Easy, Easier, Easiest 🍳 #\n## Step-by-step serverless functions using Amplify, Netlify, and/or Vercel. ##\n\n\u003cstrong\u003e“Where AWS becomes overkill are typical JAMstack apps. A static site with lots of frontend logic. Hosting those on AWS is a pain whereas Netlify and Vercel make them a core feature.”\u003c/strong\u003e -Swizec Teller, *AWS, Vercel, Netlify, or Firebase?* ([Serverless Handbook, Feb 2021](https://serverlesshandbook.dev/serverless-flavors/))\n\nBack in the day, using AWS Lambdas in your Jamstack app could be a pain indeed (eg. [for me, last year](https://joeyanuff-33180.medium.com/6-tricks-for-simpler-cloud-cv-1036b99ac791).) But these days Amazon's \u003ccode\u003e\u003cstrong\u003eAmplify CLI\u003c/strong\u003e\u003c/code\u003e has greatly simplified Lambda configuration, while \u003ccode\u003e\u003cstrong\u003eNetlify\u003c/strong\u003e\u003c/code\u003e and \u003ccode\u003e\u003cstrong\u003eVercel\u003c/strong\u003e\u003c/code\u003e offer workflows that make Lambda setup even simpler. \n\nThis repo collects step-by-step deployment instructions for all three platforms. Where the steps occur on a web dashboard or a CLI, I've included screencast GIFs to illustrate the interaction. (In a [companion essay on _Medium_](https://joeyanuff-33180.medium.com/aws-lambdas-easy-easier-easiest-823e71c02bd9), I appraise the platforms for a comic book translation app I'm developing.) \n\n### AWS Lambda Quickstarts ⏲️ ###\n\n\n\u003ccode\u003e\u003cstrong\u003eAmplify CLI With Create React App\u003c/strong\u003e\u003c/code\u003e\n\n\u003cp\u003e\u003c/p\u003e\n\n📔 \u003ca href=\"amplify-with-create-react-app\"\u003eAmplify Step-by-Step\u003c/a\u003e ➡️\n\n\u003ca href=\"datastax-serverless-db\"\u003e\u003c/a\u003e\n\n\u003cp\u003e\u003c/p\u003e\n\n\u003ctable\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\u003cth\u003e\n      📖 Official Amplify Docs: \u003ca href=\"https://docs.amplify.aws/cli/function\"\u003eFunctions Overview\u003c/a\u003e\n    \u003c/th\u003e\u003c/tr\u003e\n  \u003c/thead\u003e\n\u003c/table\u003e\n\n\u003cp\u003e\u003c/p\u003e\n\n\n\u003ccode\u003e\u003cstrong\u003eNetlify With Create React App\u003c/strong\u003e\u003c/code\u003e  \n\n\u003cp\u003e\u003c/p\u003e\n\n📔 \u003ca href=\"netlify-with-create-react-app\"\u003eNetlify Step-by-Step\u003c/a\u003e ➡️\n\n\u003cp\u003e\u003c/p\u003e\n\n\u003ctable\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\u003cth\u003e\n      📖 Official Netlify Docs: \u003ca href=\"https://www.netlify.com/products/functions/\"\u003eNetlify Functions\u003c/a\u003e\n    \u003c/th\u003e\u003c/tr\u003e\n  \u003c/thead\u003e\n\u003c/table\u003e\n\n\u003cp\u003e\u003c/p\u003e\n\n\u003ccode\u003e\u003cstrong\u003eVercel With Next.js\u003c/strong\u003e\u003c/code\u003e\n\n\u003cp\u003e\u003c/p\u003e\n\n📔 \u003ca href=\"vercel-with-next-js\"\u003eVercel Step-by-Step\u003c/a\u003e ➡️\n\n\u003cp\u003e\u003c/p\u003e\n\n\u003ctable\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\u003cth\u003e\n      📖 Official Vercel Docs: \u003ca href=\"https://vercel.com/docs/serverless-functions/introduction\"\u003eServerless Functions\u003c/a\u003e\n    \u003c/th\u003e\u003c/tr\u003e\n  \u003c/thead\u003e\n\u003c/table\u003e\n\n\n### Apache Cassandra-as-a-Service 👩‍🚀 ###\n\nThe database package in the installation and authentication steps is DataStax's \u003ca href=\"https://www.npmjs.com/package/@astrajs/collections\"\u003e@astra/collections JavaScript library\u003c/a\u003e, which I'm using to connect to a Cassandra NoSQL database, newly accessible as a pay-as-you-go serverless resource. (\u003ca href=\"https://astra.datastax.com/register\"\u003eFree DataStax account\u003c/a\u003e required.)\n\n\u003cp\u003e\u003c/p\u003e\n\n📔 \u003ca href=\"datastax-serverless-db\"\u003eAstra Step-by-Step\u003c/a\u003e ➡️\n\n\u003cp\u003e\u003c/p\u003e\n\n### Some Helpful Explanations 💬 ###\n\n\u003ccode\u003e\u003cstrong\u003efor SERVERLESS\u003c/strong\u003e\u003c/code\u003e\n\n\u003cstrong\u003e“You can use Serverless Functions to solve (almost) any backend needs you have without deploying and maintaining a server yourself.”\u003c/strong\u003e\n-James Q. Quick, \u003cem\u003eServerless Functions, Netlify vs Vercel, and the Jamstack\u003c/em\u003e (\u003ca href=\"https://morioh.com/p/dc014b3356d2\"\u003eYouTube, Dec 10 2020\u003c/a\u003e)\n\n\n\u003cp\u003e\u003c/p\u003e\n\n\u003cdetails closed\u003e\n\u003csummary\u003e [+] \u003c/summary\u003e\n\n\u003cp\u003e\u003c/p\u003e\n\n\u003cstrong\u003e“When serverless started, it was about making the lives of backend developers easier. As it’s progressing, we’re seeing more frontend focused teams using serverless to build APIs and access data that wasn’t easily accessible. Serverless is going mainstream.”\u003c/strong\u003e\n-Matt Biilmann, \u003cem\u003eInterview with Matt Biilmann, CEO and co-founder, Netlify\u003c/em\u003e (\u003ca href=\"https://jaxenter.com/biilmann-jamstack-interview-173821.html\"\u003eJaxenter, Feb 16 2021\u003c/a\u003e)\n\n\u003cp\u003e\u003c/p\u003e\n\n\u003ccode\u003e\u003cstrong\u003efor JAMSTACK\u003c/strong\u003e\u003c/code\u003e\n\n\n\u003cp\u003e\u003c/p\u003e\n\n\n\u003cstrong\u003e“For static content, everything is prebuilt and cached. For dynamic content, companies build microservices that are loaded on demand and that can scale easily.”\u003c/strong\u003e\n-Romain Dillet, \u003cem\u003eCloudflare is testing a Netlify competitor to host Jamstack sites\u003c/em\u003e (\u003ca href=\"https://techcrunch.com/2020/12/07/cloudflare-is-testing-a-netlify-competitor-to-host-jamstack-sites/)\"\u003eTechCrunch, Dec 7 2020\u003c/a\u003e)\n\n\n\u003cp\u003e\u003c/p\u003e\n\n\n\u003cstrong\u003e“You effectively remove the performance tradeoff of serverless because static elements of the website are pre-rendered, and then a serverless backend is delivered either via APIs or right from the network edge in response to request/response logic.”\u003c/strong\u003e\n-Matt Biilmann, \u003cem\u003eInterview with Matt Biilmann, CEO and co-founder, Netlify\u003c/em\u003e (\u003ca href=\"https://jaxenter.com/biilmann-jamstack-interview-173821.html\"\u003eJaxenter, Feb 16 2021\u003c/a\u003e)\n\n\n\u003cp\u003e\u003c/p\u003e\n\n\n\u003ccode\u003e\u003cstrong\u003efor VERCEL\u003c/strong\u003e\u003c/code\u003e\n\n\n\u003cp\u003e\u003c/p\u003e\n\n\n\u003cstrong\u003e“Unlike Netlify, Vercel simplifies its serverless function signature by only accepting requests and responses as parameters, which is achieved by wrapping the original AWS Lambda environment and simplifying it only for serving content purposes. Brilliant idea!”\u003c/strong\u003e\n-Emrah Samdan, \u003cem\u003eWhy do companies invent their own serverless functions?\u003c/em\u003e (\u003ca href=\"https://blog.thundra.io/why-do-companies-invent-their-own-serverless-functions\"\u003eThundra Blog, Jul 2020\u003c/a\u003e)\n\n\n\u003cp\u003e\u003c/p\u003e\n\n\u003c/details\u003e\n\n\n\u003cp\u003e\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjanuff%2Feasy-easier-easiest-lambdas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjanuff%2Feasy-easier-easiest-lambdas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjanuff%2Feasy-easier-easiest-lambdas/lists"}