Syntax - Tasty Web Development Treats
Syntax - Tasty Web Development Treats

More on Severless - Databases × Files × Secrets × Auth × More!

In this episode of Syntax, Scott and Wes do a part 2 about Serverless — databases, files, secrets, auth, and more! Sanity - Sponsor Sanity.io is 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 sanity.io/create.

Featured Speakers

Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers Host

Topics Discussed

Episode Summary

Executive Summary: This episode continues Syntax’s serverless deep dive, focusing on practical concerns beyond the basics: secret management, vendor lock-in, sharing dependencies, local development, databases, file storage, auth, and migrating existing apps. The hosts also share updates from Cloudflare Workers and MongoDB Stitch, discuss real-world migration patterns, and note that serverless is increasingly mature but still introduces tradeoffs in portability, tooling, and architecture.

Main Topics: Serverless platform updates and real-world use cases: Wes shares a Cloudflare Workers workaround for preserving legacy screenshot URLs and a listener example of using Workers to stitch together a WordPress-to-Netlify migration. MongoDB Stitch is introduced as another serverless option with functions, GraphQL, auth, and triggers. Secret management in serverless apps: The hosts discuss how teams store API keys, database URLs, and other sensitive values using .env files, platform UIs, CLI tools, or framework-specific settings files, with emphasis on separating public and private config. Vendor lock-in and portability: They weigh the risks of being tied to providers like Firebase, Next.js Now/Vercel, or AWS-specific tooling, and contrast that with more portable approaches such as open-source frameworks and architectures that can be moved between hosts. Sharing dependencies across serverless functions: They explore strategies for reusing code across many small functions, including private npm packages, aggressive bundling/tree-shaking, importing shared files, and AWS layers, noting that duplication and packaging complexity are common pain points. Local development and parity with production: The discussion covers the importance of local dev tools like now.dev, Netlify Dev, Wrangler, and Architect, with the hosts emphasizing the need for one-to-one replication of production behavior to avoid confusing workflows. Databases, file storage, and auth in serverless architecture: They compare serverless-friendly data and storage options such as DynamoDB, Firebase, Fauna, Cloudinary, S3, Backblaze B2, and JWT-based auth, stressing that stateless functions require external systems for persistence and identity. Incremental migration of existing applications: The hosts recommend migrating pieces of an app one by one—starting with standalone tasks like email sending or image resizing—rather than attempting a full rewrite, especially when existing apps already work well.

Key Arguments: Serverless can solve specific infrastructure problems elegantly, such as intercepting and rewriting requests at the edge without owning the origin server. Portability matters because platform-specific features can create painful lock-in if costs rise, services shut down, or migration becomes necessary. Shared code and dependencies become a bigger issue in serverless because many small functions can duplicate packages and complicate maintenance. Local development tools are essential; without production-like local execution, serverless workflows become frustrating and error-prone. Databases, file storage, and authentication are not optional extras in serverless—they are core architectural decisions because functions are stateless and ephemeral. Migrating existing systems should usually be incremental, offloading discrete tasks first rather than rebuilding everything at once. Some serverless ecosystems are maturing enough to make the tradeoffs worthwhile, especially for front-end developers needing lightweight backend functionality.

Data Points: Cloud App screenshots: ~20,000 screenshots - Wes described the volume of screenshots stored in Cloud App over many years. GitHub short links: 14.5k+ short links - Wes mentioned the number of short links he had on GitHub affected by the Cloud App URL change. Cloud App usage duration: 11–12 years - Wes said he had used Cloud App as a screenshot host for more than a decade. FreshBooks sponsorship URL: freshbooks.com/syntax - Promo code and sponsor landing page mentioned during the ad read. Sanity sponsorship URL: sanity.io/syntax - Promo landing page mentioned during the ad read. Sanity free tier bonus: Double the free usage tier - Offer mentioned for Syntax listeners. Beginning of 2020 serverless sentiment: "2020 is the year of serverless" - The hosts framed the ecosystem as becoming more mature and usable. Pricing/hosted app cost example: $35/month - Wes said his app hosting costs about this amount while serving a large user base.

Pivotal Quotes: "I'm able to add code to a server that don't exist." — Wes Bos: Wes explaining the value of Cloudflare Workers as an edge/interception layer "The beauty of backend was that you didn't have to worry about the size of your node modules. And now you do." — Scott Tolinski: Discussing dependency management pain in serverless functions "You really have to think about that because ... if those layers end up becoming like a real tight lock-in to a specific platform, that is definitely a foot gun." — Scott Tolinski: On vendor lock-in and portability risks

Implications: Serverless is becoming practical for more use cases, but teams still need to plan for lock-in, shared code, local dev, and external persistence. The best fit is often incremental adoption around clear, isolated tasks.

🔓 Sign Up for Unlimited Episode Search

About Syntax - Tasty Web Development Treats

View all episodes from Syntax - Tasty Web Development Treats