Ask HN: How does one create a service like Vercel or Heroku?

5 points by hnjobaccount ↗ HN
As the title says, could someone lay out what would it look infrastructure/architecture wise to create one of those services?

I spend most of my time creating CRUD apps but I'm finding out I want to learn more of how the web really works.

For example, I know that for Heroku there are Open Source projects like CapRover [1] that fulfill similar needs. Would it be good to study the code of that project to understand how it works?

What technologies should I study? I'm thinking I should learn: * Docker * Nginx * AWS (S3, EC2, API Gateway, ...any other?)

Thanks in advance!! [1]: https://github.com/caprover/caprover

1 comment

[ 1.8 ms ] story [ 15.6 ms ] thread
You would need: - Auth and billing to let users connect to your platform and bill them for usage - Source Control providers integration to get the code of your clients (e.g. a GitHub app) - Setup container builder service that can get requests from your platforms server and build Docker images of your clients code. Check out Google Cloud Build for inspiration - Call a cloud platform’s API to start a vm with the newly created Docker image and setup networking, logging etc for it