HNHacker News
TopNewBestAskShowJobs

colomofo

14 karma · joined July 31, 2023

submissionscomments
colomofo··on Ask HN: Infra people in small companies, what does your infra look like?
It depends how you deploy the app containers.

If you use a container orchestration service (ECS, GKE) then you use that system to upgrade container image with new app versions.

If you use autoscaling groups / managed instance groups, then you use that to replace VMs with new ones running containers with the new app image.

Using rolling updates, the load balancer drains connections to a container and then it is replaced.

Ideally this is done using your IaC system. So a deployment just involves changing the container image (app version) and applying the update.

colomofo··on Ask HN: What are the best services for sending texts to real numbers?
Yeah, I'd never use SMS for 2FA in 2023. Mine is not a security sensitive use-case.

I'm currently planning to use Twilio or Plivo with their Lookup APIs to filter out VOIP-type phone numbers and to send messages.

The lookups seem to basically double the cost (for U.S. numbers) but is still relatively affordable.

Somewhat worried about A2P 10DLC since I've never dealt with it and don't know how much of a blocker or delayer it is.

I'd really just like a cheaper (but reliable) service that combines texts to exclusively personal mobile numbers.

colomofo··on Ask HN: Infra people in small companies, what does your infra look like?
Cloud SQL from GCP or RDS from AWS should both work just fine. They're just about the only companies I trust managed databases from.
colomofo··on Ask HN: Infra people in small companies, what does your infra look like?
I've built infra for a lot of different orgs over a long period of time. My recommendation is that unless (and until) you're building for scale, you Keep It Simple, Stupid (KISS).

Use an IaC system (Terraform, Pulumi, etc) to manage everything from Day 1:

1. Use a major cloud provider (AWS or GCP, probably)

2. Get a managed HTTP load balancer (ELB, ALB, whatever)

3. Package your app in a container image, and run your app on 3+ containers behind the load balancer (using on bare VMs, K8S, whatever you prefer), ideally at least 2x containers in 2x AZs.

4. Set up a managed database cluster with Postgres or MySQL and run it with multi-AZ and failover

5. Run 2x VM instances (for redundancy) for asynchronous jobs (using a message bus service or using your database as a work queue), ideally 1x in each of the AZs your database is in

6. Store any large files in cloud storage and put them behind a CDN

That's all 99% of companies will ever need to do. These are all old technologies that Just Work.