#89: Hashnode's serverless architecture with Sandro Volpicella
Nov 15, 2023
auto_awesome
Sandro Volpicella, platform lead at Hashnode and co-author of AWS Fundamentals, discusses the architecture of Hashnode's serverless blogging platform, including its caching strategy and SWR approach. The podcast also covers the use of a regular database instead of a real-time database, the bottom and top layer of Hashnode's serverless architecture, and considerations for MongoDB.
Understanding and leveraging caching strategies is crucial for building scalable and performant serverless applications.
Developers need to have in-depth knowledge of AWS services like CloudWatch and understand their capabilities for effective monitoring and observability.
Projects like Serverless Queue and OctoLens aim to simplify background processing and provide user-friendly developer experiences for specific tasks, such as message queuing and managing GitHub Actions workflows.
Deep dives
Overview of AWS Fundamentals and Hashnode
Sandra Vopicella, platform lead at Hashnode, co-authors AWS Fundamentals book. Hashnode is a developer blogging platform that allows users to create blogs and connect custom domains. Sandra discusses the importance of learning AWS and the book's focus on real-world examples. Hashnode uses various AWS services and Sandra emphasizes the need to understand these services rather than relying solely on certifications.
Architecture of Hashnode and Usage of Cloudflare and Vercel
Hashnode has a community frontend on Hetional.com, where users can access feeds, tags, and settings. It uses Cloudflare for DNS and protection, while Vercel hosts the blog frontend and deploys Next.js servers. Vercel also offers page caching on the edge using CloudFront. Sandra provides a comprehensive architecture overview and highlights the use of SWR for caching and incremental static revalidation with Next.js. Various APIs, including REST and Next.js API functions, interact with cloud databases like MongoDB and Firestore. Asynchronous processing is handled through EventBridge and Step Functions, with MongoDB Atlas and Redis as data stores.
Importance of Learning CloudWatch and Limitations
Sandra emphasizes the importance of learning CloudWatch and its role in monitoring and observability. He highlights how many startups, lacking cloud engineers, struggle to implement proper monitoring and instead rely on expensive third-party providers. Sandra introduces his upcoming book on CloudWatch, which aims to provide in-depth knowledge and hands-on examples. He also acknowledges the advantages of using specialized vendors like Lumigo and Baseline for observability, but emphasizes the need for developers to understand CloudWatch's capabilities before making decisions.
Serverless Queue as an Alternative to AWS SQS
Sandra discusses his side project called Serverless Queue, which provides an HTTP API for message queuing. The aim of the project is to simplify background processing for developers without extensive AWS knowledge. Serverless Queue allows developers to enqueue messages with specific targets, which are then processed by serverless functions. The project offers a user-friendly developer experience and usage-based pricing model to cater to startups and developers focused on building applications.
OctoLens: A Dashboard for GitHub Actions
Sandra introduces OctoLens, a project he developed with a colleague at Heshnode, as a simple UI dashboard for GitHub Actions. OctoLens addresses the issue of not having a clear view of GitHub Actions usage and workflows. It allows users to connect their GitHub accounts and view repositories and workflows consuming GitHub Actions. The project helps users identify the usage of GitHub Actions and better manage their resources.
In this episode, I spoke with Sandro Volpicella, who is a platform lead at Hashnode, a fully serverless blogging platform. He is also the co-author of AWS Fundamentals (https://awsfundamentals.com).
We explored Hashnode's architecture and went deep into its caching strategy, which is a crucial ingredient of a scalable and performant blogging platform.
For more stories about real-world use of serverless technologies, please subscribe to the channel and follow me on X as @theburningmonk.
And if you're hungry for more insights, best practices, and invaluable tips on building serverless apps, make sure to subscribe to our free newsletter and elevate your serverless game! https://theburningmonk.com/subscribe