Explore the pros and cons of three popular approaches for scheduling and running background jobs in Google Cloud: App Schedulers, Cloud Scheduler, and Cloud Run Jobs.
A practical guide to understanding GraphQL in system design — how it compares to REST, when to use it, and the key concepts behind building flexible and efficient APIs.
A concise reference of key numbers every engineer should know for system design interviews and rough capacity estimations — from latency benchmarks to storage calculations.
Create an auditing system for enterprise applications which tracks user requests, resources touched & action taken. Reuse logic by leveraging hooks so that code is clean & concise. By utilizing middlewares, events & closures we're able to capture the details of requests on all our resources without duplicating code.
Decouple, distribute, and scale: A message queue lets your app handle tasks asynchronously, improving performance, reliability, and system flexibility.
How to add Light/Dark mode to a Flutter application quick and easy using Flutter's built in Provider & Notification modules. Allow users to change the app's theme as well
A concise guide to the essential principles of system design, covering scalability, reliability, maintainability, availability, and trade-offs. This post introduces the core building blocks you need to design robust, efficient, and scalable systems—crucial knowledge for system design interviews.
A distributed system is a collection of independent computers that appear to the users as a single coherent system. The key goal is to achieve scalability, fault tolerance, and high availability while maintaining consistency and performance.
Manually repeating these tests is costly and time consuming. Once created, automated tests can be run over and over again at no additional cost and they are much faster than manual tests. Automated software testing can reduce the time to run repetitive tests from days to hours.
Containerize multiple services using Docker for cloud deployment. Using NPM, ExpressJS, NodeJS, and Docker we create two microservices that work together to create a web app which help users learn about the wizards of Hogwarts.
Multi platform frameworks like Flutter means we can build web versions of our app simultaneously with mobile. Use Netlify to reach users on the web at the same time as iOS & Android by adding a few configurations and leveraging it's CI/CD pipeline to have web builds in no time.
Create a DB Cluster which ensures high availability & fast responses with the use of a read Replica. Use Docker & Postgres to create a local database cluster where 1 DB is a master which we write to and 1 DB is a replica which copies data for higher availability & resiliency.
Implement a server-side cache for faster and scalable systems. Caching results to DB queries can speed up server responses & by not overloading our DB with duplicate queries.
Create a RESTful web api using Flask, a micro web framework written in Python. Serve data to client side apps using REST & minimal setup thanks to the robust & simple Flask framework.
A concise guide to the essential principles of system design, covering scalability, reliability, maintainability, availability, and trade-offs. This post introduces the core building blocks you need to design robust, efficient, and scalable systems—crucial knowledge for system design interviews.
A concise guide to the essential processes of system design, covering scalability, reliability, maintainability, availability, and trade-offs. This post introduces the core building blocks you need to design robust, efficient, and scalable systems—crucial knowledge for system design interviews.