July 11, 2018

Anyone running a serverless app on AWS?

Hi guys. I'm trying to compile a list of case studies from people using serverless architectures on AWS and I've read several indie folks here talking about how they used serverless for their apps. (I've used it too for my own SaaS app – makes a lot of sense for a 1-person business).

So my question is: do you have a blog post describing your app's serverless architecture that you could share with me?

I'm talking a critical warts-and-all analysis of what worked well for you and what didn't. I'm not talking about the fluff that Amazon put out themselves on their own marketing sites.

Here's my list so far.

My goal is to use this as a resource for people thinking about building a new product with a serverless architecture, so they know what they're getting themselves in for before starting.


  1. 3

    We've built a product called Clay (clay.run) that let's other build serverless applications easily. We initially built it as a node.js application that creates serverless functions then used the product to migrate all our internal APIs into serverless functions that we created using it. I'm about to document our experience of doing that and all the issues that we faced. I've also written a short post about the issues we faced when trying to use binaries in Lambda functions:

    https://medium.com/clay-labs/aws-lambdas-binary-problem-10aece2ca6c2

  2. 2

    My consulting group made a serverless app on AWS — wrote a piece about it just recently:

    Building a serverless, on-demand data science solution (IH article)

    edit: formatting

  3. 1

    https://www.watermark.ink is completely built on Firebase. Let me know if you have any questions regarding it.

  4. 1

    I run the submissions system for my magazine using a serverless application based on AWS lambdas:

    http://compellingsciencefiction.com/blog/2016-11-10.html

    Since I wrote that article I've actually built a more sophisticated serverless web app to read and rate submissions using AWS Chalice.

  5. 1

    I don't have a blogpost to share but my experience with the serverless framework (on AWS):

    I loved almost everything about it except:

    • DynamoDB, coming from a Mongo background, I found it much more restrictive

    • a few problems with uploading and showing binary files with lambda (images included)

    • a bunch of bugs (most solvable) that still makes it feel not 100% stable

    1. 1

      That's really interesting Vincent. For my SaaS app, I use a managed mongo replica set through mLab. It's good but expensive so have considered moving to something like DynamoDb. If Amazon offered a managed mongo, I'd be all over it.

      1. 1

        Same, I'd loove a simple managed Mongo offer from Aws or Gcloud. I also don't want to use DynamoDb in case I want to move to another service in the future, it would lock me to AWS.

  6. 1

    Yes Lamba and Firebase functions.

    My primary use case is to prevent having API keys on the client for mobile/desktop apps.

    Nothing fancy, the App calls a serverless function where the necessary API key resides and the function performs, well the function :)

  7. 1

    I built two chatbots for Slack / FB Messenger, / etc. that run on AWS Lambda. I experimented with a few serverless frameworks and ended up using Claudia.js... there's even a couple threads in the issue tracker for Claudia that have to do with one of the apps I was building and getting it to work with delayed responses.

    Where will this list be compiled? I could try to write some details on my implementation if that would be helpful.

    1. 1

      Hi Christian, the list is here.

      If your apps are in production with real users then I'll definitely add any article you write to the list.

  8. 1

    Thanks for all the suggestions so far guys, some really good ones. I'm hoping to get these added to the list over the next few days, I'll let you know when this is done.

  9. 1

    I didn't write a blog post, but I have an app which accepts any url and grabs that url, loads it via https://proxycrawl.com grabs the response and parses the title, metadata, and headers. Then they get stored in another external app which isn't "serverless" but the execution of loading the url and parsing it, it's made via serverless so I only pay per usage and if I don't do any url I don't pay.

  10. 1

    Yes! Both the MadSkills web site and Front Desk site/Alexa skill/Slack app are serverless. I have CloudFront in front of S3 and ApiGateway/Lambda backed by DynamoDb.

    I created (and released) a serverless framework plugin to deploy this stack, checkout fullstack-serverless on npm. I am working on a home page for it with diagrams and explanation of the deployment as well as example code (this will be part of my Tribe of Five writing challenge). The landing page will be at madskills.io/fullstack-serverless, maybe by the end of the day... maybe :)

  11. 1

    I don't have a post, but I'm using a few Lambdas for my next project.

    The whole architecture isn't serverless; the Lambdas are basically used to offload work from my main server. Basically, my main server handles the majority of the work, and then spawns threads which make requests on the lambda servers for specialized tasks.

  12. 1

    Hey, here is the stack behind JobBuddy, a side project I've launched recently. It's not really detailed since I just wanted to show how to bootstrap a project, but yeah, you can check it out.

    I'm using gCloud instead of aws, but it may be interesting anyway. Feel free to use it.

    JobBuddy - Medium

  13. 1

    I'm using APIGateway with Lambdas and Cognito/DynamoDB/ElasticSearch for API. Code Pipeline/Code Build is used to deploy updates from github repo.

    I feel like developing things this way requires you to be very attentive or to use tests-driven development, because you can't really try your API before it's deployed.

    Unfortunately I didn't use it yet in production, so maybe later I can come up with an article.

    1. 2

      In relation to the "can't try the API before it's deployed" - I use https://serverless.com/, it has a neat 'local invocation' feature which (coupled with a third-party plugin) allows you to test it locally while developing.

  14. 1

    Hi!

    I don't have a blog post outlining this, but one of my latest projects (https://missionemission.co - still WIP) uses Lambda as a middleware between a VueJs frontend and some Google APIs. I use it to hold my server API keys as well as for some lightweight data transformation and user request logging to DynamoDB.