Choosing the right platform for light weighted pocket
Tags: saas, paas, cloud, devops
Published: 2023-03-14 09:18:14

Choosing the right platform to host your application can be tedius task. Specially when you are a student and have no idea what to do.

PS: My friend lost ₹10,000 using AWS to host his API and store the data in redis because he did not choose to “disable backup” for his instance and left it running for months🤣.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5rz6bzzrq4j0jwba841q.jpg)

## Which one is cheaper?
There are hundreds of places out there on internet where you can host your application but which to choose and which one is cheaper?

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2ivazjm7013ankj1nzgl.jpg)

If you think about it, everything boils down to few factors:

- Do you have a credit/debit card?
    - Are you willing to spend few bucks?
- What type of application are you trying to host?

Let's look at these one by one.

## Do you have a credit/debit card?
### Yes and i'm ready to spend few bucks.
If you have a credit/debit card and you are ready to spend few bucks then here are few options that you can try.
#### 1. [Heroku](https://www.heroku.com/)
Heroku is a cloud-based platform as a service (PaaS) that enables developers to build, deploy, and manage their web applications with ease. It is one of the most popular PaaS solutions used by developers today, and for good reason: it offers a wide range of features and benefits to help streamline the development process.

One of the key features of Heroku is its ease of use. With Heroku, developers can easily deploy and scale their applications with just a few clicks. Heroku supports a wide range of programming languages, including Ruby, Python, Node.js, Java, PHP, and more. Additionally, Heroku provides a variety of tools and add-ons to help developers build their applications quickly and efficiently.

Heroku also offers a range of pricing options to suit the needs of developers and businesses of all sizes. Heroku's pricing is based on a combination of the number of dynos (the unit of computing power on Heroku), the amount of storage needed, and the number of add-ons required. Heroku's pricing starts at $5 per month, and goes up to $500 per month for large-scale applications with high traffic.

In addition to its core features, Heroku offers a range of add-ons that can be used to enhance the functionality of your application. These add-ons include everything from databases and analytics tools to security and performance monitoring services. Heroku's add-ons are priced separately, with costs ranging from free to several hundred dollars per month, depending on the service and level of usage.

#### 2. [Digital ocean](https://www.digitalocean.com/)
DigitalOcean is a cloud-based infrastructure as a service (IaaS) provider that offers developers a simple and affordable way to deploy and scale their applications. It is a popular choice among developers for its ease of use, reliability, and cost-effectiveness.

One of the key features of DigitalOcean is its simplicity. DigitalOcean offers a user-friendly interface that makes it easy for developers to deploy and manage their applications. With DigitalOcean, developers can quickly spin up virtual machines (known as droplets) with just a few clicks, and easily manage their resources through the DigitalOcean control panel.

DigitalOcean's pricing is also very competitive, making it an affordable option for developers and businesses of all sizes. DigitalOcean offers a variety of pricing plans based on the amount of memory, CPU, and storage needed, with prices starting at just $5 per month for the smallest droplet size.

DigitalOcean also offers a variety of integrations with popular developer tools and platforms, such as Github, Docker, and Kubernetes. This makes it easy for developers to incorporate DigitalOcean into their existing workflows and tools.

#### Conclusion
- If you want your provider to handle everything itself you can choose heroku. Heroku is capable of pulling changes from github and re-building your application anytime you make a change to your code on github.
- If you want more flexibility and configurations then choose Digital Ocean where you'll be given a droplet (basically, shared linux machine) and you can host your own application on it with all the customizations you want.

### Yes, but i'm not ready to spend few bucks.
If you have a credit/debit card but you dont plan to spend few bucks then here are few options that you can try.
#### 1. [Railway](https://railway.app)
Railway.app is a modern and powerful platform as a service (PaaS) that helps developers to deploy their applications quickly and easily. It offers a wide range of features and benefits to developers, making it a popular choice among software engineers and teams.

One of the key features of Railway.app is its simplicity. It offers an intuitive user interface that makes it easy for developers to deploy their applications with just a few clicks. The platform supports a range of programming languages including Node.js, Ruby, Python, and Go, among others. Railway.app provides a variety of tools and add-ons that can help developers to build their applications efficiently.

Railway.app also offers a range of pricing options to suit the needs of developers and businesses of all sizes. Its pricing is based on a combination of the number of containers, storage, and bandwidth needed. Railway.app pricing starts at $5 per month. But worry not, once you give your credit/debit card details you'll get $5 each month which are enough to get you through month considering you don't have MASSIVE traffic.

#### 2. [Amazon Web Services](https://aws.amazon.com/)
Amazon Web Services (AWS) is a cloud-based computing platform that provides a wide range of infrastructure as a service (IaaS), platform as a service (PaaS), and software as a service (SaaS) offerings. AWS is one of the most popular cloud platforms in the world, serving millions of customers globally, from startups to large enterprises.

One of the key features of AWS is its flexibility. It offers a wide range of services that can be customized to meet the unique needs of each customer. AWS offers a broad set of compute, storage, database, analytics, application, and deployment services that enable developers and IT teams to quickly build and deploy scalable, secure, and highly available applications.

AWS pricing is based on a pay-as-you-go model, meaning that customers only pay for the services they use, with no upfront costs or long-term commitments. AWS offers a range of pricing options, including on-demand, reserved, and spot instances, which allows customers to choose the most cost-effective option for their needs.

AWS offers 1 year free trial which is enough to push your businness up in the market. But be careful to choose only those services that comes under free trial (not all services comes free under free trial) and ensure that you are using the lowest configuration services (such as choosing t2-micro instance instead of any other instance) without any backups.

#### Conclusion
- If you want your provider to handle everything itself you can choose Railway. Railway is capable of pulling changes from github and re-building your application anytime you make a change to your code on github.
- If you want more flexibility and configurations then choose AWS.

### What type of application are you trying to host?
Another important factor to consider is the type of application.
- Is it just a static website?
- Is it a API?
- Is it just an instance of database?
- Or is it a python bot?

And the answer to the question is "All the providers above supports everything in the list". 
Some provide easy automated way such as Heroku and Railway while others support manual configuration way such as Digital Ocean and Amazon Web Services.

The catch here is to host multiple services.
For example, you want to host node API that handles user requests and stores data in MongoDB.
Here you need two things:
- Node server
- MongoDB database.

Railway provides easy way to add a new MongoDB instance (with pay as you go model) within the same Node API workspace.

AWS provides similar experience but we might need to use NoSQL alternative to MongoDB here such as Amazon DynamoDB, Amazon ElastiCache, Amazon Neptune and etc. You can also use MongoDB here, you'll have to add it from AWS marketplace.

Similarly database services or any other services are available in many providers but the setup and costs might vary based on many factors.

#### Conclusion
In the end it's all about your requirements and the price you are willing to pay to avail any service.