4 ms·
I have a side project on AWS. It took me about a day to set everything up so I could boot a new blank instance & install everything in ~10 minutes. Everything
by danielheath 6y ago
I have a side project on AWS. It took me about a day to set everything up so I could boot a new blank instance & install everything in ~10 minutes.
Everything runs on the instance; a nightly job backs up the database to s3.
Deploying new code takes 15-20 seconds; if I want logs I can ssh in and look at them. The old ways of doing things work better than ever in 2021, thanks to cheap vertical scaling.
- timr 6y agoYeah, the thing is, you have to be specific about what you mean when you say "on AWS". I have a side project on AWS that I deploy with capistrano, runs on a rails deploy that I configured by hand, and requires approximately 5 minutes of "dev ops" maintenance a month from me. Most of that is upgrading packages. Switch that over to docker and terraform and who knows what else, and I wouldn't even have time to think about the project, but for the parasitic costs of the deployment infrastructure. I'm 100% certain that n00b devs would mock me for my old man ways, but the old ways can scale quite far before you need anything else.
- jordanthoms 6y agoThat's OK for a side project, but Heroku's selling point is that it's both easier to setup than that, and also has the resiliency, scaling and features you need for a proper production app. What happens if that EC2 instance dies suddenly or your EBS disk disappears, do you have point-in-time recovery for that DB? What about if you get an influx of traffic and suddenly need to scale beyond what a single server can do (which is admittedly pretty high). How about logging, deploys of a live copy of your site for each feature branch, etc? You can of course solve all those problems, but to solve all of them and do it as well as Heroku does will be a lot of work. That said over time as the hosted k8s solutions have gotten better Heroku has comparatively become less compelling, plus while Heroku can get to a large scale, you will eventually start to run into limitations with what you can run inside a dyno which would force you to move to something else. Since you'll have a 12-factor app though, it's relatively easy to migrate, the hard part is finding a new platform which doesn't feel like a massive downgrade vs Heroku.
- danielheath 6y ago> What happens if that EC2 instance dies suddenly or your EBS disk disappears, do you have point-in-time recovery for that DB? Nah, and that's a bit of a hassle. Yesterdays data will do in a pinch (they'll have to manually rekey a days worth of data and some might get forgotten, but that's what stocktake is for). That said, it's been running continuously for 3.5 years without downtime so far. > What about if you get an influx of traffic and suddenly need to scale beyond what a single server can do (which is admittedly pretty high). This particular app serves a small business, and I'm quietly confident they'll contact me before adding more than 100x their current staff overnight. It's currently running on a t3.micro, but I'd expect upgrading to a p4d.24xlarge with 1tb ram, 8gb NVME storage and 96 vCPUs will handle it if they do. > How about logging If I want to read the log files, I ssh in and read them. Sometimes I even scp them to localhost. > deploys of a live copy of your site for each feature branch I don't need that for a project with one developer and one stakeholder - I can just share my screen and walk him through what I'm changing.
- woah 6y agoSounds like you two are in agreement
- whatsmyusername 6y agoIf you want a value add for your resume, add sumologic. 500mb/day + 7 days retention is free for a non-gmail account and the insight you can get out of it is enormous. Especially if you json your logs (it busts all the fields out and does mouseover statistics all for you). And it can become the brains of your alerting system (no logs for x time? Email me, etc)
- irjustin 6y agoThe key point being, you know how to do all that. Managing it is easy for you. If you didn't know all that, how long would it take vs `git push` to deploy your website? Startups live and die by the ability to rapidly test ideas and go with the ones that stick. Heroku removes the absolute need to have devops knowledge.