I am trying to plan my home lab to satisfy two different needs:

  1. I want a stable environment where I will put a relatively expensive NAS and maybe some other Zima boards.
  2. I also want to try new versions and configurations in an env where I can break stuff BEFORE trying things on my Production environment. I would also like to use that environment to try other things like playing with Kubernetes, Docker, Iceberg, etc. I am a backend software engineer so this is very useful to me. Besides being fun.

So, I am just trying to gather ideas on how to configure this both in terms of software and hardware.

  • just_another_person@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    2 days ago

    Why would you only need a NAS in one environment? If everything is otherwise the same, and the function of the NAS is just hosting a similar service integration with less actual binary object data, then you make that same integration point available point in both environments to be able to test that portion.

    If this is just homelab stuff, you don’t need two environments like this, you just need a way to switch contexts and rollback between two places. This is not what staging environments are for.

    • Campers@lemmy.worldOP
      link
      fedilink
      arrow-up
      0
      ·
      2 days ago

      No. I really need Production to be stable because other people will be using it. And I do not want my own playing around to cause issues.

      I am really considering both @slazer2au@lemmy.world idea of a smaller NAS from the same company and @Zachariah@lemmy.world idea of just creating a new volume in the same NAS.

      • killeronthecorner@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        2 days ago

        If you’re very concerned just have your prod environment and kick up test services in docker containers and test your tweaks and changes there.

        Doing this ad-hoc will be easier and more practical than trying to maintain two full environments like you’re a series B startup finding it’s feet!

        • just_another_person@lemmy.world
          link
          fedilink
          arrow-up
          0
          ·
          2 days ago

          That will have a host of other issues that is not super fluid to work with while trying to maintain similar environments. Most notably the networking.

          • killeronthecorner@lemmy.world
            link
            fedilink
            English
            arrow-up
            0
            ·
            2 days ago

            If this causes networking issues, your setup is already too complicated to manage through a flat set of docker containers. That’s not a bad thing, this just isn’t the horse for that course so to speak.

            • just_another_person@lemmy.world
              link
              fedilink
              arrow-up
              0
              ·
              2 days ago

              Not causing network issues, but for a layman that isn’t familiar with managing multiple environments already, controlling a multi-env containerized environment is going to be a nightmare if solely just using containers as a staging environment. It doesn’t map to what his prod env (non-container) would be, and it’s not going to catch problems which would arise from his prod environment anyway if looking at from an integration standpoint.

    • Campers@lemmy.worldOP
      link
      fedilink
      arrow-up
      0
      ·
      2 days ago

      Oh… That sounds risky!

      But, with no experience doing it, I may be missing something.

      Have you had no issues with this approach?

  • Onno (VK6FLAB)@lemmy.radio
    link
    fedilink
    arrow-up
    0
    ·
    2 days ago

    Depends entirely on what “Production” means. In a corporate environment it means something completely different from a homelab

    If you’re doing this for real, you’d have two identical environments.

    If it’s playing with Docker or Kubernetes, you don’t need anything more than a VM with Linux and Docker.

    If you want to get serious, you can also set up a sandbox on EC2.

    • Campers@lemmy.worldOP
      link
      fedilink
      arrow-up
      0
      ·
      2 days ago

      Good point. I need to consider doing this to make troubleshooting easier.

      Also curious if someone had any RAID related issues. Which you will not catch with a 1 or 2 disk NAS since you cannot have RAID 5 there.

      • Zachariah@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        2 days ago

        Seems pretty unlikely that any testing would depend on the RAID level. That should be transparent to 99% of things you’d do. But you should be able to predict when it does affect something.

  • slazer2au@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 days ago

    I would make a new volume on the nas for testing purposes. Give it enough space to hold some data but no where near enough for your production data.