• @sugar_in_your_tea
    link
    English
    22 months ago

    I’m a fullstack engineer that mostly focuses on backend, so yeah, I basically want a copy of our production app running on my work computer. I have Docker configured so it only uses 4GB or so, but when I add our frontend (1-2GB), web browser (1-2GB), Microsoft crap (1-2GB), etc, the RAM adds up, and that’s just running half of our backend infrastructure.

    The silly thing is that almost all of my job is on Linux services, except our mobile app, which is React native and largely targets iOS (though we also support Android). I work across the stack so I need to be able to run all three (backend, web, and mobile).

    But I have to pick and choose what I run because my 16GB system is barely enough. So yeah, I wish we would’ve gotten 32GB at the outset, because swapping to disk is by far the biggest performance issue.

    So yeah, get more memory than you think you need.

      • @sugar_in_your_tea
        link
        English
        11 month ago

        A couple things to start:

        • I don’t need x86 compatibility - we run native aarch64 on M-series Macs, and x86 on older Intel macs; prod is x86, but we’re considering moving to aarch64
        • our app is more memory intensive than CPU intensive - basically a bunch of Python microservices

        That said, after some research into colima, it looks like it wins on I/O. So if you workload is relatively heavy on I/O, then it’s probably worth trying out.

        My issue is memory. I just need so many Python interpreters running Flask, FastAPI, and Django (we use all three). On macOS, I need to reserve the memory for the VM, which means I need to balance how much I can run vs what other stuff I want to run on my system. On Linux, there is no VM, so I benefit from all of the disk caching that the kernel does and can get a much better experience, even when running a lot of services (most of those services are idle most of the time).

        So switching to colima probably wouldn’t solve my problem, but maybe it would solve yours.