New Machine Specs for a Hardcore Developer

Good morning All,

I am planning to build a new machine that I can make it as a server to handle some personal project websites. I am planning to run dockers containers for my personal use.

I am thinking of getting AMD Ryzen 7 5800x CPU.
Which motherboard should I go with this CPU? I just want to use it as a server station, so planning to get enough RAM slots (can cater 64GB), Wireless Network Card with Wired one.

I am keen to know your opinion on what I should buy:

Motherboard
CPU (processor) - AMD Ryzen 7 5800x CPU
GPU (graphics card or video card)
RAM - 32 GB DDR4 (Expendable to 64 GB)
Hard Drive/Boot Drive/Storage Drives - 256 SSD, 1 TB HDD
Cooling (i.e., fans)
Power Supply
Case (sometimes called a chassis)

Plan is to use for K8s, KAFKA, Postgres, Kong and many other open source project.

Any recommendation is appreciated.

Comments

  • +2

    Will you using the computer for heavy computational tasks? If not, have you considered having a server on the internet instead? That way you can get a laptop and work anywhere.

    • Cost of getting a server with 32 GB is still way expensive.

  • +7

    for a Hardcore Developer

    For video editing of your movies?

    • You might need one for you yoga classes

      • "Small things amuse small minds."
        Doris Lessing

  • +4

    dockers containers …

    Hardcore developer?

    • Lol

    • Only if you are running 20+ containers is it getting into a medum dev and then I would say 40+ would be hard core and even this is conservative.

      Now days K8S is what the hard core devs use, not docker.

      • easy way to understand that machine not to be used for playing games.

        I have updated my question with expected usage.

  • +2

    What on earth is a "Hardcore Developer" and how do they diffrentiate from other developers needs?

    What does a developer need Docker containers for? App development? Hardly "hardcore"…

    • Docker === back end or web dev front end integration.

    • -1

      umm - hardcore.

  • +2

    No one has called a computer case a chassis since the 1980s.

    Technically you can use any computer as a server.
    It depends on what you plan on doing with this "server", a 5800x is a consumer grade cpu meant for gaming and workflow editing.

    A server is its own class of pc, depending on what you are doing with it, you would want more cores and possibly ecc ram for error correction.

    • -4

      There's no need to be so pedantic about it all.

  • What is the budget?

    • 1200 or less.

      • Is that for everything (ie CPU, motherboard, RAM, GPU, Storage, Case, etc)?

        If not what does the $1200 need to cover?

        • My budget is to cover everything that I have listed above.
          I don't need any expensive GPU as it is for the server purpose and not for gamification.
          I don't need a monitor or any other peripherals such as mouse or keyboard.

          Motherboard

          CPU (processor) - AMD Ryzen 7 5800x CPU (500$)

          GPU (graphics card or video card)

          RAM - 32 GB DDR4 (Expendable to 64 GB for future)

          Hard Drive/Boot Drive/Storage Drives - 256 SSD

          Cooling, Power Supply & Case

          Main focusing area is CPU and RAM.

  • +1

    My recommendation would be a big old "don't" to hosting websites on your personal machine.
    There are heaps of different opportunities to host these on various cloud services, which saves you:
    - Needing a fixed public ip
    - security to your home network on unpatched software
    - needing power / failover etc.

    Hardcore developers would do the following:
    - Build functionality locally on your laptop
    - test functtionality locallly
    - push to cloud hosting service

    Even if you want ultimate flexibility to deploy what you wanted in terms of additional containers, an EC2 instance would be less headache.
    Literally the whole point of docker is that it can run anywhere the same, so same on your laptop as the cloud.

    As for a machine to develop locally:
    You need less than you think you do unless you're doing something like machine learning, ai, or high performance batch processing.
    Any modernish CPU with 16GB of ram will get you extremely far in a basic webpage setup.

    FWIW I work in software, we build applications which run in docker, and deploy them to public clouds.
    We do all this on very low end macbooks.

    • Did you pay for Ec2 instance by yourself? I pay roughly 20-30 $ per month for a single lower specs instance.
      If I have 5 containers, what will that cost be?
      If I run a database , what will that cost be?

      I reckon my personal server machine will workout cheaper + a lot freedom what I want to do.

      • +2

        I may have misunderstood your criteria:
        My assumption was that you would be exposing the websites to the internet - if thats true i still recommend not using your personal machine. Your gonna pay more - sure - but setting everything up to point to your computer comes with additional security / failover complexity.

        If you plan on just tinkering - yea doing it on your computer will likely give you more flexibility and cheaper.

        As for specs - you're really asking super vague questions. It sounds a bit like you want a space where you can tinker with multiple applications and containers - but aren't really sure on the actual requirements you need.
        If thats the case, I'd go with good value tier CPU, bout 32GB of ram (having it expandable is a good idea) - your requirements sound reasonable. More ram is always useful for heaps of containers - but really depends on the containers you are running.

        FWIW - K8s, Kafka, NoSQL - these are all majorly beneficial cause they are highly distributed systems. Running them on a single machine is odd - but good for learning with.

      • +2

        what are you doing that costs that much? is that just the price for uptime?

        just curious because you said its personal projects. if its just for yourself and the needs arent crazy (eg covered by a low spec machine), then you could look into the free tiers available on different hosts.

        I've only used heroku for this kind of thing a few years back, but the benefit was that you could spin up a bunch of free projects and theyd basically be there when you wanted to show them off or whatever, while you figure out whether they are worth spending money on.
        main downside was that they are slow and go idle, so not useful for 100% uptime to many users

        • I like your thinking - however I need a help with my machine to implement open source project. The cost of running a Postgres as an example is way too high.

          • @ivegan: Do you mean a managed postgresql? Like RDS?
            Or as in a postgresql container?

          • +1

            @ivegan: Forgive if I've misunderstood your implementation needs, but just to be clear, the free heroku INCLUDES a postgres db addon up to 1gb/10k rows.
            I'd expect this to be the same for any similar offerings, and not something that gets too expensive until you've got something quite large going.
            Expensive both in terms of dollar pricing, and computational power.

            btw, what machine are you using currently, and how is it able to withstand your current workload? Asking because web dev can be very light, and it's a bit hard to tell if you might be overestimating needs. I've read plenty of articles arguing for thin clients, people sticking with 10yr old laptops etc when it comes to web projects.

            oh and in case you don't know this one, a good tool for quickly creating a public endpoint is ngrok
            your stack sounds cool though, and more up to date than my old dabblings in web

  • +1

    What :
    1) Are you actually developing
    2) OS are you using
    3) Dev tools used
    4) Language used
    5) Back end requirements. K8S, Kafka, RDBMS, NoSQL etc

    Need these before anyone can help out as the info supplied is lacking details.

    • +1

      .net core, Kafka, Email server, Postgres, k8s, kong api gateway.

      • +1

        FWIW really cool stack that your getting into - have a look at kafka connect also, gets really powerful really quickly.

      • +1

        Sounds like you are just starting out and have not done this before, so I am not going to be too hard on you. You should have indicated this in your post, not you are hard core as you are NOT.

        Get 64GB RAM and the most cores you can afford as these are where you WILL bottleneck on K8S if you are under resourced.

        Host OS on an SSD and depending on your budgets store the images on an SSD if you have a big budget otherwise they will have to go on a spinning HDD. I would put the actual data stores for the various apps listed on a spinning HDD due to cost of storage.

  • +1

    You'd need a pretty meaty processor. Oh wait.. you're vegan! 😁

    • -1

      grow up :-)

    • What sauce do you want on top?

  • Are you planning to run it 24x7 like a server should? Then get a Minisforum HM80, HM90, or even the HX90 if you fancy.

    Kit it out with 64GB RAM, 1TB NVME, 2x1TB SATA SSD. Get another one for HA.

    For more ideas, check out /r/homelab

  • Going to throw you a curve ball, but how about getting a used Dell PowerEdge server?

    I have an R720 at home that I use for Docker containers, website hosting, data backup, PiHole etc.

    Paid $800 for 256Gb of RAM and 2 X 8 Core CPUs, 4 network cards.

    Has 16 HDD slots, so plenty of expansion etc.

    I was also considering a desktop machine, but this came up and I always wanted one so….

    Downsides:
    They can be noisy. I have the fans set low as not too much computation happening
    Power consumption. Uses about 180W at idle. For reference, my desktop uses about 100W at idle. Not a HUGE difference, but something to consider
    Size. These things are BIG. I keep mine in the granny flat/office, so keeps wife happy

    Upsides:
    You get enterprise grade hardware and software
    You get to learn how these servers operate and will improve your networking skills etc
    They can do way way more than your desktop, whilst being way more reliable
    You get huge bang for buck
    They are super cool to have at home!

  • +2

    All I know is that anyone calling themselves a "hardcore developer" is probably far from hardcore…

  • +1

    I've been a developer since the 70's. I'm currently running a 2nd gen i7-2600K overclocked with a GTX1080 graphics, 1TB SSD, 10TB HDD, 16GB RAM, 4 screens, HTC Vive VR.
    I've benchtested it and on a core vs core basis, it's within 20% of the current generation processors.
    For dev work, you don't need more than a single core usually - but even this rig plays most games in full-candy mode beautifully.

    I have a dedicated server too…it's a raspberry pi. Just chugs along in the background and copes quite happily with a full home automation server running on it.

    The current $$$ needed to build a new machine up from scratch is just not worth it…they're pretty but.

Login or Join to leave a comment