8 ms·
“You don't need this overengineered goo for your project.”
- bsaul 5y agorecently facing the dilemma of choosing between k8s vs something more basic. Features that seemed to be advocating for k8s were not server provisionning, but instead : log management, easy setup of blue/green & canary deployment, not having to restart a vm upon new code deployment, etc... How would you do those things as easily with other techs ?
- zorr 5y agoIt's all trade-offs. k8s is feature-rich, flexible and configurable but that also means high complexity. Simpler tools might not tick all the feature boxes. As long as your applications follow 12-factor principles it shouldn't be too hard to move between different orchestration tools and you can pick the one that best suits your needs.
- username_my1 5y agoaws elastic beanstalk all what a modern web app needs out of the box with 1 day to learn instead of years... and the best? you don't have to modify your code to work on it, ie environment and code are separate.
- notanzaiiswear 5y agoAnd if they don't like your politics, they simply pull the plug.
- Cthulhu_ 5y agoYou mean morally indefensible politics and misinformation propaganda? Oh no. Anyway. I mean these politics are pushed by rich Americans and foreign interests, surely they have the means to start their own hosting platform. It's the same that advocate in favor of businesses rejecting customers because of free market.
- notanzaiiswear 5y agoI'm not saying Amazon shouldn't be free to do that. Just that you should think twice about trusting them with your business. No further comment on the specific political content - those sensibilities can change. Can your business adapt quickly enough?
- deleted 5y ago[deleted]
- BackBlast 5y agoThis doesn't seem to be as easily defined as you say. The new AWS group is more or less targeted at "avoid bad press" rather than "indefensible politics", whatever that is. Twitter mobs seem to be quite fickle to me and can just as easily eat their own as their usual fare. News outlets aren't a lot better, often following big enough gripe fests and piling on like the rest. It's not just based on particular politics. It can be any behavioral screw-up done by you or any employee, at any point in your life, real or perceived, that crosses the current cultural expectations. The surface area of risk is ridiculously huge.
- notanzaiiswear 5y agoIt gives activists another angle of attack on your business. If they can create enough of a scandal, Amazon might drop you to avoid bad press.
- BackBlast 5y agoI don't use any cloud service that isn't available at other vendors. This isn't my primary reason, but it is on the radar.
- gowthamgts12 5y agowhy don't you consider nomad[0] in your evaluations. i think it should fit your requirement. [0] - https://www.nomadproject.io https://www.nomadproject.io
- Jedd 5y agoCan second this recommendation. We're running OpenShift and Nomad clusters - the former makes my eyes bleed, and the latter I can mostly get my head around. (Note that I'm not involved in operating either of those platforms.) You'll still get layer-upon-layer of abstraction - for example Consul for key-value and service discovery, Traefik for load balancing, Terraform to build up the service discovery rules, etc - but it feels somewhat more intentful, less boilerplate.
- sofixa 5y agoNomad all the way. It's much easier and lighter than Kubernetes, but it does 3/4 of what Kubernetes does. The ecosystem is much lighter but depending on your needs it could be entirely sufficient. I've written about Nomad vs k8s on my blog if that might interest you: https://atodorov.me/2021/02/27/why-you-should-take-a-look-at-nomad-before-jumping-on-kubernetes/ https://atodorov.me/2021/02/27/why-you-should-take-a-look-at... And I've also written about some common things, like Traefik for ingress, Loki for logs, etc. to supplement the pretty complete Hashicorp tutorials.
- reacharavindh 5y agoThis is the proper reason why so many orgs are considering/using something as complex as Kubernetes. It is not such a easy comparison of 10 servers running K8S versus 6 servers running KVM. There is more to it. Once you do config management, safe deployment mechanisms, observability setup, network management, secrets, RBAC, identity mgmt etc the "just a few servers running Linux" setup looks almost as complicated as Kubernetes and you've created a bespoke setup that only you know how to operate. If you go the Kubernetes route, sure there are bells and whistles that are not needed for your use case, but it standardises the operations such that you can hire a new team member and supply K8S documentation to them and expect them to do things in your infra setup. It is a choice. I have personally moved on from the "Kubernetes is never a good choice over running things yourselves" camp.
- deleted 5y ago[deleted]
- rapphil 5y agoNomad ftw
- monus 5y agoThat’s not an architecture diagram though, so it doesn’t represent the complexity at all. I’m sure a troubleshooting map for bare linux server wouldn’t be less complicated than that.
- necrobrit 5y ago100% and one of the great things about k8s is that this diagram applies to essentially any application. Standardisation is awesome.
- capableweb 5y agoProper standardization is awesome. De facto, corp-owned standarization not so much.
- deleted 5y ago[deleted]
- hughrr 5y agoUnfortunately as a k8s user in the real world every container is slightly different and has numerous hacks in it to make it compatible with k8s in some way or another. So no.
- curryst 5y agoThis is an underappreciated point. I love k8s. I hate the shit people decide to do in k8s. At a previous employer, we had a k8s cluster with a bunch of machines that were designed to a) load a filesystem kernel module inside the container (yes inside, not outside), b) mount /dev from the host in the container with Docker, and c) mount hard drives from the host /dev inside the container using the "mount" command. In a twist that should surprise no one, those containers don't work well. And they failed to work in crazy, confusing ways for which there is no documentation to troubleshoot, because who in their right mind would do something like that? I've had better luck in places that have a Platform as a Service team that owns the k8s infra. They generally have a lot more pushback to say "no, you're not going to do that on our cluster" which helps to tamp down some of the crazier ideas.
- jusonchan81 5y agoThis seems like something you can implement in a workflow tool like Netflix Conductor and we can automate the debugging process with visuals.
- deleted 5y ago[deleted]
- corobo 5y agoI love these Twitter takes. They say something to get attention but if you look at it for more than a second it's.. it's just nothing data Comparing a troubleshooting guide to running a site on a couple of servers is a bit too different for me. Compare it to a troubleshooting guide for those two servers, let's see how they stack up. No using any "ask {specific person}" either Don't get me wrong, kubernetes is overkill for most side project level things. I don't disagree, I just like to see things knocked down a peg fairly! Also as mentioned by this tweeter they use more than 2 servers anyway https://twitter.com/shadowmanos/status/1434980544740306947 https://twitter.com/shadowmanos/status/1434980544740306947 They could probably save on resources and maintenance effort if they switched to containers assuming this is still the same or more > This is #1 in a very long series of posts on Stack Overflow’s architecture. Welcome.
- Cthulhu_ 5y agoIt's taking one source - look at how these people solved it! - and trying to apply it to others. SO is relatively simple; it's basically customized forum software which is a solved problem that has been around for decades. A junior dev can build an alternative, and it can be built using tried and true solutions like MySQL + PHP, which are horizontally scalable with database sharding, read replicas, and maybe stuff like memcached to accumulate votes before updating the database or a CDN for caching static files. Google has different problems and different workloads, and they have hundreds of times more applications with thousands of times more load. Apples and oranges.
- JimDabell 5y ago> it can be built using tried and true solutions like MySQL + PHP, which are horizontally scalable with database sharding, read replicas, and maybe stuff like memcached to accumulate votes before updating the database or a CDN for caching static files. > Google has different problems and different workloads Which of these do you think most organisations most closely resemble? I don’t think anybody would disagree if you said that you should use Kubernetes for organisations that resemble Google. But most organisations don’t look anything like Google. They look a lot more like Stack Overflow. So the “You don’t need this…” statement holds true for almost everyone.
- preommr 5y ago> StackOverflow runs on a couple of servers. K8s can as well. The difference is a bunch of servers running k8s or a bunch of servers running custom code to duplicate parts of k8s.
- mdoms 5y agoOr a couple of servers running IIS with a handful of web apps, maybe a reverse proxy.
- VBprogrammer 5y agoAnd FTP for putting your PHP scripts into production.
- Jabbles 5y ago> StackOverflow runs on a couple of servers. Does it?
- DaGardner 5y agoYes it does: https://stackexchange.com/performance https://stackexchange.com/performance Pretty impressive I think.
- chrismorgan 5y agoNo it doesn’t. From your link: • 9 web servers • 4 SQL servers • 2 Redis servers • 3 tag engine servers • 3 Elasticsearch servers • 2 HAProxy servers That comes to 23. I know “a couple” is sometimes used to mean more than two, but… not that much more than two. “A couple” is just flat-out wrong; I’d guess that he’s misinterpreting ancient figures, taking the figures from no later than about 2013 about how many web servers (ignoring other types, which are presently more than half) they needed to cope with the load (ignoring the lots more servers that they have for headroom, redundancy and future-readiness).
- szszrk 5y agoExactly. That twitter thread is just pure rage based on no data. Sum up resources from that page - we are talking around 6500GB* of RAM worth of servers. That is no homelab. * Maybe a bit more/less, because it's not clear to me if DB RAM is per server, or per cluster. Likely server, as on other servers. There is also no data on how big is their haproxy.
- chrismorgan 5y agoNevertheless, it is true that Stack Overflow has focused on backend performance and scaled vertically a long way, further than is fashionable. Just not so far as only using two servers for everything.
- sofixa 5y ago
- ed_elliott_asc 5y agoI hate when stack overflow is held up as an example of how we can run any system on “a few servers” - stacknoverflow has like 3 features and has an engineering focus on the single goal of performance and keeping on running on the small subset of servers. Every other project as different constraints.
- Etheryte 5y agoI don't think this really does justice to what Stack Overflow does. They're probably the most visited engineering-related site on any given day. They have their widely known Q&A, live updates and notifications, chat rooms, a blog, job listings with email updates, review queues, moderator tools, and so forth. Perhaps you only use three features, but the site does a tremendous amount, and that's not even thinking about all the cross Stack Exchange network functionalities.
- ed_elliott_asc 5y agoPerhaps I was being a little dismissive but it doesn’t have the same features of something like Facebook or LinkedIn or google
- lmilcin 5y agoI think number of features have little to do with the situation. Nowadays, everybody insists on putting stuff on K8s regardless of how large or small it is. An application is an application for the purpose of running it on a server. It doesn't really matter how much functionality it has. It is microservices "revolution" (quotes intentionally) that caused larger applications to be split a lot of small ones and complicated the execution environment to the point that a lot of people spend a lot of time just trying to figure out how to run their applications reliably. That is not necessary. If you can have multiple microservices, more likely than not you can have them as separate libraries used by single application or a separate modules of a single application. Just make sure to put the same thought into modularizing it as you would designing microservices APIs and you can have the same but much easier and with much better performance (no serialization/deserialization, no network hops, no HTTP stack, no auth, etc.)
- luaybs 5y agoThis argument is nonsense
- kubanczyk 5y agoJust the pic, archived: https://web.archive.org/web/20210907091921/https://pbs.twimg.com/media/E-l2RDRXEAAEU6P?format=png&name=large https://web.archive.org/web/20210907091921/https://pbs.twimg...
- nisa 5y ago> “You don't need this overengineered goo for your project.” k8s is probably a great excuse to think how to compose your infrastructure and software in a declarative way - I'm still fascinated by https://demo.kubevious.io/ https://demo.kubevious.io/ - It just made "click" when playing with that demo - it's not goo it's a different operating system and a different mindset. You can do 80% of that with docker-compose / swarm for small projects but: If you read HN you are in a huge bubble - gruelsome patched tomcat7 apps on Java8 with 20 properties/ini/xml config files are still popular - hosting things in docker or doing ci/cd is still not mainstream. At least in Europe in the public sector stuff where I was involved. Sure you can mock it - but the declarative approach is powerful - if you can pull it off to have it across all your infrastructure and code with ci/cd and tests you are fast. This alone correctly implemented https://github.com/adobe/rules_gitops https://github.com/adobe/rules_gitops solves so many problems I can't count the useless meetings we had over any of these bullet points, bazel alone would have solved most major pain points in that project. Just by beeing explizit and declarative. Don't believe the hype but it's a powerful weapon.
- InternetPerson 5y agoAttention! Someone who knows nothing about your project is offering free advice!!
- p_l 5y agoInterestingly enough, SO is apparently going with k8s a lot... https://stackoverflow.blog/2021/07/21/why-you-should-build-on-kubernetes-from-day-one/ https://stackoverflow.blog/2021/07/21/why-you-should-build-o...
- wayneftw 5y agoThis from a guy who sells over engineered ORM goo (LLBLGen). StackOverflow didn't use that either and instead chose to invent their own query builder/mapper known as Dapper.