Product Development February 26, 2020

What is the cheapest tech stack to host?

chensteven

Hello,

I'm looking to build a web app that supports user logins and a dashboard for managing real estates. What would be the most cost-effective tech stack to use? And which hosting platform should I go with - AWS, Heroku, Digital Ocean or others? Infrastructure-wise, I'm thinking of starting out with one instance that hosts the database and web server together. Once we grow to multiple users then I will separate out the database and the server into their own instances. Is this a good strategy to go with? Are there any resources that talks about scaling as a startup?

Thanks,
Steven

  1. 3

    If it's free, you are the product. So I wouldn't go with Firebase.

    I have the same structure that the one you describe on a cheap VM at OVH and it's great. It can scale easily.

    1. 2

      Normally I would agree with you, but I'm not sure that this rule applies to web infrastructure services companies like AWS, Firebase, etc. They offer free tiers to get developers locked into their ecosystem under the assumption that they will eventually become paying customers.

    2. 1

      Too bad OVH's support is quite bad, and in general the quality is not in par with other VPS. Have you tried DigitalOcean or Linode?

      1. 1

        I'm biased with ovh because they are french like me, so if I call support it's not the same. And I never had to complain.
        For other hosts I only tried Azure & AWS

  2. 3

    Firebase. They everything you will need. Hosting, auth, analytics, express style micro services, and databases. Will be free until you get serious traffic. By then you should be making money.

  3. 2

    You can get $5000 worth of AWS credit for $49 with this App sumo offer (I'm not affiliated in any way, it's just an insane deal): https://appsumo.com/startups/

    You can also get $1000 AWS credit FOR FREE (and other cloud providers) here: https://www.joinsecret.com/ --> It's hard to get a cheaper deal than a FREE deal!

    Segment also has a startup program that offers free cloud credits on AWS / Google cloud, don't know about the condition.

    I hope it help!

  4. 2

    I wouldn't use core AWS services unless you're interested in getting experience with them, and this is from someone currently using AWS for a service I recently started working on. They give you a lot of building blocks, and the free tier is pretty cheap, but you have to put those building blocks together. I'd recommend looking for something with a higher level of abstraction.

    Some things you'll likely have to set up in AWS for a decently-robust web app:

    • Route 53 for DNS
    • Cloud Front for TLS/SSL and CDN
    • VPC with
      • Subnets
      • Gateway
      • Route table and routes
      • Security groups
    • EC2 instances (e.g. web servers using Elastic Beanstalk, a bastion server)
    • Perhaps RDS or some other database
    • IAM groups/users for security

    There's a lot that you have to understand and figure out to make it work well. If you want to automate it you still have to understand it, and you have to use a tool like CloudFormation or Terraform.

    1. 3

      Agree. AWS is way too complicated for startups.

    2. 1

      @CodeOfTheProgrammer thanks for listing all of that things

      What would your hosting recommendation be for someone launching their first product and haven't did all of that things before?

      Would it be Heroku that takes care for all of that things you mentioned? would it be something else (shared hosting?)?

      1. 2

        I haven't used anything else (I'm fairly new to indie hacking), so I'm reluctant to make any recommendations.

  5. 2

    You could go with AWS Amplify. It is a severless setup that starts off pretty much free and will scale as you grow without any need to upgrade/migrate anything.

  6. 2

    Probably the cheapest is to get a PHP hosting. You can buy a shared one for $10/y.
    You can also try FireBase or AWS Serverless.

  7. 2

    AWS EC2 - it's free :)

    1. 1

      That is an option, other thing: OVH check them out, huge european hosting company, and the prices are decent! :)

  8. 1

    If you know the bits of a correct deployment give it a shot to Contabo VPS. We are switching from Heroku to Contabo (the cost-benefit difference is huge).

  9. 1

    I won't offer a recommendation without knowing much about your intended implementation. I can offer this advice, however:

    • For my preferred tech stack (Java, Tomcat, MySQL, Apache + ModProxy, Vue.js), DO works sufficiently well and reliably that I have no need to look elsewhere.
    • A single, appropriately-sized VPS can get you extremely far in terms of app usage (dozens to thousands of concurrent users?) with an app that's even modestly efficient.
  10. 1

    If you want to host a blog or simple website: GatsbyJS + Netlify starts with a free plan.

  11. 1

    Heroku is fairly idiot proof (i.e. I'm using it and the site's not completely on fire!) and the hobby tier is $7/month which is good to get started. I'd only worry about scaling when you need to scale to avoid premature optimisation IMO

  12. 1

    As a co-founder of a bit similar SaaS and as a co-founder of software company I'd ask why not use no-code platform to prove your idea and generate the first revenue.
    If you had asked me the same question 5 years ago I'd combine a set like this: Python, Django, Postgre-SQL, etc, Digital Ocean and estimate about 3 months of development.
    But now I will do such a project with no-code in a week or less for a fraction of costs about 1/10.

  13. 1

    Well Heroku is free of you need it to be and can host basically any modern language / framework.

    Doesn’t get cheaper than that.

  14. 1

    Firebase 👍

  15. 1

    Echoing other comments that say: Don’t worry about scaling right now. Just focus on designing a good product and do the simplest thing possible to get it off the ground.

    By the time you need to scale, you’ll have more resources and more motivation to do it properly. Moreover, your architecture will probably have evolved so the performance bottlenecks at that point could be very different from what you anticipate now.

  16. 1

    Personally, for new projects I usually go:

    PHP 7.4
    Laravel
    Mysql 5.7+
    DigitalOcean ($5 p/m)

    I wouldn't worry too much about scaling up — it's a good problem to have and there's plenty of options available to you at that level. Keep it simple and keep costs down in the beginning IMO.

    1. 1

      All of the above except rather that digital ocean use Heroku which is $0 per month (if you need it to be)

      1. 1

        @Primer
        which mysql add-on do you recommened in heroku? i saw they have:

        • JawsDB Maria
        • JawsDB MySQL
        • ClearDB MySQL
          and why? :)
          (new to this)
        1. 1

          There really isn't any difference between Maria and mysql but I tend to go with mariaDB just because I prefer their history (google it).

          I haven't heard of ClearDB but I use JawsDB and they are awesome. I've only had to contact their support once (for an issue I have with another product that has a huge, paid-for database) and it was first class.

  17. 1

    I didn't use AWS, but I'm using Firebase now and I haven't paid anything for it yet (of course I will, if my project is successful).
    Big advantage is that Firebase gives you authorization out of the box, so you can consider this option.

  18. 1

    You are getting way ahead of yourself. You'll need many many multiples of users before you'd need to go into a complex solution. You can probably get by with the free tiers on AWS or go with the base offering from Linode, Heroku, DigitalOcean etc.

  19. 1

    JAM Stack

  20. 1

    I'd say the cheapest (free) and the easiest to code, deploy & run are Cloud functions (GCP, Azure or AWS Lambda). You can choose your programming language/framework too, and don't have to worry about scaling. With Azure Functions you can even self-host later as you grow.

  21. 1

    Probably use javascript to create a single page application and use Firebase for your backend (they have a free tier). Host the app on netlify for free, and you have a totally free app. You won't have to spend any money on infrastructure until you have thousands of users.