DOCUMENTO TÉCNICO VANTAGENS DO RED HAT ENTERPRISE LINUX RESUMO EXECUTIVO ÍNDICE Há uma famosa definição segundo a qual um avião é um milhão de peças que voam em formação fechada. O Linux parece este avião — está composto por milhões de linhas de códigos em milhares de módulos de dezenas de milhares de desenvolvedores. E o seu valor não está expresso em peças – está expresso na resolução confiável e eficiente dos problemas dos clientes. A Red Hat se estabelece nisto, como parceiro de engenharia mediante a expansão do seu domínio, com relações de colaboração que utiliza para oferecer o Red Hat Enterprise Linux, a plataforma de primeiro nível para a carga de trabalho das empresas. 3 Comunidade open source 4 O ecossistema Linux de rápida evolução O modelo Red Hat Enterprise Linux Inovação Snapshot, integrar e estabilizar Suporte Versões menores 14 Ciclo de vida útil 14 Assinaturas 15 Conclusão www.redhat.com A4_RHEL6_Advantage_wp_4328377_1010_cw.indd 1 10/5/10 12:00 PM DOCUMENTO TÉCNICO A VANTAGEM DO RED HAT ENTERPRISE LINUX Há uma famosa definição segundo a qual um avião é um milhão de peças que voam em formação fechada. Linux é parecido a um avião, já que está composto por milhões de linhas de códigos em milhares de módulos de dezenas de milhares de desenvolvedores. Igual a um fabricante de aviões, a Red Hat pega todas estas peças e as integra em um único sistema funcional preparado para dar suporte à carga de trabalho das empresas. Além da integração inicial, a Red Hat continua oferecendo suporte e melhorando o produto. Se continuarmos com a analogia do avião, a tarefa que corresponde à Red Hat é conseguir que este avião complete os seus voos nos horários estabelecidos e de maneira segura e realizar-lhe controles e introduzir-lhe melhorias de maneira contínua, para garantir que funcione corretamente. As versões principais do Red Hat Enterprise Linux podem ser comparadas com as novas gerações de aviões da Boeing ou da Airbus - fazendo a mesma tarefa básica, mas adicionando-lhes várias melhorias, aproveitando a nova tecnologia e os novos desenvolvimentos. Novamente, igual à Boeing ou à Airbus, a Red Hat mantém os atuais aviões voando enquanto desenvolve e oferece melhores modelos. No que diz respeito aos aviões, é importante ter em conta que o valor não se reflete nas peças ou no avião propriamente dito. O valor -os benefícios econômicos- equivale a transportar de maneira segura e eficiente as pessoas e os produtos. Apesar de ser simples se concentrar nas funções e na tecnologia de um avião, elas são consideradas importantes na medida em que melhorarem o transporte seguro e eficiente das pessoas e dos produtos. As peças que formam um avião são consideradas importantes apenas na medida em que funcionarem juntas para fornecer transporte. Outra semelhança é que os fabricantes de aviões não os constroem totalmente – adquirem as peças que os compõem em outras empresas e se associam para desenvolver e fabricar importantes subsistemas. Um avião comercial é muito grande e complexo para que apenas uma empresa possa fabricá-lo. Finalmente, as linhas aéreas não compram um avião e depois vão embora. A decisão de comprar um avião significa também a decisão de assumir um compromisso a longo prazo com o fabricante do avião. A escolha de um avião se baseia na combinação de qualidades técnicas, confiança no fabricante e confiança neles como parceiros comerciais. A linha aérea confia em que o fabricante continuará oferecendo desenvolvimento e suporte para o avião, para o fornecimento de peças de reposição e para a manutenção e a resolução das questões relacionadas com a segurança do avião, mantendo-se como parceiro a longo prazo no negócio propriamente dito da linha aérea que está relacionado com o transporte de pessoas e produtos. Para o Linux, é fácil se concentrar nas funções dos diversos componentes e pacotes do software, que formam a distribuição do Linux. Mas, igual a um avião, o Linux só se considera importante como plataforma para os aplicativos que puderem resolver os problemas dos usuários e da empresa. O valor não está representado pelos bits– mas pela resolução de problemas e os benefícios que são dados aos clientes. Resolver de maneira confiável e eficiente os problemas atuais e futuros dos clientes. É provável que já tenhamos feito analogia suficiente - vejamos as vantagens do Linux e do Red Hat Enterprise Linux. COMUNIDADE OPEN SOURCE O open source é um modelo econômico e comercial pragmático. O software open source funciona mediante a cooperação e a confiança, ao invés do comando e do controle. www.redhat.com A4_RHEL6_Advantage_wp_4328377_1010_cw.indd 2 O fundamental para entender o sucesso da Red Hat e o valor do Red Hat Enterprise Linux é poder entender a comunidade open source na qual a Red Hat participa e o extraordinário valor e aproveitamento que isto significa. A Red Hat contribui de maneira valiosa e é um parceiro de confiança nesta comunidade, o que lhe permite aproveitar ao máximo os seus investimentos e obter um extraordinário ROI. O software open source é conhecido habitualmente como software grátis. Não se refere a grátis como quando nos referimos a uma cerveja grátis, mas ao conceito de liberdade –como em liberdade de expressão. O software grátis significa a liberdade que os usuários têm para executar, copiar, distribuir, estudar, mudar e melhorar o software. 2 10/5/10 12:00 PM DOCUMENTO TÉCNICO A VANTAGEM DO RED HAT ENTERPRISE LINUX Ao dar estas liberdades, várias partes podem contribuir com a criação do software e obter benefícios desta criação. Cada uma das partes recebe o benefício do seu próprio investimento e, também, do investimento dos demais. Neste caso, os investimentos podem ser “em espécie” ou “em dinheiro”. Como exemplo, se uma empresa tiver o código de escritura de um engenheiro, se beneficia com o software equivalente de um engenheiro. Se dez empresas tiverem o código de escritura de um engenheiro em alguns projetos open source, cada empresa recebe o equivalente ao código de dez engenheiros. Além disso, eles podem utilizar ou modificar todos estes códigos quando quiserem, sem custo adicional (nem em dinheiro nem em espécie). Este modelo é extraordinariamente lógico como modelo econômico e comercial. O retorno na colaboração supera rapidamente o benefício econômico que significa limitar as liberdades dos usuários e levou a conseguir a participação e a colaboração aceleradas nas comunidades de desenvolvimento de código aberto em toda a indústria do software, durante as últimas duas décadas. A Red Hat conta com mais de mil engenheiros que trabalham com software open source e obtém benefícios de dezenas de milhares de engenheiros que trabalham com o mesmo software. Este é o poder do modelo open source e a razão pela qual a Red Hat pode oferecer estes poderosos produtos a tão baixo custo. Além disso, considerando que o valor nem sempre é medido diretamente em dinheiro, outra característica fundamental do software open source é que funciona por meio da cooperação e da confiança ao invés do comando e do controle. As companhias tradicionais utilizam uma estrutura de comando e controle onde a direção da empresa toma as decisões, os recursos são designados (incluindo o dinheiro e as pessoas) e o trabalho é realizado. Os fatores fundamentais estão representados pelo poder de posicionamento e o poder do orçamento. Um pequeno grupo de pessoas pode rapidamente tomar decisões – e mudá-las. O software open source, por outro lado, opera por meio de um processo de consenso baseado na influência, na confiança, nas associações e no investimento direto dos recursos por parte dos participantes. Para aproveitá-lo e poder realizar coisas é necessário um enfoque diferente – desenvolver e manter a credibilidade e a confiança dentro da comunidade, trabalhar com outros, vender ideias, buscando os maiores benefícios em geral, ao invés de obter um lucro tático, ter uma visão a longo prazo e realizar os investimentos certos. Se tudo isto for realizado corretamente, obtém-se um extraordinário retorno do investimento (ROI). A Red Hat faz isto muito bem. A Red Hat é um integrante valioso e confiável da comunidade Linux, é parceiro dos maiores colaboradores do Linux, o maior colaborador do kernel Linux e pode exercer influência e gerar importantes projetos. A Red Hat claramente se beneficia com isto – mas, como os clientes da Red Hat se beneficiam? Explicamos detalhadamente como os investimentos dos recursos de desenvolvimento e os esforços no desenvolvimento da comunidade podem ser utilizados como alternativa para os investimentos em dinheiro. O contrário também é verdade – as empresas podem escolher os investimentos em dinheiro, por meio das assinaturas da Red Hat, como alternativa para investir outros recursos. Ao fazer isso, ambos se beneficiam com o Linux e garantem o crescimento contínuo do Linux como plataforma de alta qualidade e baixo custo, para resolver os problemas da empresa sem a necessidade de investir diretamente tempo e energia em atividades da comunidade. A decisão de utilizar o Red Hat Enterprise Linux é uma decisão tática baseada nas qualidades técnicas da plataforma. É uma decisão pragmática utilizar uma plataforma corporativa estável e com o suporte correto e garantir que alguém possa ajudá-lo para resolver os problemas que encontrar. É uma decisão estratégica garantir que esta plataforma – que será o centro da infraestrutura da sua empresa- continuará incorporando melhorias e estará disponível durante muito tempo. O ECOSSISTEMA LINUX DE RÁPIDA EVOLUÇÃO O Red Hat Enterprise Linux equilibra a inovação com a estabilidade e com o suporte. A Red Hat está ativamente envolvida com o desenvolvimento de nova tecnologia, assim como com o estabelecimento www.redhat.com A4_RHEL6_Advantage_wp_4328377_1010_cw.indd 3 3 10/5/10 12:00 PM DOCUMENTO TÉCNICO Existe uma tensão dinâmica – um conflito entre a inovação e a estabilidade, desenvolvido no próprio centro do ecossistema Linux. A Red Hat oferece valor ao resolver este conflito. A VANTAGEM DO RED HAT ENTERPRISE LINUX das bases para a infraestrutura da empresa. Ao fazer isso, os nossos clientes contam com uma alternativa para padronizar os seus ambientes informáticos e executá-los mediante mínimas mudanças ou aproveitar os novos desenvolvimentos e capacidades – todos eles com máxima flexibilidade e sem aumentos adicionais. A Red Hat consegue isso mediante um processo de inovação, snapshot, estabilidade/integração e suporte junto com um modelo de assinatura que lhe permite escolher qual versão do Red Hat Enterprise Linux deseja utilizar e mover-se livremente entre versões. Começamos pelo centro do Red Hat Enterprise Linux – o kernel Linux. Em constante evolução e mudança, por meio das contribuições de milhares de desenvolvedores de software, o kernel lança de três a quatro versões por ano. Os encarregados de manutenção do kernel Linux, encabeçados por Linus Torvalds, se comprometem com as melhorias contínuas e com os códigos da mais alta qualidade. Eles sabem perfeitamente que algumas melhorias podem requerer mudanças significativas nas interfaces e no comportamento do kernel. Também, sabem que algumas das melhorias e mudanças podem danificar os aplicativos e ferramentas existentes e este é o preço que estão dispostos a pagar se os benefícios justificarem essa mudança. Isto significa que, simplesmente ao ter a última versão do Linux os aplicativos existentes podem ser danificados. Os encarregados de manutenção procuram evitar as mudanças que impactam nos aplicativos, mas estão preparados para realizar estas mudanças se estiverem justificadas por um motivo convincente. A Red Hat se ocupa deste problema oferecendo estabilidade dentro de uma versão principal, introduzindo mudanças mediante versões principais e permitindo aos clientes escolher qual destas versões principais eles desejam utilizar sem aumentos nos custos. Embora em última instância exista uma única fonte para o kernel Linux, os diferentes pacotes, ferramentas, utilidades e aplicativos que formam a distribuição do Linux vêm de diversas fontes. E se desenvolvem de forma independente e paralela. Enquanto são feitos esforços para coordenar entre eles, geralmente existem diferenças nas versões dos diferentes pacotes que os diferentes aplicativos necessitam. Uma das tarefas mais importantes do Red Hat Enterprise Linux consiste em resolver todos estes problemas relacionados com as versões e com a sua dependência. O seguimento destas mudanças não representa um problema para muitos dos aplicativos do ecossistema Linux. São comuns para o modelo de mudança utilizada pelo kernel Linux, assim como também para a grande quantidade de ferramentas, utilidades e aplicativos do Linux. De fato, os desenvolvedores dos aplicativos são quem geralmente solicitam as mudanças. Estes desenvolvedores, especialmente, os que se ocupam dos aplicativos open source, consideram que a tarefa do seguimento de mudanças no kernel e em outros pacotes dos quais eles dependem, é simplesmente parte de uma manutenção normal dos aplicativos. No entanto, apresentam-se desafios. O desafio mais importante é que sejam incorporadas mudanças nos diferentes pacotes em diferentes momentos. Como resultado, os milhares de pacotes que formam a distribuição do Linux devem ser levados a um ponto de referência comum – que será analisado adiante com maior detalhe. Além disso, as dependências técnicas entre pacotes limitam a capacidade dos usuários para obter benefícios das novas funções que têm determinada localização na pilha, sem incorporar muitas mudanças para os novos pacotes que foram requeridos em qualquer outra localização dessa pilha. Outros aplicativos, no entanto, experimentam maiores dificuldades para administrar estas mudanças. Estes aplicativos normalmente são aplicativos comerciais disponíveis em diversos sistemas operacionais ou aplicativos desenvolvidos internamente, que contam com pouco desenvolvimento e manutenção permanentes. Em todos estes casos, espera-se uma plataforma que “funcione” e que não introduza mudanças. Também, há vantagens significativas para a administração e funcionamento do sistema, ao ter uma infraestrutura e um ambiente padronizados. Isto simplifica a vida, tanto para as ferramentas de administração como para os administradores do sistema, reduz os custos operacionais e tende a melhorar a qualidade (minimizando as inconsistências e a possibilidade de erros). Como resultado, uma tensão dinâmica é gerada – um conflito entre a inovação e a estabilidade – desenvolvida no próprio centro do ecossistema Linux. A Red Hat oferece um valor espetacular ao ecossistema Linux ao resolver este conflito. Ao oferecer um ambiente Linux completo, estável, testado e com suporte – e que, prudentemente, aproveita ao máximo as rápidas melhorias introduzidas de forma constante pelo ecossistema Linux – a Red Hat oferece o melhor destes dois mundos. www.redhat.com A4_RHEL6_Advantage_wp_4328377_1010_cw.indd 4 4 10/5/10 12:00 PM DOCUMENTO TÉCNICO A VANTAGEM DO RED HAT ENTERPRISE LINUX O modelo Red Hat Enterprise Linux Inovação O projeto Fedora A Red Hat foi a precursora do enfoque da distribuição de uma comunidade orientada à inovação (o projeto Fedora) e de uma plataforma corporativa orientada à estabilidade (Red Hat Enterprise Linux). Este enfoque resolve amplamente a tensão dinâmica entre a inovação e a estabilidade. O Projeto Fedora (fedoraproject.org) representa a distribuição aberta e orientada a uma comunidade dedicada à inovação e ao desenvolvimento de ponta. Apresenta-se uma nova versão do Fedora a cada seis meses e cada uma destas versões incorpora as últimas versões de kernel e dos pacotes principais. A missão do Fedora é gerar novos desenvolvimentos e melhorias para o Linux. Como surge da página de início do Projeto Fedora: O Fedora é um sistema operacional baseado em Linux que mostra a última versão de software de graça e open source. O Fedora é gratuito sempre e está ao alcance de qualquer pessoa que quiser utilizá-lo, modificá-lo e distribuí-lo. É desenvolvido por pessoas de todo o mundo que trabalham juntas como uma comunidade: o Projeto Fedora. O Projeto Fedora está aberto a quem quiser participar. O Projeto Fedora está ao seu alcance, liderando o progresso do software e os conteúdos gratuitos e abertos. O Projeto Fedora é o principal veículo da Red Hat para desenvolver um novo código. O típico ciclo de desenvolvimento corresponde ao desenvolvimento e à inserção upstream (ascendente) de uma nova função (consulte a seção relacionada com seguimento do upstream), incluída no Fedora e, depois, incluída na versão adequada do Red Hat Enterprise Linux. O verdadeiro poder do Projeto Fedora surge de uma fonte surpreendente. É um projeto independente não controlado pela Red Hat. Outras empresas trataram de estabelecer projetos comunitários com pouco sucesso. Geralmente, insistem em controlar o projeto e as contribuições ao projeto, obtendo como resultado reticência por parte das pessoas que não pertencem à empresa para contribuir com o projeto e uma comunidade fraca com relação a este projeto. Pelo contrário, o Projeto Fedora é uma organização independente que tem um diretório independente. A Red Hat oferece grande parte do financiamento do Projeto Fedora e tem engenheiros que trabalham diretamente em projetos Fedora, mas que não controlam este projeto. Pelo contrário, a Red Hat trabalha de perto e em forma conjunta com o Projeto Fedora e com a comunidade relacionada e teve sucesso ao criar um projeto próspero e uma comunidade dinâmica. A Red Hat influencia, se associa e contribui – e obtém grandes recompensas deste relacionamento em benefício mútuo. Como geralmente é o caso na comunidade open source, a Red Hat recebe uma generosa recompensa por renunciar ao controle direto e por trabalhar com uma comunidade ampla. Pode demonstrar-se que o Fedora consistentemente esteve na vanguarda do desenvolvimento de nova tecnologia, ao mesmo tempo em que oferece um sistema operacional da mais alta qualidade. Deste modo, diretamente se beneficiam a Red Hat, os seus clientes e os seus parceiros. Contribuições da Red Hat Um elemento fundamental desta história são as contribuições da Red Hat ao ecossistema Linux – as contribuições reais, assim como também, a maneira em que estas são feitas. A Red Hat se compromete a entregar todo o software oferecido mediante a licença open source. Algumas vezes, isto significa a aquisição de uma empresa com produtos patenteados e lançá-los ao mercado posteriormente como software open source. Em alguns casos, o software está carregado de tecnologia incorporada sujeita a licenças patenteadas e a Red Hat, antes de poder lançá-lo em uma versão open source limpa, investe muito tempo nisso. www.redhat.com A4_RHEL6_Advantage_wp_4328377_1010_cw.indd 5 5 10/5/10 12:00 PM DOCUMENTO TÉCNICO A VANTAGEM DO RED HAT ENTERPRISE LINUX A Red Hat é um bom cidadão na comunidade open source. Como mencionamos antes, todos os códigos devem aceitar upstream antes de serem incluídos no Red Hat Enterprise Linux. O desenvolvimento se completa de forma aberta e o encarregado de manutenção do upstream deve aceitar todos os códigos antes de incluí-los em um produto da Red Hat. É uma área onde a Red Hat normalmente “se prega, prega com o código”. Para a Red Hat, o open source é um estilo de vida, não é uma palavra que está na moda. Visto que o desenvolvimento se realiza de maneira aberta, é natural para a Red Hat cooperar de forma direta com outras companhias. A Red Hat trabalha em direta associação com os líderes em tecnologia, tais como, Intel, AMD, IBM, HP e Dell em uma ampla gama de projetos com interesses compartilhados. Por exemplo, a Red Hat está trabalhando com a Intel e com a AMD para a administração de energia baseada no ACPI. O ACPI representa uma especificação e uma interface de hardware para controlar o consumo de energia de um processador. Inclui vários mecanismos para fazer isso, como por exemplo, a capacidade de mudar dinamicamente a velocidade do processador e a capacidade para colocar os processadores em estado de reserva de energia quando não estiverem em funcionamento. O ACPI exige dos fornecedores de processadores que primeiro implementem o ACPI no seu hardware. Depois, o sistema operacional deve ser modificado para aproveitar as capacidades do ACPI. Isto significa importantes extensões para os programadores do sistema e para outros subsistemas. Além do processador, os desenvolvedores de sistemas, tais como, a IBM, a HP e a Dell devem decidir de que maneira os desenvolvimentos do seu sistema e o BIOSed serão compatíveis com a administração de energia. Pode haver grandes diferenças nos sistemas que se baseiam no mesmo processador, por isso os fornecedores destes sistemas necessitam participar da implementação da administração de energia. Finalmente, requerem-se ferramentas para os usuários que controlem a administração de energia – ainda que os usuários de notebooks adaptem os seus sistemas para um consumo mínimo de energia, conseguindo uma duração mais prolongada das suas baterias, um sistema para compra e venda de ações funcionará durante todo o tempo a uma velocidade máxima para garantir uma latência mínima. Outro exemplo é a administração de energia. A administração de energia necessita a cooperação de diversas empresas para desenvolver e apresentar produtos com consumo eficiente de energia. Não é uma tarefa que é realizada uma única vez. Os fornecedores de processadores continuam adicionando mais capacidades de administração de energia sofisticadas, os fornecedores de sistemas continuam desenvolvendo novos sistemas e o kernel Linux evolui. Um dos desenvolvimentos mais espetaculares no sistema operacional é o tickless kernel, que gera reduções importantes no consumo de energia. O tickless kernel, que é o novo para o Red Hat Enterprise Linux 6 e que a Red Hat se encarregou ativamente de desenvolver, representa uma mudança fundamental no funcionamento do sistema operacional. Antes, o kernel acordava várias centenas ou milhares de vezes por segundo (com base nos ticks do temporizador) e, nesse caso, perguntava se havia alguma tarefa para fazer. O tickless kernel, ao contrário, age por meio de interrupções. Isto significa que o sistema descansa até que lhe seja indicado que faça alguma coisa. Visto que o descanso requer pouco consumo de energia, quanto mais um sistema descansar, mais economia de energia haverá. O desenvolvimento do tickless kernel requereu mudanças importantes em vários dos subsistemas mais importantes do Linux, a cooperação direta de vários fornecedores de hardware e testes extensivos. Várias utilidades e aplicativos dos sistemas se baseavam nos ticks do temporizador e sofreram modificações para agir por meio de interrupções. Felizmente, o Linux pôde recorrer a toda a comunidade. Ao invés de que uma única empresa tivesse que testar todo o hardware e todos os aplicativos e, depois, descobrir os problemas e resolvê-los, dezenas de milhares de pessoas em todo o mundo puderam contribuir com isso. Diferente de um sistema operacional comercial, que não poderia ser visto até completar todas as mudanças, as pessoas tiveram a oportunidade de trabalhar com o Linux em todas as etapas do desenvolvimento do tickless kernel. O resultado final foi que esta mudança importante ofereceu benefícios significativos e quase não foram apresentados problemas ao entregá-lo. www.redhat.com A4_RHEL6_Advantage_wp_4328377_1010_cw.indd 6 6 10/5/10 12:00 PM DOCUMENTO TÉCNICO A VANTAGEM DO RED HAT ENTERPRISE LINUX Observe os benefícios que o desenvolvimento cooperativo aberto oferece. Os fornecedores de processadores podem oferecer novas capacidades com interfaces comuns para estas novas capacidades. Ao usar as interfaces comuns, permite-se inovar na implementação, ao mesmo tempo em que é mais simples para os fornecedores de sistemas e de software aproveitar as novas capacidades. Os fornecedores de sistemas podem se basear nas novas capacidades mediante o desenvolvimento nos seus sistemas e garantindo que o sistema operacional seja compatível com estes desenvolvimentos, aproveitando-os ao mesmo tempo. Os fornecedores de sistemas operacionais aproveitam as novas capacidades tanto nos processadores como nos sistemas e podem explorar totalmente as novas capacidades. Esta cooperação reduz a duplicação de esforços, minimiza os custos para cada empresa participante e permite uma colaboração maior. O resultado é uma melhor solução que é oferecida junto com a mais alta qualidade e um preço mais baixo. Mesmo que isto demonstre as vantagens do modelo de desenvolvimento open source, centro da filosofia Red Hat, há muitas outras vantagens para a Red Hat. Depois de tudo, a Red Hat é líder ao contribuir com o kernel Linux. O último relatório da Linux Foundation, “Desenvolvimento do Kernel Linux: A que velocidade avança, quem o faz, o que faz e quem o patrocina” (linuxfoundation.org/publications), mostra que a Red Hat contribuiu com mais de 12% das mudanças totais do kernel. O seguinte grande contribuinte ofereceu só 8%. Isto claramente demonstra o compromisso e o investimento da Red Hat no desenvolvimento do open source. 1 O “Hard real time”, tal como é utilizado nos sistemas de controle de aeronaves, garante que uma tarefa será completada dentro de um período específico de tempo. Isto é possível apenas com sistemas especializados incorporados. O Linux proporciona um modelo “soft real time” ou de baixa latência / de latência constante. O Red Hat Enterprise Linux se integra, se adapta e se ajusta aos sistemas maiores disponíveis. A Red Hat também adota uma perspectiva a longo prazo. Apesar de certamente se obter uma grande satisfação ao ter uma rápida solução, às vezes, fazer as coisas bem requer um esforço constante durante um longo período de tempo. Um bom exemplo disso é a forma em que a Red Hat constitui um colaborador líder no projeto Linux em tempo real. “Real time” (tempo real) significa que é possível confiar em um sistema para que complete uma tarefa, em um período definido de tempo1. O enfoque básico é evitar a interrupção da tarefa antes que ela se complete. Este é o desafio principal para um sistema multiprocessador, para usuários múltiplos, de tarefas múltiplas e de uso geral. A implementação do tempo real no Linux significa mudanças importantes em centenas de módulos, em dezenas de subsistemas. Os desenvolvedores do Linux em tempo real trabalharam com afinco e produziram um sistema Linux em tempo real que funcionava. Isto significou dezenas de milhares de linhas de mudanças. Muitas dessas mudanças eram invasivas - quer dizer, podiam ter um impacto significativo no sistema, causar mudanças no comportamento do sistema e ter efeitos secundários inesperados. Estes tipos de mudanças requerem uma justificativa importante antes de serem considerados. Recebem um exame rigoroso e testes adicionais e são aceitos com cautela. A pessoa que propõe as mudanças invasivas deve convencer os demais de que os benefícios das mudanças são maiores do que o seu custo arriscado. Além disso, alguns dos patches do Linux em tempo real mudariam o comportamento básico do Linux, de forma que não seriam benéficos para a grande maioria dos usuários do Linux. Existiam importantes benefícios ao introduzir as mudanças do tempo real no kernel do Linux padrão. Desde que a manutenção dos patches do tempo real fosse realizada fora do kernel, a integração dessas mudanças era uma árdua tarefa que devia ser feita novamente com cada nova versão do kernel. Se as mudanças fossem incluídas no kernel padrão, não se requereria um novo trabalho de integração. Os desenvolvedores do tempo real do Linux começaram um programa, que depois se comprovou que era um trabalho de cinco anos, para integrar as mudanças do tempo real no Linux. Identificaram as mudanças que mais beneficiariam os usuários do Linux em geral e começaram a trabalhar para incorporar certa quantidade dessas mudanças em cada nova versão do kernel Linux. Por exemplo, cem mudanças constituiriam uma parte principal de uma única versão do kernel. No entanto, se a pretensão é fazer dez mudanças em cada kernel, e existem de três a quatro versões de kernel por ano, podem ser incorporadas igualmente as cem mudanças em três anos. Este modelo de mudança gradual é a forma em que geralmente a comunidade Linux trabalha. www.redhat.com A4_RHEL6_Advantage_wp_4328377_1010_cw.indd 7 7 10/5/10 12:00 PM DOCUMENTO TÉCNICO A VANTAGEM DO RED HAT ENTERPRISE LINUX Os desenvolvedores do tempo real do Linux também identificaram as mudanças que não deviam ser incluídas no kernel padrão. Depois, então, trabalharam para fazer com que essas mudanças fossem mais fáceis de integrar, reduzindo assim a quantidade de trabalho que devia ser realizada do kernel padrão ao kernel em tempo real. O resultado final deste processo foi um grupo de mudanças no kernel do Linux padrão que beneficiou os usuários gerais, já que lhes deu a capacidade de integrar rapidamente as mudanças restantes e de modificar um novo kernel Linux em um kernel em tempo real. Os organizadores do programa de tempo real do Linux obtiveram as mudanças que queriam, não incomodaram ninguém e, além disso, como as mudanças agora são parte do Linux padrão, essas mudanças têm maiores testes, suporte e desenvolvimento do que o que a equipe de tempo real poderia ter oferecido. Este é um dos muitos exemplos sobre as vantagens que o modelo de desenvolvimento open source oferece em combinação com um pouco de paciência e perseverança. Também é um exemplo da perspectiva a longo prazo da Red Hat, de fazer um investimento contínuo e de trabalhar com parceiros para oferecer um produto que beneficie os clientes da Red Hat. Seguimento do upstream 2 O “upstream” ou “o encarregado de manutenção do upstream” é a pessoa ou grupo que determina qual código entra na versão oficial de um pacote. Apesar de todos poderem mudar um software open source, as mudanças devem ser aceitas formalmente para um pacote antes de serem utilizadas amplamente e de serem transferidas a versões futuras. Este é um mecanismo crítico, muitas vezes deixado em segundo plano, para o controle e para a qualidade no mundo do open source, é também a única forma de incorporar melhorias no desenvolvimento futuro de um pacote. O outro elemento crítico do modelo de inovação da Red Hat é o seguimento do upstream2. Para o kernel Linux, isto significa que a Red Hat utiliza o código publicado no site kernel.org. A Red Hat não adiciona funcionalidades fora do processo de desenvolvimento público. Todas as novas funcionalidades desenvolvidas pela Red Hat primeiro são apresentadas aos encarregados de manutenção do kernel, e devem ser aceitas por eles (em última instância, devem ser apresentada a Linus Torvalds) e depois são enviadas ao Red Hat Enterprise Linux. Assim a Red Hat Enterprise se mantém completamente compatível com a base de códigos oficial do Linux, o que faz com que o suporte contínuo do Red Hat Enterprise Linux seja muito mais simples e assegura que os clientes não tenham que se limitar apenas às funcionalidades da Red Hat. Isto significa que a Red Hat aproveita automaticamente todo o trabalho realizado por todos os que contribuem com o kernel Linux, assim também como uma ampla variedade de pacotes em camadas. A Red Hat faz isto de duas maneiras. Em primeiro lugar, por meio do Projeto Fedora. A cada seis meses, é lançada uma nova versão do Fedora. Cada lançamento do Fedora inclui a última versão do kernel Linux, assim como também as últimas versões de muitos dos pacotes fundamentais. Isto faz do Fedora uma plataforma de desenvolvimento ideal, já que é muito próxima dos desenvolvimentos atuais de upstream, proporciona a base para o desenvolvimento de novas funcionalidades e fornece um rápido ciclo de feedback. No entanto, muitas companhias pensam que o Fedora muda muito rápido para os ambientes corporativos. É por esse motivo que a Red Hat oferece o Red Hat Enterprise Linux. O Red Hat Enterprise Linux utiliza um modelo de duas etapas, de versões principais e de versões menores. As versões principais ocorrem a cada dois ou três anos, em média. Cada versão principal tem suporte durante no mínimo sete anos. As versões menores ocorrem aproximadamente a cada seis meses, ao longo da vida útil de uma versão principal e são desenvolvidas sob estritas políticas que regulam o que se permite mudar e o que não. Snapshot, integrar e estabilizar Assim como as versões do Fedora, cada versão principal do Red Hat Enterprise Linux é uma atualização a um novo kernel e a novas versões da maioria dos pacotes. Podem existir mudanças importantes nas interfaces de aplicativos e biblioteca, nos arquivos de configuração, nas estruturas de dados do disco, nas estruturas de dados do kernel, etc. Portanto, uma versão principal do Red Hat Enterprise Linux começa obtendo uma snapshot do kernel e das últimas versões estáveis dos milhares de pacotes que formam uma distribuição Linux. A seguinte fase é a de integrar e estabilizar. Isto significa meses de trabalho de engenharia, para: • assegurar que todos os pacotes trabalhem juntos. • encontrar e corrigir erros. www.redhat.com A4_RHEL6_Advantage_wp_4328377_1010_cw.indd 8 8 10/5/10 12:00 PM DOCUMENTO TÉCNICO A VANTAGEM DO RED HAT ENTERPRISE LINUX • criar os arquivos adequados de configuração para o Red Hat Enterprise Linux. • realizar testes em uma ampla variedade de sistemas e periféricos. • ajustar o sistema. • assegurar-se de que cumpra com a identidade do Red Hat Enterprise Linux. Os parceiros da Red Hat participam muito nesta fase, para assegurar que a plataforma cumpra com os seus requisitos e com os dos clientes. Um exemplo é o suporte de hardware. A grande maioria dos desenvolvedores do Linux utiliza sistemas pequenos, o que faz com que o Linux básico seja o mais otimizado para esses sistemas. Claro que um sistema pequeno atual significa 4 a 16 processadores com 8 a 32 GB de memória. Os servidores modernos são muito maiores do que isto e é preciso trabalhar para assegurar que funcionem corretamente com o Linux. A Red Hat investe muito esforço em realizar testes e ajustes em grandes sistemas; tem dezenas de sistemas nos seus laboratórios, com 64 processadores ou mais e 100 gigabytes ou mais de memória, assim também como grandes redes de área de armazenamento (SANs, storage area networks), Ethernet de 10 gigabytes, redes Infiniband e conjuntos automatizados de testes que incluem os principais aplicativos corporativos. A Red Hat também tem líderes especialistas desenvolvendo e ajustando grandes sistemas, e trabalha estreitamente com empresas como IBM, HP, Dell, Intel, AMD, SGI, etc. para assegurar-se de que o lançamento do novo Red Hat Enterprise Linux possa aproveitar totalmente os seus sistemas e tecnologias. Próximo à criação focalizada no upstream de novas funcionalidades e capacidades - esta é um dos maiores investimentos em engenharia da Red Hat. Também é a mais crítica, já que a fase de integrar e de estabilizar é um dos grandes elementos que separam o Red Hat Enterprise Linux de outros sistemas operacionais baseados em Linux. Entre os heróis esquecidos da Red Hat se encontra a sofisticada equipe de engenharia de rendimento, o qual prova os limites dos sistemas – hardware e software – com uma categoria de pontos de comparação e cargas de trabalho de aplicativos. A única maneira de descobrir problemas de rendimento, especialmente com os sofisticados sistemas atuais, é mediante a execução de grandes e complexas cargas de trabalho. Os fatores tais como o cômputo de CPUs, as quantidades massivas de memória, os gargalos das comunicações, a latência e a largura de banda de I/O, os subsistemas de armazenamento, a virtualização, a arquitetura de sistemas e os parâmetros de sistemas, todos devem ser levados em conta nos novos sistemas e nas novas versões do Red Hat Enterprise Linux. A equipe de engenharia de rendimento da Red Hat se destaca por encontrar e resolver os problemas de rendimento antes que estes impactem nos clientes. Se um cliente realmente tiver um problema de rendimento, a equipe de engenharia de rendimento tem experiência em poder replicar o problema e, mediante o processo de suporte que é fornecido junto com a assinatura do Red Hat Enterprise Linux, pode oferecer sugestões ou trabalhar com a engenharia da Red Hat para solucioná-lo. Este trabalho de integração e rendimento é mais importante do que o que poderia parecer a simples vista. Considere uma situação na qual você tem um servidor de base de dados. Ele funcionou bem durante anos, mas, agora, o aumento no tamanho da base de dados e da carga de usuários levou à degradação do rendimento a níveis inaceitáveis. Você instala um novo servidor de base de dados com o dobro de processadores e quatro vezes mais a quantidade de memória — mesmo assim, o sistema novo é mais lento do que o anterior. O que aconteceu? Existem muitas possibilidades, desde a necessidade de ajustar o sistema à necessidade de mudar os algoritmos básicos do sistema operacional por mais memória e mais quantidade de processadores. O ponto é que isto tem uma incidência surpreendentemente comum, independente do sistema operacional que for utilizado. A única maneira de abordar este tema é executando as cargas de trabalho de aplicativos atuais nos sistemas novos, encontrar os problemas de rendimento e de escalamento e consertá-los. Isto requer um grande investimento e habilidade por parte do fornecedor do seu sistema operacional, e forma uma das principais diferenças entre o Red Hat Enterprise Linux e as distribuições de desktop e/ou de comunidade. www.redhat.com A4_RHEL6_Advantage_wp_4328377_1010_cw.indd 9 9 10/5/10 12:00 PM DOCUMENTO TÉCNICO A VANTAGEM DO RED HAT ENTERPRISE LINUX Uma grande parte do trabalho de criação de uma plataforma corporativa é realizado pela equipe de engenharia, na linha de frente. Não é necessariamente emocionante, mas é absolutamente necessário. Consiste em um extenso trabalho de testes, ajustes e resolução de problemas por meio de uma ampla variedade de hardware, configurações e aplicativos. É um trabalho que é realizado dia a dia, prestando atenção em cada detalhe e assegurando-se de que todas as “partes móveis” encaixem bem e funcionem corretamente. Depende de ter as pessoas, os processos, o sistema e a infraestrutura para fazer o trabalho. Ainda mais importante é que requer a vontade e os recursos corporativos para fazê-lo, e fazê-lo bem. Este trabalho não aparece em um comunicado de imprensa nem se destaca como um produto de marketing. Muitos observadores o consideram bastante chato. Se for realizado corretamente, o resultado é, de alguma maneira, chato: são apenas sistemas que funcionam. Um comportamento previsível. Não há falhas emocionantes. Os administradores do sistema podem dormir bem à noite. Como todos têm acesso ao código completo do Linux, é realmente um desafio poder dizer quais empresas realmente têm a capacidade para fazer isto e quais, na verdade, reciclam o trabalho de outras. Existem muitos pontos a serem levados em consideração. Cada versão principal do Red Hat Enterprise Linux proporciona uma plataforma estável e constante para a execução de aplicativos. Em primeiro lugar, vejamos o compromisso existente com o kernel Linux e com os pacotes fundamentais. É fácil determinar quem contribui realmente com o suporte e com o desenvolvimento do Linux. Mais, vejamos o tipo de patches que são apresentados. Se os patches incluírem um novo desenvolvimento de funcionalidades, patches para grandes sistemas (grande quantidade de memória e de processadores) e patches para uma infraestrutura comum, é claro que a empresa leva a sério o Enterprise Linux. Se a companhia não tiver muitos patches, não trabalhar com grandes sistemas ou só se enfocar em algumas áreas do seu interesse, é conveniente consultar sobre as suas responsabilidades e capacidades gerais. Em segundo lugar, vejamos a relação de trabalho que a companhia tem com os principais fornecedores de tecnologia e de sistemas. Trabalha com os demais para assegurar o suporte do novo hardware, nem bem está disponível? Recebe as últimas novidades em tecnologia e sistemas? Recebe regularmente resumos e atualizações do plano de ação? Os principais parceiros têm engenheiros trabalhando on-site para coordenar com a maior atenção possível? Em terceiro lugar, vejamos a especificação e certificação do sistema e do hardware. A companhia tem um programa para testar e especificar os sistemas que suporta ou confia nas certificações externas? Os sistemas estão realmente testados para comprovar que funcionam ou só se assume que funcionam? Quantos sistemas diferentes foram certificados e por quanto tempo o processo de certificação esteve vigente? Em quarto lugar, a companhia mostra um compromisso com a comunidade ou só deseja realizar mudanças únicas e novos desenvolvimentos? Acredita nos benefícios a longo prazo da compatibilidade com a comunidade do upstream ou só deseja realizar mudanças incompatíveis para atingir objetivos a curto prazo? Suporte Assim vez que se realiza o trabalho de snapshot, de integrar e estabilizar, a nova versão do Red Hat Enterprise Linux é lançada. Neste ponto, a versão principal do Red Hat Enterprise Linux começa a se separar do desenvolvimento de upstream. Para ser mais preciso, neste ponto o desenvolvimento de upstream começa a se separar do Red Hat Enterprise Linux. Enquanto o kernel Linux e o software em camadas continuam evoluindo, esta versão principal do Red Hat Enterprise Linux mantém interfaces estáveis ao longo da sua vida. Isto significa que cada versão principal do Red Hat Enterprise Linux proporciona uma plataforma estável e constante para a execução de aplicativos. A Red Hat está comprometida a manter interfaces de programação de aplicativos (APIs), interfaces binárias de aplicativos (ABIs), interfaces binárias de aplicativos kernel (KABIs) estáveis, também de conjuntos de pacotes, durante toda a vida da versão. Isto também significa que os aplicativos e ferramentas não receberão impacto por parte de nenhuma das atualizações contidas nas versões menores do Red Hat Enterprise Linux. De fato, a Red Hat faz um grande esforço para assegurar que as versões menores não quebrem os aplicativos. Se isto acontecer, considera-se como um vírus que deve ser eliminado. www.redhat.com A4_RHEL6_Advantage_wp_4328377_1010_cw.indd 10 10 10/5/10 12:00 PM DOCUMENTO TÉCNICO A VANTAGEM DO RED HAT ENTERPRISE LINUX Versões menores As versões principais do Red Hat Enterprise Linux recebem atualizações mediante uma série de lançamentos de versões menores. Estas atualizações menores ocorrem aproximadamente a cada seis meses. Cada versão principal se atualiza mediante múltiplas versões menores. As versões menores do Red Hat Enterprise Linux são utilizadas para proporcionar novas funcionalidades, para eliminar vírus e para facilitar o hardware. Isto é realizado submetendo o código a um processo de backporting3 a partir do upstream. Todas as mudanças são examinadas detalhadamente para assegurar que são compatíveis com a versão principal e que não mudam o comportamento dos aplicativos nem os quebram. 3 Backporting é o processo de modificação de patches, para que funcionem corretamente com a versão anterior de um pacote ou aplicativo. As novas funcionalidades são adicionadas principalmente nos dois primeiros anos de uma versão principal do Red Hat Enterprise Linux. As novas funcionalidades são implementadas primeiro no upstream e depois são submetidas ao processo de backporting. A maioria das funcionalidades é apresentada e testada em uma versão Fedora, antes de ser incluída no Red Hat Enterprise Linux. Isto proporciona tanto um ambiente de desenvolvimento como um banco de testes ao vivo, antes que as funcionalidades sejam apresentadas no Red Hat Enterprise Linux, o que melhora significativamente a qualidade e a estabilidade do Red Hat Enterprise Linux. A Red Hat realiza grandes esforços para assegurar que as novas funcionalidades sejam compatíveis, o que geralmente significa que as novas funcionalidades são complementos (ao invés de modificações) das capacidades existentes. A facilitação do hardware significa o suporte de novos processadores e dispositivos, tais como os controladores de redes, de armazenamento, de gráficos e outros dispositivos. A maioria dos dispositivos novos tem suporte adicionando os controladores dos novos dispositivos ou ampliando os controladores existentes. Os novos processadores podem requerer mudanças no kernel, como, por exemplo, o gerenciamento de memória, de recursos, a afinidade do processador, a administração da energia ou a topologia do sistema. Nos casos em que os processadores implementam novas instruções, podem ser necessária mudanças no compilador gcc e na cadeia de ferramentas relacionada. A facilitação do hardware tem o duplo objetivo de suportar novos dispositivos, sem impactar nos dispositivos ou nos aplicativos existentes. A Red Hat se centraliza na facilitação do hardware durante os primeiros quatro anos de uma versão principal. Muitas das mudanças nas versões menores são relacionadas com a eliminação de vírus. Apesar de os vírus críticos serem eliminados rapidamente utilizando dados assíncronos, a maioria dos vírus é eliminada na seguinte versão menor. Cada versão menor recebe um amplo teste, incluindo a possível interação entre diferentes reparos. CICLO DE VIDA ÚTIL O Fedora tem uma vida útil com suporte de treze meses. A cada seis meses é lançada uma nova versão e cada versão é retirada depois de treze meses. Isto significa que o desenvolvimento, a eliminação de vírus e o suporte terminam nesse momento. Apesar de este modelo funcionar muito bem para os novos desenvolvimentos, requer um ciclo mais rápido de atualizações e mudanças do que muitos usuários de produção se sentem confortáveis. O Red Hat Enterprise Linux tem uma vida útil de pelo menos sete anos para as versões principais e, em geral, tem uma versão principal a cada dois ou três anos. Isto significa que existem três versões principais com suporte do Red Hat Enterprise Linux disponíveis em qualquer momento. A Red Hat dá um ciclo de vida útil a cada versão para que os clientes possam planejar as atualizações de versão e dos seus ambientes. Tal como foi dito antes, a Red Hat mantém as interfaces estáveis dentro de uma versão principal. Assim, os clientes podem padronizar uma versão principal, seguros de que poderão adicionar novos sistemas e manter um ambiente estável. www.redhat.com A4_RHEL6_Advantage_wp_4328377_1010_cw.indd 11 11 10/5/10 12:00 PM ASSINATURAS Um dos elementos únicos do Red Hat Enterprise Linux é a entrega mediante uma assinatura, o que permite o uso de qualquer versão com suporte do Red Hat Enterprise Linux. Uma assinatura permite que o seu titular utilize qualquer versão com suporte do Red Hat Enterprise Linux em um sistema, que receba atualizações de software para esse sistema, que utilize as ferramentas de gerenciamento do sistema da Red Hat e que receba suporte. A Red Hat oferece uma ampla variedade de opções que determinam que software e que serviços podem ser oferecidos em cada nível de preço, para poder cobrir a diversidade existente nos centros de dados corporativos com relação à criticidade e serviços requeridos em uma instância em particular. Uma titularidade não se limita a um único sistema. Se um sistema for substituído, o sistema antigo pode ser cancelado com a Red Hat Network ou com um Red Hat Network Satellite e o novo sistema pode ser registrado no seu lugar. A única restrição é que existem diferentes titularidades para os sistemas grandes, pelo qual uma assinatura para um sistema pequeno só pode ser utilizada em outro sistema pequeno. As titularidades do Red Hat Enterprise Linux se baseiam na quantidade de sockets, não na quantidade de processadores ou de núcleos. Exemplo do valor das assinaturas do Red Hat Enterprise Linux: um sistema antigo, com um único processador de 32-bit que executa o Red Hat Enterprise Linux 3 pode ser atualizado para um sistema novo 64-bit Red Hat Enterprise Linux 6, com 2 sockets, de 32 núcleos: utilizando a mesma assinatura. CONCLUSÃO O Red Hat Enterprise Linux é a principal plataforma para as cargas de trabalho corporativas. O Red Hat Enterprise Linux 6 foi criado sobre esta tradição, já que oferece tecnologia inovadora, confiabilidade sem precedentes, escalabilidade, rendimento e segurança, assim como também compatibilidade com os aplicativos existentes. O modelo de assinatura da Red Hat oferece valor para cada cliente e uma grande flexibilidade na sua infraestrutura. A Red Hat é um parceiro de confiança, por muitos motivos: • Como parceiro de engenharia, a Red Hat leva a inovação do Linux a áreas tais como a administração de memória, programadores, armazenamento e gerenciamento de armazenamento, redes, administração de energia, tickless kernel e virtualização. A Red Hat também gera inovação em áreas especializadas, tais como o bus de mensagens AMQP, um pacote de comunicações de software de alto rendimento desenvolvido para o processamento de transações e tempo real. • A Red Hat possui relações de colaboração com todas as principais companhias de hardware, incluindo as de processadores, sistemas, periféricos, tais como os controladores de redes e de armazenamento, e de gráficos. Estas relações incluem a possibilidade de compartilhar planos de ação e programas, desenvolvimento conjunto de soluções, resolução de problemas e suporte conjunto, caso os clientes se deparem com um problema. • A Red Hat abrange domínios, trabalha com a comunidade Linux, com a indústria, com os parceiros e com os clientes para desenvolver, oferecer e dar suporte à melhor plataforma para aplicativos corporativos. Red Hat: líder de valor, parceiro de confiança, colaborador líder, fornecedor confiável e uma opção segura. VENDAS E CONSULTAS www.redhat.com #4155497_1010 A4_RHEL6_Advantage_wp_4328377_1010_cw.indd 12 AMÉRICA DO NORTE 1–888–REDHAT1 www.redhat.com EUROPA, ORIENTE MÉDIO E ÁFRICA 00800 7334 2835 www.europe.redhat.com [email protected] ÁSIA PACÍFICO +65 6490 4200 www.apac.redhat.com [email protected] AMÉRICA LATINA +54 11 4329 7300 www.latam.redhat.com [email protected] Copyright © 2010 Red Hat, Inc. Red Hat, Red Hat Enterprise Linux, o logotipo Shadowman, JBoss, MetaMatrix e RHCE são marcas registradas da Red Hat, Inc. nos Estados Unidos e em outros países. Linux® é a marca registrada da Linus Torvalds nos Estados Unidos e em outros países. 10/5/10 12:00 PM