// Articles
Guides, tutorials, and comparisons to help you build better backend applications.
Run a go-chi waitlist API on Cloud Run with Cloud SQL, Memorystore and Pub/Sub in your own GCP account, with Encore or with Docker, Direct VPC egress and gcloud by hand.
Create an on-demand Kinesis stream with a customer-managed KMS key, a seven-day retention period, a registered enhanced fan-out consumer, producer and consumer IAM, and an iterator-age alarm, then the same fan-out job as a topic in Encore.
Design the RMA state machine, partial returns, refund versus store credit, inspection and restocking, idempotent refunds, carrier label webhooks and fraud checks, then implement the flow in TypeScript.
Accept result messages from a lab, keep the original, store observations once per revision, alert the ordering clinician about critical values, escalate when nobody acknowledges them, and release reviewed reports to the patient portal, built by hand on AWS and in Go with Encore.
Turn failed subscription payments into a retry schedule, customer emails and an access check: idempotent webhook handling, a retry job that cannot charge twice, and suspension after the last retry, built by hand on AWS and in TypeScript with Encore.
Keep a webhook signing secret and an email provider key out of your go-chi repository, set them per environment, and read them in chi middleware and handlers, with Encore or with .env files, AWS Secrets Manager and ECS.
How Google Cloud Pub/Sub push and pull subscriptions differ on endpoints, flow control, throughput, exactly-once delivery and cost on Cloud Run, with Go code for both, and how Encore picks the subscription type for you.
Manage Google Secret Manager with Terraform while keeping values out of state: google_secret_manager_secret, write-only secret_data_wo with an ephemeral password, per-secret IAM for a Cloud Run service, replication and rotation, and how Encore declares secrets in Go code.
Give a Cloud Run service read and write access to one Cloud Storage bucket: a dedicated service account, a bucket-level role instead of Editor, a Go client with no key file, and how Encore sets up the bucket and the service identity from Go code.
Move sessions and cached data from Upstash's serverless Redis to ElastiCache in your own AWS account, keeping remaining TTLs and leaving short-lived keys behind.
When an Amazon SQS FIFO queue is worth its limits, what standard queues guarantee, how message groups and deduplication work, and how Encore gives you ordered delivery per key from code.
How SQS dead-letter queues work, how to configure them in Terraform with alarms and redrive, the retention trap, and how Encore sets up retries and dead-lettering per subscription.