Not be using AWS. Probably

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • Dokku

    A docker-powered PaaS that helps you build and manage the lifecycle of applications

  • Don't use AWS, GCP or Azure. Use Digital Ocean and the likes. Cheap VM compute, managed databases. And for the most effective setup, just get an affordable VM and chuck https://dokku.com/ onto it. Boom you have your self hosted Heroku. Cheap bandwidth, opportunity to scale.

    AWS is a fools errand at the startup level unless you need some of their specialised services. Stick to "tier 2" cloud providers like Digital Ocean, Linode. If all you need is servers, database and storage, then don't waste your money on the major cloud providers. They are the wrong choice for basic compute.

  • copilot-cli

    The AWS Copilot CLI is a tool for developers to build, release and operate production ready containerized applications on AWS App Runner or Amazon ECS on AWS Fargate.

  • https://aws.github.io/copilot-cli/

    That takes a Dockerfile, manages networking, secrets and CI/CD deployment. I have a few quibbles with what it does, but it generally works and is being maintained/updated.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • cloud-tasks-emulator

    Google cloud tasks emulator

  • Which database?

    If you're going all-in on Google Cloud and using Firestore, then use the emulators [0]. The emulators includes Pub/Sub. For Cloud Task Queues, use an unofficial emulator [1]

    If you're not going all-in on Google Cloud and say you want to use Postgres, then use a `docker-compose.yaml` file and pull in a Postgres container instance or run a local Postgres if you want. Then pick a free Postgres compatible cloud service for the actual runtime (e.g. Supabase free tier). Same goes for MySQL.

    For AWS, I'd use LocalStack [2]

    [0] https://chrlschn.medium.com/google-firebase-with-dotnet-6-f8...

    [1] https://github.com/aertje/cloud-tasks-emulator

    [2] https://localstack.cloud/

  • LocalStack

    💻 A fully functional local AWS cloud stack. Develop and test your cloud & Serverless apps offline

  • Which database?

    If you're going all-in on Google Cloud and using Firestore, then use the emulators [0]. The emulators includes Pub/Sub. For Cloud Task Queues, use an unofficial emulator [1]

    If you're not going all-in on Google Cloud and say you want to use Postgres, then use a `docker-compose.yaml` file and pull in a Postgres container instance or run a local Postgres if you want. Then pick a free Postgres compatible cloud service for the actual runtime (e.g. Supabase free tier). Same goes for MySQL.

    For AWS, I'd use LocalStack [2]

    [0] https://chrlschn.medium.com/google-firebase-with-dotnet-6-f8...

    [1] https://github.com/aertje/cloud-tasks-emulator

    [2] https://localstack.cloud/

  • fargate-cloudformation-example

    An example CloudFormation template that deploys a container to AWS Fargate as a service.

  • I went from not knowing Docker to having a production capable ECS/Fargate microservice spun up within less than a week.

    I based it on this CFT

    https://github.com/1Strategy/fargate-cloudformation-example/...

    And this walk through for C#

    https://aws.amazon.com/blogs/compute/hosting-asp-net-core-ap...

  • terraform-cdk

    Define infrastructure resources using programming constructs and provision them using HashiCorp Terraform

  • Yeah it is much more mature now. Basically the CDK will generate YAML cloudformation templates at compile time so any errors are generally caught then. If you utilize typescript it is even safer since you know there are no missing parameters or anything like that.

    I have not used terraform that much, but they did launch a CDK for terraform that does a similar thing https://www.terraform.io/cdktf. Basically you write in code and at compile time it converts it to the terraform templates.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts