Eu uso um computador para minhas tarefas de codificação, jogos e auto-hospedagem e eles não se sabotam

Dividir o poder computacional de um sistema poderoso em diversas máquinas virtuais independentes é um grande benefício da virtualização. Afinal, as máquinas virtuais (e por extensão os contêineres) permitem executar ambientes isolados no mesmo sistema, eliminando assim a interação entre arquivos de projeto e ferramentas FOSS.

Mas depois de me aventurar no território da virtualização com meu laboratório doméstico Proxmox, percebi que ser capaz de isolar determinados aplicativos, projetos e experimentos usando convidados virtuais não é benéfico apenas para servidores domésticos. Na verdade, é igualmente útil para meu driver diário, e meu ambiente virtual é a única razão pela qual posso usar meu PC para jogos para trabalhar em projetos de codificação e hospedar aplicativos interessantes por conta própria, sem transformar meu sistema em uma bagunça caótica de arquivos e processos perturbadores.

4 serviços auto-hospedados que prefiro implantar como máquinas virtuais em vez de contêineres

Embora eu ame contêineres tanto quanto qualquer pessoa, prefiro máquinas virtuais ao hospedar esses utilitários

Meus projetos de codificação ficam isolados em um ambiente virtual

Embora o Windows Sandbox me permita testar scripts do PowerShell

Um dos meus maiores problemas ao trabalhar em projetos de codificação para tarefas universitárias era que meu computador inevitavelmente ficava lotado de novos arquivos e pacotes. E não estou falando apenas do meu código espaguete, configurações IaC e scripts cuidadosamente elaborados. Eu instalaria módulos NPM, pacotes Git e dependências aleatórias para um projeto específico, para nunca mais serem usados. Como meus projetos igualmente confusos ainda precisavam deles, qualquer tentativa de desinstalá-los levaria mais tempo para excluir todos os arquivos de código associados a eles. Combine isso com as extensões do VS Code que eu instalaria por capricho e você verá por que meu computador ficava rapidamente cheio de arquivos inúteis sempre que eu tirava um fim de semana para organizar.

Mudar para uma máquina virtual NixOS e usá-la como ambiente de desenvolvimento torna a máquina host muito mais organizada. Com o Hyper-V, eu poderia instalar novos pacotes o quanto quisesse nesta máquina virtual e usar instantâneos para recarregar do zero se minha configuração ficasse muito confusa. Para garantir projetos bem-sucedidos que eu precisaria para uso futuro, simplesmente instalei o Syncthing em uma máquina virtual, conectei-o a uma instância em execução no meu computador e configurei regras de sincronização bidirecional para atualizar automaticamente os arquivos sempre que eu os modificasse em qualquer sistema. Porém, também tenho uma instância de Debian e Arch Linux configurada usando WSL2 para projetos onde desejo desempenho máximo e não quero lidar com as peculiaridades do NixOS.

Isso antes de falar sobre experimentos que podem danificar meu computador. Veja, por exemplo, meus experimentos de DevOps envolvendo scripts do PowerShell, Windows Scheduler e Group Policy Editor. Tendo já quebrado um computador no passado com um script do PowerShell quebrado, continuo em um ambiente virtualizado, verificando se há algo que possa inutilizar meu computador principal. Mas, em vez de expor minhas VMs de desenvolvedor ao meu código potencialmente destrutivo, usei o Windows Sandbox para criar um novo ambiente isolado em segundos e continuar meus experimentos.

Podman Desktop serve como meu companheiro de autoatendimento

Com a extensão certa, pode até suportar ambientes Docker

Mudando de projetos estranhos para ferramentas FOSS, o Syncthing não é o único aplicativo de produtividade que hospedo no meu computador. Qualquer coisa que exija o poder de computação superior da minha GPU, seja um servidor lhama ou agentes aleatórios de conversão de texto em fala e de fala em texto, é executado em meu PC. Além disso, costumo usar meu computador para executar PairDrop, BentoPDF, Vert (especialmente seu plugin conversor de vídeo que consome muitos recursos) e outros programas úteis quando não consigo acessar meu servidor doméstico.

Embora alguns desses serviços estejam disponíveis como arquivos .exe típicos, utilizo suas instâncias em contêineres para adicionar uma camada extra de isolamento ao meu arsenal hospedado. Mais especificamente, eu uso o Podman Desktop como um tempo de execução de contêiner porque ele não é apenas totalmente de código aberto, mas também oferece mais recursos do que seu equivalente Docker. Seu suporte para pods é ótimo para agrupar servidores web e outras ferramentas que incluem serviços fortemente acoplados, e gosto de experimentar plug-ins Quadlets e Kreate ao criar arquivos YAML para minhas implantações de contêiner. Para serviços que não são executados no Podman Desktop, o aplicativo também possui uma extensão Docker que permite implantar contêineres usando o tempo de execução mais recente.

Proxmox é a maneira mais limpa de manter o Windows funcionando sem confiar nele

Você pode até usar uma máquina virtual Windows 11 baseada em Proxmox como driver diário!

Mas eu executo jogos na minha estação de trabalho multifuncional

Títulos especiais com anti-cheats em nível de kernel que se recusam a rodar em uma máquina virtual

Na verdade, tenho uma máquina virtual de jogos remota configurada em um nó Proxmox separado para transmitir jogos leves para meu smartphone. No entanto, confio no meu driver diário para rodar jogos de esportes eletrônicos e jogos graficamente exigentes. O fato de esta máquina ter a melhor GPU do meu laboratório doméstico (bem, relativamente falando, já que é apenas um RTX 3080 Ti) é parte do motivo, mas o verdadeiro problema é o fato de alguns títulos usarem tecnologia anti-cheat em nível de kernel.

Já tentei executar vários títulos multijogador em máquinas virtuais no passado, mas mesmo com a troca de CPU e GPU no nível do host, alguns títulos se recusam completamente a rodar em um ambiente virtualizado. Não tenho muitos jogos que dependam de anti-cheat em nível de kernel, mas para títulos que dependem, confio em meu driver diário do Windows 11 simples.

Link da fonte