More on Severless - Databases Files Secrets Auth More!

Published: March 4, 2020, 2 p.m.

In this episode of Syntax, Scott and Wes do a part 2 about Serverless \u2014 databases, files, secrets, auth, and more!

Sanity - Sponsor

Sanity.io\xa0is a real-time headless CMS with a fully customizable Content Studio built in React. Get a Sanity powered site up and running in minutes at\xa0sanity.io/create. Get an awesome supercharged free developer plan on\xa0sanity.io/syntax.

Freshbooks - Sponsor

Get a 30 day free trial of Freshbooks at\xa0freshbooks.com/syntax\xa0and put SYNTAX in the \u201cHow did you hear about us?\u201d section.

Show Notes

2:47 - Wes tried Cloudflare Workers

  • Also this is so cool:

Hey Wes, just listened to the latest Syntax episode on the serverless setup. Not sure if it\u2019s an episode idea or not, but if you wanna do a bit of a dive on Cloudflare\u2019s service workers, I\u2019m currently leading an \u201cinvisible infrastructure migration\u201d right now from a legacy WordPress setup to a new Storyblok/Netlify setup. We\u2019re using Cloudflare\u2019s service workers to basically \u201cstitch\u201d the headers/menus/footers from the old WordPress site into our new Netlify pages, but serving the page back as if it was part of the normal domain. This means we can migrate from the old to the new slowly without massively disrupting SEO, doing a lengthy/costly rebuild, etc.

  • A word on Digital Ocean
  • Kubernetes + FAAS allows you to scale up/down

13:54 - Secret management

  • Some have a great UI
  • Some have a CLI
  • Some only have production
  • Some have dev/staging/prod

16:24 - Vendor lock-in

  • Two kinds of vendor lock-in
    • Lock into a low-level provider (Like AWS, or MongoDB)
    • Lock into a framework
  • Questions to ask:
    • Can I go, take my app as-is, and host it on another provider?
    • Can I refactor the config and run my code as-is?
    • Do I need to refactor my code for it to run on other platforms?
  • Next.js will only run on Now
  • There is a community package
  • Begin all runs on Arc.codes
  • Firebase is locked in?

25:12 - Sharing dependencies

  • Each function will have its own package.json, which can be a pain
  • Publish utils a private module
  • AWS Layers
  • Import/export
  • Bundle and tree shake

30:26 - Local development

  • Now dev
  • NPX sandbox
  • Wrangler for Cloudflare workers

36:40 - Existing applications

  • Difficult to move with many routes, but easy to move a Graphql API that has one single route
  • Maybe do piece by piece instead of all at once
  • Begin has http express method

45:21 - Data

  • Any DB you want
  • Dynamo DB integrated into many
  • Firebase
  • KV Storage for Cloudflare workers
  • Fauna

48:14 - File storage

  • Generally files go in the associated file place like Amazon S3, Backblaze B2, Cloudinary
  • Many also have this integrated as well

52:18 - Auth

  • Serverless is ephemeral and stateless
  • JWT likely as sessions will work, but doesn\u2019t really make sense
Links \xd7\xd7\xd7 SIIIIICK \xd7\xd7\xd7 PIIIICKS \xd7\xd7\xd7 Shameless Plugs Tweet us your tasty treats!