Different offerings
Quick explainer between some common types: Types of Cloud Computing
Infrastructure Providers
These are the "big players" that are ultimately providing the bare-metal service that everyone else is usually using under the hood.
- DigitalOcean
- Microsoft Azure
- Amazon Web Services (AWS)
- Quick run through - Fireship: Top 50+ AWS Services Explained in 10 Minutes (2021)
- AWS also has services that are more PaaS / app-focused, like AWS Elastic Beanstalk, AWS Lightsail, AWS Amplify, and the newly added AWS App Runner
- Google Cloud Platform (GCP)
- Linode
- Vultr
PaaS / Full-stack / Polygot Platforms
These are PaaS that do things like allow you to deploy a full-stack application without worrying about manually scaling resources, managing infrastructure, or system updates.
- Heroku
- Render (commonly recommended as the modern alternative to Heroku)
- Fly.io
- You can deploy a containerized app with pretty much just a Dockerfile!
- DigitalOcean
- Although DigitalOcean also fits under the infrastructure provider category / AWS competitor, they also offer a lot of specialized services that fit into this category, such as App Platform
- Railway
- platform.sh
- NodeChef
Abstraction Layers Over AWS (or other IaaS)
AWS offerings (and other lower-level IaaS platforms) are really powerful, but often at the cost of complexity and decision fatigue. To the point where you might need a third party service just to understand your costs.
There are a few service that exist as abstraction layers over AWS, which might be a good fit if you are looking for easier deployments and more predicable pricing:
- Flightcontrol
- Automated deployment layer / IAC over AWS. Aims to make AWS as easy to use as Heroku.
- Same team behind
Blitz.js
framework
- Begin
- You can "eject" at any time if you want to leave Begin, and Begin will provide you with the Architect code (which compiles into native AWS CloudFormation IAC) so you can go back to your own management of AWS
- Serverless Cloud
- Enterprise offering from Serverless, not to be confused with the free and open Serverless Framework / CLI.
- Terraform Cloud
- Terraform Cloud is the enterprise offering from HashiCorp; a managed service wrapper that integrates well with Terraform CLI and other products (similar approach to Serverless Cloud). Not to be confused with the free Terraform CLI (see below)
IaC (Infrastructure as Code) Development Frameworks
Not to be confused with PaaS offerings, these are abstraction layers which let you manage your infrastructure (such as AWS) as code, so that spinning up an app can be a highly automated and repeatable process.
- AWS SAM
- You can define write IaC as SAM templates (compiles to native AWS CloudFormation) or with AWS CDK (also compiles to CloudFormation)
- Only supports AWS
- AWS CDK (Cloud Development Kit)
- Similar to AWS SAM templates, but instead of declarative code, you can write with your favorite imperative programming language. Like SAM, also compiles to CloudFormation.
- For AWS SAM vs CDK vs CloudFormation, see this FAQ
- Serverless (aka Serverless Framework)
- Supports many different infrastructures (AWS, GCP, etc.)
- Architect (aka arc)
- Compiles to native AWS CloudFormation
- Only supports AWS
- Terraform CLI
- Uses HCL (HashiCorp Configuration Language)
- Supports many different infrastructures (AWS, GCP, etc.)
- CDK for Terraform lets you write your IaC in your favorite programming language, similar to AWS CDK
localstack is worth a mention for local testing.
Static / JAMStack Cloud Hosting
These are mostly PaaS that are offering things like one-click deployments for mostly static websites, PWAs, and JAMStack based sites. Think things like React + Lambdas.
- Vercel (formerly Zeit / Zeit Now) (vercel.com)
- You can also use API functions a subset of Next.js:
- Limits:
- Free tier: 10 second limit (same as Netlify), 50 MB bundled code
- https://zeit.co/docs/v2/serverless-functions/introduction
- https://nextjs.org/docs/api-routes/introduction
- Limits:
- pricing
- You can also use API functions a subset of Next.js:
- Surge (surge.sh)
- Netlify
- Stackbit
- Nhost
- Focused on providing a backend for web or mobile apps (kind of similar to Firebase)
FREE!!!
Links to various free tier limits:
- Google Cloud Platform - always free
- AWS - always free
- Azure - always free
- Heroku - free
- Vercel - free limits
- Render - free limits
- Netlify - pricing
- Surge - pricing
- Stackbit - everything is free for now
See also:
- free-for.dev (Free tiers of various platforms / tools)
Self Hosting PaaS
Good options:
Comparisons:
Serverless Database Options
Some of these have already been mentioned elsewhere on this page, but it seems worth having this as a separate category too
- Cloud Firestore (part of GCP Firebase)
- PlanetScale
- Nhost
- AWS Aurora Serverless
- Prisma
- Supabase
Helpful numbers to remember
- Executions in an average month, given cron of
* * * * *
(every minute): 43,800