13 ms·
Perhaps a dumb question but I'm curious why people don't use a VPS or a cloud linux machine more for Docker/K8s development instead of running Docker locally on
by mulcahey 6y ago
Perhaps a dumb question but I'm curious why people don't use a VPS or a cloud linux machine more for Docker/K8s development instead of running Docker locally on a Mac.
In my experience Docker Desktop has been such a resource hog, and Apple's hypervisor implementation pretty poor. I much prefer to have all that heavy lifting isolated away from my development machine to keep it responsive and cool.
- bamboleo 6y agoProbably because it’s not very convenient or easy to setup. I have a 2013 i7 MacBook Pro and I don’t have that much trouble running Docker with 16GB of RAM.
- Tuna-Fish 6y agoIf I'm writing code on a shitty laptop keyboard instead of a proper mechanical one, it's because I am, or intend to often be, outside an office, quite possibly travelling. This also usually means that I will not have a reliable internet connection.
- itake 6y agocost? if im dropping $3k on a machine, I don't really wanna pay another $2k in cloud fees to do the dev work. you might say, "well get a cheaper computer!" but I find that cheaper computers have worse screens, battery life, and overall quality.
- swagonomixxx 6y agoI don't want to be _too_ pedantic but the M1 macbooks are significantly cheaper than their Intel counterparts. The 13 inch one is around $1300 USD. But I do agree with you. Cheaper laptops means a worse experience with almost everything.
- jsjohnst 6y ago> I don't want to be _too_ pedantic but the M1 macbooks are significantly cheaper than their Intel counterparts. The M1 MBP is about 15% cheaper, which I guess might be significant to some, but isn’t a huge selling point to me like you’re making it out to be. GP was talking about a 15/16” MBP at $3k, not the 13”.
- TheOperator 6y agoDevelopers for the most part have or can look forward enough to enough income to make a tool like a mac relatively inexpensive. My biggest problem with buying them has been how absurdly bad the hardware has been for years other than the trackpad. The screensize/weight ratio, the screensize/body size ratio, the keyboards, and the performance were all well behind the competition. MacOS only running natively on bad hardware was a great reason not to use it, the fact they charged a $500+ premium on their software was really just another nail in the coffin. You had to need or fucking love MacOS to justify buying a mac. How things change in a year or two. Pretty much only the weight/size relative to the screen size remains substandard and I expect them to improve on those fronts.
- jsjohnst 6y ago> The screensize/weight ratio, the screensize/body size ratio Based on HN comments, one of the most popular non-Apple laptops seems to be the Dell XPS. XPS: via https://downloads.dell.com/manuals/all-products/esuprt_laptop/esuprt_xps_laptop/xps-15-9550-laptop_reference%20guide_en-us.pdf https://downloads.dell.com/manuals/all-products/esuprt_lapto... - 15.61” - 4.14lbs - overall dimensions 14.06 x 9.27 x 0.66in or about 86in^3 Apple 16” MBP: via Apple.com - 16” screen - 4.3lbs - overall dimensions 14.09in x 9.68in x 0.64in or about 87.3in^3 —- So weight/screensize ratio: Dell = 0.27lb/in vs Apple = 0.27lb/in Screensize/bodysize ratio (higher is better): Dell = 92.7% coverage vs Apple = 93.6% coverage So just using your first two arbitrary criteria, seems Apple’s 16” laptop is ahead of or tied with, but not “well behind”, this competitor. I’m sure you can pull out some edge case laptop that beats it, but as the XPS is arguably the most popular non-Apple laptop among devs, I feel it’s fair to say the Apple laptop is definitively not “well behind the competition”, at least using your criteria. For a laptop that’s <3oz heavier and only 1.3in^3 larger dimensions, you get a screen almost a half inch bigger, almost 20% larger battery, the worlds best trackpad, 8 core i9 vs a 6 core i7 processor, option to get 64gb ram rather than being limited to only 32gb, etc etc.
- Kwpolska 6y agoThe M1 MacBook Pros are cheaper, because they replaced the cheapest Intel MacBook Pros in the lineup. Before M1, $1299 was the price of a MBP with 1.4GHz Quad-Core Processor with Turbo Boost up to 3.9GHz / 256GB Storage / Touch Bar and Touch ID: http://web.archive.org/web/20201105002246/https://www.apple.com/shop/buy-mac/macbook-pro/13-inch http://web.archive.org/web/20201105002246/https://www.apple....
- gmaster1440 6y agoThat's one of the premises behind the Codespaces offering: https://github.com/features/codespaces https://github.com/features/codespaces
- diveanon 6y agoI'm pretty excited about this and see if being the norm for most web dev in a few years.
- ogre_codes 6y agoIf you have multiple developers working on the same product, you want each developer to have their own environment. In my experience, for cost, convenience, and productivity its made most sense to do this with local Docker. It also eliminates a lot of connectivity issues with running on a remote machine. > In my experience Docker Desktop has been such a resource hog Not sure if this is related to the specific project or what, but I haven't had tons of trouble with docker being a big hog. That said, they are significantly changing the way Docker on M-Series CPUs works, working directly with Apple's Virtualization Framework which I believe improves performance.
- luhn 6y agoThe main resource issue is because Docker runs in a VM, it can't share memory with the OS. So it's using the configured amount of memory (2GB by default) whether you're running busybox or an entire Kubernetes cluster.
- ogre_codes 6y agoI think the Virtualization Framework mitigates that to some extent. The way Docker was required to run on x86 it needed a Linux VM which I believe the Docker images ran atop. Under the new model, I think they run on bare metal and share memory. Regardless, for me the cost of adding enough RAM to support Docker is less than the headache and expense of spinning up Docker images in the cloud.
- luhn 6y agoM1 Docker still needs a Linux VM, Virtualization Framework is just a different way of doing that. I'm not aware of any VM that can share memory with the host, but maybe Apple has some black magic up their sleeve.
- ogre_codes 6y agoYeah, fundamentally Docker is Linux on Linux. If you are running Linux on MacOS, it's not Docker, it's a VM. So Docker installs are Linux Docker Image -> Linux VM -> MacOS Virtualization Framework. For that reason alone, I suspect Linux will always be the best host system for Docker images.
- diveanon 6y agoNetwork volitilty and debugging were the reasons I moved back to a mostly local dev setup. I also run linux though so resources aren't much of an issue for me. I'm actively considering setting up remote environments for one of my teams that is all mac users working in a containerful dev environment.
- derethanhausen 6y agoIt can get surprisingly expensive when left on 24/7. If someone can come up with a remote (dare I say, serverless?) development environment that could seamlessly suspend/resume or share resources, then it would be a lot more compelling to me.
- ChrisLTD 6y agoAWS Cloud9 has a setting to shut down inactive instances after X number of hours. Then you aren't charged for the compute time, only storage.
- erulabs 6y agoI’m building a startup that aims to help with this - but as others have mentioned - who wants to pay for two computers? One solution is re-purposing an old PC into a home-server - once that’s setup, tools like Skaffold start to shine - local network speed, a cool laptop, containerized development, and a platform for home-hosting! Anyways I’m very excited about this future - much more than paying AWS for another machine!
- jillesvangurp 6y agoWithout kubernetes, Docker Desktop is fine. Been running it for years on my current and previous mac book pro (the 2012 model). Docker performance has never really been an issue for me. The bundled kubernetes seems to burn a lot of CPU though; so I keep that disabled. I work with other people in teams and I don't get to tune every project I deal with to be just right for my tastes and hardware. So being able to run their stuff as is with emulation is preferable to me having to customize everything before I get to run it.
- dgdosen 6y agoIt's been taking a while, and the kubernetes is still 'starting...' - Did you have the same issue?
- dgdosen 6y agoClarifying a bit - I can't start up the Docker Desktop Kubernetes - If I take a look at the image downloaded (docker/desktop-kubernetes) it only shows tags for amd64. When I try to spin up kubernetes, the UI just shows 'starting...' while the logs show the image won't work with this architecture. Anyone else see this? Any workaround?
- nhoughto 6y agofeedback loop is longer, if my workflow is: make change -> compile -> build image -> deploy to k8s then running docker/k8s remotely would be great but i need great upload bandwidth to be pushing fresh images everytime I make a change. In theory docker layers/caching should fix this but the reality is that you don't add individual files to an image, you had the compiled artifact/bundle/whatevs and if any file changes its going to upload it again, made worse by a change that effects many components/images/k8s pods. If you can solve the upload bandwidth problem (local servers? giant pipe?) then becomes more possible.