3 ms·
With many apps, you can completely bypass kubernetes entirely and just use something like elastic beanstalk or heroku for scaling (just by adding more nodes beh
by remmargorp64 6y ago
With many apps, you can completely bypass kubernetes entirely and just use something like elastic beanstalk or heroku for scaling (just by adding more nodes behind a load balancer).
- mleonhard 6y agoI invested several days setting up my product's backend on Elastic Beanstalk. After several weeks, I learned that Elastic Beanstalk is not reliable. Then I spent several days learning Kubernetes and gave up when I learned that it is overly complex and mostly undocumented. Then I wasted a week using Packer to build EC2 AMIs and deploy with terraform and run with supervisord. I learned that Packer is slow and Linux package repositories are unreliable. Both of these things could prevent me from deploying an emergency patch. Also, there are no reliable tools to clean up old AMIs generated by Packer. Then I spent several weeks learning Docker and migrating my product's backend to that. Docker's APIs and tooling are hard to use but at least they're reliable. And I can run the same binaries in production and on my dev machine. Throughout this process, I frequently looked at Heroku and then remembered how much they charge. I just can't bring myself to spend $500/mo for their ops automation. Perhaps I'm being penny-wise and pound-foolish.
- remmargorp64 6y agoI find it strange that you believe that Elastic Beanstalk is not reliable... That hasn't been my experience at all. My company has been using it to host our production infrastructure for over a year and a half now, and it has been performing excellently. Our site reliability over the past year has been somewhere around the 99.99% range (and few outages we did have were not related to Elastic Beanstalk in any way). We have our site hosted in multiple redundant physical locations (AWS regions), with a load balancer routing requests between multiple nodes. We do about 10-20 deploys to production on a daily basis, with zero downtime. Any time there is a deployment, the code is automatically deployed in rolling batches, and the nodes aren't added back to the load balancer until they pass their health checks.
- mleonhard 6y agoSee this comment: https://news.ycombinator.com/item?id=23136482 https://news.ycombinator.com/item?id=23136482