3 ms·
For an MVP, I'd choose what I'm most familiar with and can be fastest with. That would mean: 1. Laravel 2. An Ubuntu VPS in either Digital Ocean or Linode 3.
by apocalyptic0n3 4y ago
For an MVP, I'd choose what I'm most familiar with and can be fastest with. That would mean:
1. Laravel
2. An Ubuntu VPS in either Digital Ocean or Linode
3. A managed database in one of those services, likely Postgres
That would get me to market the quickest. I have no issues with the application being in Laravel/PHP and after getting to market, I'd work on making the infrastructure scalable. I wouldn't expect overnight success, so a single VPS and managed database would let me keep costs low while I pick up a few customers and then work to handle the scalability in the background (likely AWS with a combination of EC2/ECS/Fargate, RDS, SQS, SES, CodeDeploy, ElastiCache, etc.)
- sanjayio 4y agoWhy opt for managed db?
- apocalyptic0n3 4y agoIn my experience, I'm far more likely to run into database bottlenecks early on than web server bottlenecks (largely through hastily and poorly written queries or unchecked Eloquent N+1 problems). I'd opt for the managed DB so that there's limited chance that the database will affect other processes on the webserver (including serving requests, handling background and scheduled jobs, etc.) It also makes it easier to scale within Linode/Digital Ocean if you find yourself needing to do that before the more complicated AWS infrastructure is ready.
- mooreds 4y ago> For an MVP, I'd choose what I'm most familiar with and can be fastest with. That is absolutely the takeaway here. Use the technology you are familiar with and/or can be fastest with. MVPs are risky enough, don't add in "oh, gosh, I have to learn the tech (libraries, deployments, monitoring, database access, etc)" as well. The only case where I'd pick a new tech for an MVP is when there is an existing open source or free project that I could use that would obviously get the project shipped faster by providing extensive pre-built functionality. For example, I once used Sharetribe https://github.com/sharetribe/sharetribe https://github.com/sharetribe/sharetribe even though I was only an intermediate ruby programmer because, after time spent evaluating it and other solutions, it had functionality that could get us shipped faster. From "git init" to our first beta customer was 1 month of time. Then to our first paying customer was 1 more month. One developer (me). To be fair, my co-founder had done a ton of market development before I started coding, so the initial market/feature discovery was done; that's a huge part of any MVP.