// Articles
Guides, tutorials, and comparisons to help you build better backend applications.
Google Cloud Pub/Sub is GCP's managed messaging service. How topics and subscriptions work, when to use pull vs push, what ack deadlines and ordering keys do, how dead-letter topics catch failures, and how to get Pub/Sub from application code.
Amazon ElastiCache is AWS's managed in-memory cache. How Valkey, Redis OSS and Memcached engines differ, node-based vs serverless, VPC access and Multi-AZ, and how to get a cache from application code.
Amazon SQS is a managed message queue on AWS. How standard and FIFO queues differ, how visibility timeouts and long polling work, what dead-letter queues catch, how pricing is shaped, and how to get SNS and SQS from application code.
Amazon SNS is a managed pub/sub service on AWS. How topics and subscriptions work, how fan-out to SQS, Lambda, HTTP and email fits backends, how SNS pairs with SQS, and how to get that pattern from application code.
Amazon S3 is AWS's object storage service. How buckets, keys and storage classes work, how versioning, encryption and access control fit in, when backends use it, and how to get an S3 bucket from application code.
Concrete Terraform for an RDS PostgreSQL instance with a DB subnet group, security group, parameter group and Secrets Manager password, the networking and state pain that comes with it, and how Encore provisions the same application database from code.
Stream events from a Node.js HTTP handler with the right headers, heartbeats and reconnects, contrast briefly with WebSockets, and run the same pattern as an Encore TypeScript raw endpoint next to a Postgres database.
How to run TypeScript on AWS Lambda with Node.js 22 or 24, bundle with esbuild, cut cold starts, choose ESM or CommonJS, and when an always-on TypeScript API on your own AWS account is a better fit.
Horizontal scaling means adding more copies of a service behind a load balancer. What has to be stateless, where sessions and sticky routing fit, why the database becomes the bottleneck, and how Encore services scale as units in your own cloud while databases, queues and object storage stay managed primitives.
GitLab CI/CD runs jobs defined in .gitlab-ci.yml on shared or project runners. How pipelines, stages and environments work, and how to deploy an Encore backend from a GitLab job using the platform API or encore build docker.
GitHub Actions is the default CI for repos on GitHub. When teams look beyond it, GitLab CI, CircleCI, Buildkite, Jenkins and Tekton are the usual picks. How they compare, and how infrastructure from code shrinks the deploy stage while you keep your CI.
Deno and Node.js both run JavaScript and TypeScript on the server. How they differ on permissions, npm compatibility, TypeScript, tooling and deploy targets, and when to pick each for a backend.