O futuro dos sistemas operacionais: O projeto Bluefin.

Um projeto pouco conhecido de desktop Linux propõe um sistema operacional contêinerizado que se mostra ideal para ambientes corporativos de computação.

Mesmo diante dos avanços em Tecnologia da Informação, como o uso de hardware modular, a computação em nuvem em larga escala e dispositivos de borda compactos, a TI ainda enfrenta um desafio de dimensionamento. Não se trata de uma questão física – é relativamente simples adicionar mais equipamentos, armazenamento e recursos. O verdadeiro desafio está em garantir que as operações funcionem conforme o planejado nesse nível de escala, o que começa com a capacidade de construir, implantar e manter aplicativos de forma eficiente à medida que a infraestrutura cresce. Isso implica que o sistema operacional, como pilar fundamental do desenvolvimento e operações (DevOps), precisa ser capaz de escalar de maneira rápida, suave e sem interrupções.
Vou ser direto: Esta situação é desafiadora. Muito desafiadora.
Mas talvez estejamos prestes a ingressar em uma nova era de avanço para o sistema operacional. Testemunhei o potencial futuro dos sistemas operacionais em grande escala com o Projeto Bluefin. Como um novo e pouco conhecido projeto de desktop Linux pode antecipar o próximo paradigma da computação empresarial? A resposta está em três palavras: sistema operacional em contêiner.
Em resumo, esse modelo é uma representação de um contêiner contendo uma distribuição completa do Linux, incluindo o kernel. Você inicia com uma imagem base, faz suas modificações nela, e em seguida envia seu trabalho para um servidor de registro. Depois, você pode baixar essa imagem em outra máquina, salvá-la no disco e iniciá-la em hardware físico ou em uma máquina virtual. Isso simplifica o processo para os usuários construírem, compartilharem, testarem e implantarem sistemas operacionais, de forma semelhante ao que já fazem hoje com aplicativos em contêineres.
Qual é a definição de Project Bluefin?
Os containers Linux revolucionaram o cenário ao permitir o desenvolvimento e implantação de aplicativos em nuvem híbrida, e agora estão prontos para impactar os sistemas operacionais empresariais. Embora o Project Bluefin não seja um produto corporativo, mas sim uma plataforma de desktop com foco em jogos, ele sinaliza perspectivas promissoras para o futuro.
“A Bluefin é equivalente ao Fedora”, afirmou Jorge Castro, fundador da Bluefin, em uma palestra durante a Conferência ContainerDays do ano passado. Ele descreveu a Bluefin como um sistema Linux para computadores, com modificações especiais que foram implementadas de forma única, visando solucionar diversos problemas que têm limitado a experiência dos usuários de desktops Linux.
De fato, em qualquer ambiente Linux, os usuários personalizam suas configurações de acordo com suas preferências. Isso pode ocorrer por diversos motivos, como a necessidade de adicionar ou modificar pacotes, ou mesmo em conformidade com regras específicas. Por exemplo, o Fedora possui diretrizes que exigem a integração exclusiva de conteúdo de código aberto. Caso seja desejado incluir drivers Nvidia, seria necessário inseri-los no Fedora antes da implantação. O projeto Bluefin antecipa essa necessidade oferecendo ajustes prévios para tornar a implantação do sistema operacional – nesse caso, Fedora – mais simples.
A versão principal do Bluefin é um ambiente de desktop GNOME com uma barra de ferramentas na parte inferior, indicadores de aplicativos na parte superior e a loja Flathub já habilitada. Segundo Castro, não é necessário configurar nada: “Você não precisa se preocupar com a origem dos aplicativos… Nós cuidamos dos codecs, garantimos a compatibilidade com diversos hardwares, incluindo controladores de jogo. Corrigimos possíveis problemas que podem ocorrer no Fedora padrão e tentamos incluir o máximo possível, como os drivers da Nvidia. Não é mais necessário compilar módulos do sistema operacional a cada atualização, pois realizamos tudo por meio da integração contínua (CI), automatizando totalmente a manutenção da área de trabalho, buscando uma experiência semelhante à de um Chromebook. Além disso, o Bluefin vem com um tempo de execução em contêiner, algo essencial para desktops nativos de nuvem.”
De que forma o Bluefin oferece oportunidades de negócios?
A maneira como Castro explica a construção do projeto Bluefin é muito parecida com as razões pelas quais profissionais que lidam com sistemas operacionais corporativos criam estruturas fundamentais. Isso destaca o potencial da empresa, apesar de muitas pessoas não perceberem que o problema resolvido pelo Bluefin é semelhante a uma questão de negócios presente na empresa.
Tudo tem início com as modificações especiais mencionadas por Castro.
Por exemplo, considere um grande banco. Eles recebem o sistema operacional do fornecedor e fazem ajustes especiais para adaptá-lo às necessidades do seu ambiente empresarial, de acordo com suas regras de negócio. Essas personalizações podem se tornar complexas, incluindo medidas de segurança adicionais, bibliotecas e codecs para compressão, algoritmos de criptografia, chaves de segurança, configurações para LDAP, software licenciado e drivers específicos. Em uma organização grande com requisitos complexos, podem existir várias centenas de adaptações. Sempre que um software complexo é transferido entre organizações, é quase sempre necessário fazer ajustes específicos. Esse é o cenário comum na computação empresarial de grande porte.
Dentro de uma empresa, a colaboração entre diferentes especialistas internos, como engenheiros de segurança, administradores de rede, sysadmins, arquitetos, administradores de banco de dados e desenvolvedores, pode ser desafiadora. Eles trabalham juntos para construir uma pilha de software única que atenda às necessidades e diretrizes da organização. Esse processo, especialmente quando se trata de sistemas operacionais avançados ou com inteligência artificial, pode demandar de 50 a 100 interações entre os envolvidos, o que consome tempo, aumenta os custos e eleva a margem de erro.
Torna-se ainda mais complexo quando você passa a incluir parceiros e consultores externos.
Atualmente, diversos especialistas utilizam diferentes linguagens, como gerenciamento de configuração e ferramentas como o Kickstart, porém enfrentam dificuldades na colaboração complexa e, por vezes, hostil entre e dentro das organizações. Uma solução seria utilizar containers como o idioma principal para desenvolver e implementar sistemas operacionais, o que resolveria diversos problemas, especialmente os relacionados às pessoas, que até então eram resolvidos apenas com recipientes de aplicação, mas agora seriam aplicados ao sistema operacional.
IA e aprendizado de máquina estão prontos para serem utilizados em sistemas operacionais baseados em contêineres.
Inteligência artificial e aprendizado de máquina são exemplos fascinantes de uso para um sistema operacional baseado em contêineres devido à sua natureza híbrida. Frequentemente, um modelo é treinado, ajustado e testado por engenheiros em locais diferentes, como parte de uma aplicação de chatbot. Posteriormente, pode passar por refinamentos adicionais e, finalmente, ser implantado em um ambiente de produção distinto. Essa abordagem demanda o uso de contêineres, juntamente com aceleração de hardware, mesmo durante o desenvolvimento, para garantir inferências rápidas e eficazes. Quanto mais rápido o aplicativo é executado e quanto mais ágil for o ciclo de desenvolvimento interno, mais satisfeitos ficarão os desenvolvedores e engenheiros de qualidade.
Por exemplo, considere uma situação em que uma tarefa de inteligência artificial é executada em um laptop de desenvolvedores, possivelmente como uma máquina virtual. Essa tarefa inclui um modelo pré-treinado e um chatbot. Seria vantajoso se ela pudesse utilizar aceleração de hardware para realizar inferências de forma mais rápida, permitindo assim que o chatbot responda mais rapidamente.
Agora, imagine que os programadores estão testando o chatbot e encontram um erro. Eles elaboram uma nova interação de usuário chamada (pergunta e responde documento) para corrigir o problema e desejam enviá-la para um grupo com placas Nvidia para ajustes mais precisos. Depois de treiná-la mais, os programadores querem implementar o modelo em um dispositivo mais compacto que realiza inferências. Cada um desses ambientes possui diferentes hardwares e drivers distintos, mas os programadores desejam a conveniência de trabalhar com os mesmos artefatos – como uma imagem de contêiner, se possível.
A proposta é que seja possível implementar a carga de trabalho em diferentes ambientes com pequenos ajustes. Inicialmente, você pode executá-la em um laptop com sistema operacional Windows ou Linux. Depois, testá-la em um ambiente de desenvolvimento, aprimorá-la em um ambiente de integração contínua/distribuição contínua e, possivelmente, transferi-la para um cluster de treinamento para refinamento com hardware especializado. Por fim, você pode implantá-la em um ambiente de produção, seja em um data center físico, um data center virtual na nuvem ou na borda.
A promessa versus a situação presente.
Atualmente, é desafiador completar o processo descrito. Em uma organização grande, pode levar seis meses para realizar construções básicas, seguidas por uma atualização trimestral que requer mais três meses de preparação. A complexidade do trabalho envolvido aumenta o tempo necessário para lançar um novo produto no mercado, mesmo que seja apenas uma atualização. Na verdade, as atualizações podem ser o maior benefício de um modelo de contêiner OS: é possível atualizar com um único comando assim que a compilação do núcleo estiver concluída. As atualizações não dependem mais do uso do yum – elas simplesmente são transferidas do ponto A para o ponto B. Além disso, se a atualização falhar, é possível voltar atrás facilmente. Esse modelo é particularmente interessante em ambientes de borda, onde a largura de banda e a confiabilidade são questões importantes.
Um modelo de sistema operacional baseado em contêineres também poderia proporcionar novas oportunidades para aplicativos que as organizações optaram por não contêinerizar, por diversos motivos. Basta inserir os aplicativos em uma imagem do sistema operacional e implantar essa imagem em hardware nu ou em uma máquina virtual. Nessa situação, os aplicativos desfrutam de algumas das vantagens dos contêineres, como uma colaboração mais eficiente entre especialistas, um método padronizado para distribuir cargas (imagens e registros de contêineres OCI) e atualizações simplificadas e reversões em produção.
Uma plataforma de sistema operacional em contêiner também traria vantagens teóricas em termos de governança e rastreabilidade. Da mesma forma que ocorre com aplicativos em contêiner, todos os componentes de um sistema operacional em contêiner estariam disponíveis no GitHub. Seria possível criar uma imagem do zero e conhecer precisamente seu conteúdo, para então implantar o sistema operacional a partir dessa imagem. Além disso, seria viável utilizar a mesma infraestrutura de testes, cobertura e digitalização, incluindo automação em CI/CD.
Obviamente, surgiriam desafios a serem enfrentados. Ao implementar o sistema operacional como uma imagem de contêiner, por exemplo, é necessário considerar a abordagem em relação aos segredos de forma distinta. Não é viável simplesmente incorporar senhas ao sistema operacional. Essa mesma questão se aplica aos aplicativos em contêiner. Atualmente, o Kubernetes resolve esse problema por meio de seu serviço de gerenciamento de segredos, porém ainda seria necessário realizar algum trabalho em relação aos segredos quando o sistema operacional é implantado como imagem.
São necessárias várias considerações e reflexões antes de implementar um sistema operacional contêinerizado em um ambiente empresarial. O Project Bluefin propõe um futuro sistema operacional contêinerizado que parece promissor, porém ainda não está claro se será adotado pela indústria e como isso acontecerá. Será interessante observar a aceitação desse novo paradigma.
Na Red Hat, Scott McCarty desempenha o papel de gerente sênior de produtos para o RHEL Server, que é considerado um dos maiores negócios de software de código aberto do mundo. Com experiência em diversas áreas, incluindo startups de mídia social, e-commerce e pesquisa governamental, Scott possui uma visão única sobre o desenvolvimento, distribuição e suporte de software de código aberto, adquirida ao longo de sua trajetória profissional em diferentes empresas e organizações.
Lo siento, pero necesito más información o contexto para poder parafrasear el texto. ¿Puedes proporcionarme más detalles?
O New Tech Forum é um espaço que permite aprofundar e debater amplamente a tecnologia empresarial emergente. A seleção de conteúdo é feita de forma subjetiva, com base nas tecnologias consideradas relevantes e de maior interesse para os leitores do InfoWorld. A InfoWorld não oferece garantias de publicação com viés de marketing e se reserva o direito de editar todo o conteúdo contribuído. Qualquer dúvida pode ser enviada para newtechforum@infoworld.com.