4 ms·
> If you’re in the cloud, VMs + autoscalling or fully managed services (eg S3, lambda, etc) make more sense and allow you to focus on your app. Yes there is loc
by shoo 8y ago
> If you’re in the cloud, VMs + autoscalling or fully managed services (eg S3, lambda, etc) make more sense and allow you to focus on your app. Yes there is lock-in. Yes, if not properly arhitected it can be a mess.
I've just rolled off a project (line of business web app + cluster of workers for background job processing), this more or less describes what we have running.
Some of the architecture is a bit wrong (it wasn't designed for AWS but shifted there after it had been running for a year or so) but the system works well enough to deliver value to the business.
As a developer I hate state, things that aren't properly isolated, ill-defined system boundaries -- but it's not obvious to me what the business case would be to containerise everything.
- threeseed 8y ago> it's not obvious to me what the business case would be to containerise everything Containers allow you to move apps trivially between environments and guarantee that they will just work. It allows you to isolate dependencies between apps e.g. Python 2 versus Python 3. It allows you to move apps between cloud providers or between on premise and cloud. With platforms like Kubernetes it allows you to easily scale and self heal when nodes die. And compared to rewriting your app in Lambda which is expensive and complex it is simple to build a container as almost every language has automated tooling.
- mirceal 8y agoNot sure I agree. If you need a container to do the things you mention you’re already in a pretty bad shape. Not to mention that a lot of people don’t understand what a container is.
- mmt 8y ago> Not to mention that a lot of people don’t understand what a container is. That's part of the appeal, the abstraction away of all those pesky, irrelevant details. Developers just want their app to run, as has been mentioned elsewhere in the thread. That desire is understandable. So long as the abstraction isn't too leaky and nothing underneath breaks, there's no downside. It's all upside in terms of human productivity and time to market. Even introduced inefficiency (if any) is unimportant if VC money is fueling the auto-scaling. There's a popular aphorism about premature optimization. Humans are also, in general, far more expensive than machines, especially at scale, and even a mature/traditional company would ignore this at their peril. If problems do eventually crop up with containers or the toolsets around them, chances are, by then, their sheer popularity will ensure the availability of a cadre of experts who can troubleshoot. They may even understand what a container is, even if it's terribly unfashionable to admit, as is the case with operating systems today. Every new technology/tool has some growing pains and is subject to what some consider misuse (due to ignorance). That doesn't necessarily mean it's best to reject it outright.
- mirceal 8y agoBig fan of playing with new tech. In a safe environment where failure is an option. Don’t go betting the farm on shiny things.
- mmt 8y ago"Personally" (professionally), neither am I. This kind of conservatism was formed after decades of sysadmin/ops experience. However, having acquired a strong affinity for startups, I also accept that risk (even complete, betting-the-farm risk) is totally OK, so long as that risk is taken in an informed manner. Startups, especially early ones, are a risky proposition from the get-go, and VC money tends to amplify that. The market doesn't much punish a web startup that grew like crazy but lost some user-generated content by using some "NoSQL" database when it first came out. It does, however, punish the one that failed to grow by being too conservative. That's obviously a false dichotomy, but I believe that's essentially the perception that's created, partly by characterizing new technologies as dangerous because they're new and "shiny". Ultimately, I consider mine to be a service profession and an engineering one. As such, if I think a new tech is too undesirable, it's up to me to provide an alternative that actually addresses the original problems (without offloading the burden onto my users/customers).
- outworlder 8y ago> Not to mention that a lot of people don’t understand what a container is. Well, I'll bite. Do you? What is a container?
- mirceal 8y agoBest definition: there is no such thing as a container. When people say container they usually mean a bunch of kernel features (cgroups, namespaces, apparmor, etc) + an overlay filesystem. I played with stuff like this since the chroot jail days and knew about containers before they were cool (anyone remember lxc?).
- deleted 8y ago[deleted]
- jskaggz 8y ago> Containers allow you to move apps trivially between environments and guarantee that they will just work. Assuming your staff can keep your cluster un-screwed, am I right? Technologies like vmware, (which also give you os independence not just linux flavors) if we're talking on premises also allow you to move apps between environments. It's trivial to, gasp, push a machine out of vmware player to the cloud even. Pick your poison, vmware, virtualbox, azure, aws, gcp. I'll run kubernetes as provided by GCP or AWS for my clients if it's warranted (ohhh, you wanted that in "webscale", got it. ;) ), but I really feel sorry for all of the on-prem "enterprise" shops that have taken the hype bait and are now paying the maintenance burden under all of the false pretenses that are flying around. "Horror's of Upgrading Etcd Beneath Kubernetes" with dozens of production application instances, with uptime SLA's and real customer business impact? Indeed. Fraught with peril, and without the right staff onboard, disastrous. Folks be like, hey a team of consultants just finished building out our new kubernetes cluster, now we want to run our mission critical oracle/mssql servers on it. They said it should work "fine". Too bad they all got jobs at insert mega capacity company here right after we cut the invoice. Y'all remember when everyone would line up to get the latest microsoft windows beta? Flashback. Yo yo yo, XML is all the rage! Not. Relational databases are dead! Um, no. Maybe this needs some time to travel down and back up the hype cycle curve. Power to all of you beta testers! You're truly doing gods work :)
- shoo 8y ago> Folks be like, hey a team of consultants just finished building out our new kubernetes cluster, now we want to run our mission critical oracle/mssql servers on it. They said it should work "fine". Too bad they all got jobs at insert mega capacity company here right after we cut the invoice. mmm! http://classicprogrammerpaintings.com/post/131118350394/army-of-contractors-migrating-to-microservices http://classicprogrammerpaintings.com/post/131118350394/army... http://classicprogrammerpaintings.com/post/169578560497/rhel-system-administrators-entering-the-docker http://classicprogrammerpaintings.com/post/169578560497/rhel... http://classicprogrammerpaintings.com/post/153774064947/friday-afternoon-junior-sales-rep-and-it-manager http://classicprogrammerpaintings.com/post/153774064947/frid... http://classicprogrammerpaintings.com/post/142748219994/serverless-architecture-joaqu%C3%ADn-torres-garc%C3%ADa http://classicprogrammerpaintings.com/post/142748219994/serv...