How to host your product for FREE
Tags: aws, cloud, architecture
Published: 2022-09-19 05:00:04

Let’s discuss various cloud providers and their FREE services to host your product for FREE 😁, till 50k monthly active users 🤯. Be it frontend, backend, database, authentication, emails etc.

## Authentication

**Firebase Authentication**
- Can be used by up to 50k monthly active users for FREE. 
- Supports Google, FB, Phone, and Email.

**AWS Cognito**
- FREE till 50k monthly active users.
- Supports Google, FB, Phone, and Email.

Although you could use Google, and FB SDKs to implement their logins. It would be much easier to implement and maintain users using Firebase Auth or AWS Cognito.

## Frontend

**Cloudflare Pages**
- With Git integration, you can directly deploy your website with every commit.
- Can preview every commit in every branch before going live.
- No CI/CD setup is required.
- FREE plan supports up to 500 builds per month. That means you can push 16 times a day, preview and deploy to prod for FREE. 
- Unlimited bandwidth. So you can have unlimited visitors to your website for FREE. 

Other notable services are AWS Amplify Hosting and AWS S3+Cloudfront.

## Media

**Backblaze + Cloudflare**
- Store assets on Backblaze and server them through Cloudflare CDN.
- Backblaze provides 10 GB of storage for FREE and Cloudflare CDN is completely FREE to use. 
- Also, the bandwidth alliance between Backblaze and Cloudflare gives us zero egrees fees for these media. 

Other notable services - AWS S3+Cloudfront/Cloudflare.

## Backend

**AWS Lambda**
- Serverless - Can deploy your backend code on Lambda and server your API without worrying about the scale.
- Lambda even has a function URL, thus you can directly use it like an API, without any API Gateway
- AWS Lambda has a very generous FREE tier of 1 million invocations (with 128 MB RAM - 3 sec time) per month, which translates to 33.3k API hits per day

**AWS Beanstalk**
- AWS gives 1 EC2 server with 1 GB RAM, and 2 vCPUs with elastic load balancing for 750 hours FREE, which means FREE for the entire month.
- With this config, I was able to serve 50 req/sec without any issues (using Golang 😁)

## Database
**AWS RDS**

- Postgres or MySQL with 1 GB RAM, 20 GB SSD, and 2 vCPU is FREE for an entire month.
- Can easily handle 50 req/sec (if query latency is less than a second 😄)

**AWS DynamoDB**
- DynamoDB is NoSQL key-value database.
- 25 GB of storage, 25 provisioned Write and Read Capacity FREE each month.
- This is enough to handle up to 200 million requests per month, with 25 write/sec up to 1KB and 50 reads/sec up to 4KB.

**AWS Elasticache**
- Redis or Memcached with 0.5 GB, 2 vCPU can be used for an entire month FREE
- For 500 B for each key, this can handle 1 million keys in RAM.
- Can use AWS MemoryDB for Redis too.

**AWS DocumentDB**
- AWS version of MongoDB.
- With 4GB RAM, 2 vCPUs and 5 GB storage, you can host MongoDB for FREE.


## Monitoring

**AWS Cloudwatch**
- Monitor your server, log your requests etc.
- FREE till 10 custom metrics, 10 alarms, 5GB of log ingestion
- If you set the logs to expire for 7 days, mostly this limit would never be touched 😊

## Email

**AWS SES**
- Send 62k emails per month for FREE. That means 2k emails per day 🤯

## Notifications
- Can use both Firebase messages and Onesignal notifications.
- Send unlimited notifications every day, completely FREE.

---

## In Conclusion…

There are many cloud providers and their FREE services, which I didn’t cover in this article.

But you get the point, that you can host your entire product tech stack, to 50k monthly users, for FREE without opening your wallet.

---

That’s it! Please let me know about your views and comment below for any clarifications.

If you found value in reading this, please consider sharing it with your friends and also on social media 🙏

Also, to be notified about my upcoming articles, subscribe to my newsletter below (I’ll not spam you 😂)

{% embed https://blogofcodes.substack.com/embed %}