4 ms·
That's from a birds eye view and is totally irrelevant to the current question. The state deployments are in right now, there's so many viable, and somewhat eas
by intev 5y ago
That's from a birds eye view and is totally irrelevant to the current question. The state deployments are in right now, there's so many viable, and somewhat easily accessible options. Choosing one over the other is not different in terms of amount spent learning, because each comes with its own set of issues.
For example, I built out one service in GCP and another in AWS and they both roughly took about the same amount of time to "figure out". I just wanted to see the differences. In general for my purposes both work fine, but I'm finding GCP cheaper. If someone had told me that in the beginning I would have just gone with GCP. Asking "Will X increase/help with my user growth/traction" is sort of irrelevant because I need to do one of 2 things and I just need help making the right choice.
- vlod 5y ago> That's from a birds eye view and is totally irrelevant to the current question. Really? You don't think speed of execution is far more important? Getting something to your users, validating assumptions and failing fast is also kinda important? IMHO using the latest tech is not. Now I know docker/docker-compose, but would I use it for my own projects?... meh.. probably not. It doesn't take THAT long to set up a box manually (apt install postgress redis nodejs nginx, will get you a LONG way) or with an ansible script if you know it and want to get fancy-pants on me). Spending time doing AWS/GCP, your users don't care. Whether you can scale to 100M users like Facebook, your users don't scale. If you know docker and can deploy faster than me writing all this, then great use it. 95% of these projects will die within a year. My approach is everything within the first year is disposable. If it takes you a weekend to hack something in php (not the most shiniest thing around, but if you know it great) and push it to prod in a weekend that's better than learning rustlang (although subjectively better in some eyes) and it taking you 6 months. IHMO. > The state deployments are in right now, there's so many viable, and somewhat easily accessible options. Here's one that takes you about 1/2 hour (or less) to learn: `ssh prod; git clone github.com/foo/great-project.git; cd great-project; npm run prod:build` (or the equivalent)`. Done. Standard no frills get-shit-done. Crappy, yes. But faster than your competitors. > but I'm finding GCP cheaper. I'm a tight wad. I like cheap. That's why I think AWS/GCP are too expensive for what you get (AFAIK). Spin up a DO/Linode 4G instance for $20pm. Is is cheaper than that? I doubt it. > I need to do one of 2 things and I just need help making the right choice. The POINT is, which I wish someone told me at the start of my journey, is that you DON'T NEED (at least not in the beginning) anything but a strong attitude to get stuff done and released as fast as possible. Now you may think learning GCP and AWS is great for your long term career and there is truth to that. Whether it's valuable to learn something for scratch to do a startup, I would question that,
- intev 5y ago> Really? You don't think speed of execution is far more important? Getting something to your users, validating assumptions and failing fast is also kinda important? IMHO using the latest tech is not. It is but not if you are using outdated tech that will cost you many more hours just even months down the line. Let's say I'm working with a co founder who knows delphi really really well. You think we'll build anything in delphi or spend a little time to learn any other modern language to ensure our speed stays stable in the future? > My approach is everything within the first year is disposable. Interesting approach but I respectfully disagree. I built a side SaaS app that's really important to stay up 24/7. I didn't want to go back and set up server infrastructure multiple times, especially not with the amount of information available online. Your code of course will keep changing but there's no reason you need to keep changing your infrastructure if you make the right choices in the beginning. I never once changed my infrastructure in the 4 years I've been using AWS (beanstalk). > Done. Standard no frills get-shit-done. Crappy, yes. But faster than your competitors. So so so so much more crappier. I would never do this for my paying customers. I have been running a somewhat critical piece of infrastructure for about 4 years now on AWS. I primarily use beanstalk, so in a way less work than a straight VPS but yes can be a bit more expensive. You know how much downtime I've had? Probably 3 hours TOTAL, and that too because I pushed something that had bad build commands. 3 hours over 4 years. I know because I have a monitoring service. I never had to restart a single server, upgrading has always been one click and deploying has always been one command. The peace of mind has been incomparable. You system would leave me nervous every time I take a vacation. I go on vacations without a worry in the world. My system just took a couple weeks to learn the ins and outs and costs a little more. Mine over yours any day of the week. If I'm just messing around with a personal project, then I use a VPS because literally no one relies on it.
- vlod 5y ago> You think we'll build anything in delphi Haah of course not! :) but doesn't mean you should flip to the other extreme and learn how to do k8 and spend a whole bunch of time on it. >Interesting approach but I respectfully disagree. I built a side SaaS app that's really important to stay up 24/7. From the get-go? Did you spend a whole bunch of time learning it or did someone else pay you? (As an employee). Most solo projects are not like this. > I would never do this for my paying customers. I have been running a somewhat critical piece of infrastructure for about 4 years now on AWS. Of course not, neither do I anymore. For paying customers who can afford it, AWS is a great solution. Most small timers with low traffic are happy with DO/Linode. You can be fancy and have CI/CD or webhooks of code checkin on the master branch. As a side note, back in the day, I've used Capistrano, which is pretty much the the above commands wrapped in ruby script. The OP has said he is going to use this as it's a Rails project. However this is the crux. You're most likely having someone else pay for hosting. You're probably getting someone else to pay for you to learn how to do XYZ. Most likely you're not even aware of how much this infra is costing the client. I really don't have a problem with this. Good for you. However the person who posted the question was a solo-founder trying to understand whether to learn Docker. This probably is a person who is not a super techy. (A lot of people here know docker just becz of curiosity) and I would hazard a guess not a big runway. These reasons alone, IMHO I would suggest getting something out there, learning to see if there's a market and reiterating.