Aqueles que entendem o valor de garantir uma vantagem competitiva ao alavancar ferramentas modernas para tornar o processo de desenvolvimento de software mais eficiente estão sempre em busca de soluções inovadoras e não hesitam em integrá-las em seu fluxo de trabalho se os benefícios que oferecem forem atraentes o suficiente.
Prometendo capacitar os desenvolvedores a inovar e entregar mais rápido, RedHat OpenShift é uma das principais ferramentas para desenvolver e implantar aplicativos modernos em diversos ambientes, e este artigo apresenta os conceitos por trás dele.
Apresentando o OpenShift
O objetivo do OpenShift é simplificar muitas das tarefas cansativas e sujeitas a erros associadas ao desenvolvimento de aplicativos, como implantação de aplicativos e gerenciamento de operações do dia-a-dia. Para atingir esse objetivo, o OpenShift fornece uma plataforma de aplicativo integrada que permite que os desenvolvedores se concentrem em escrever seu melhor código e capacita as operações de TI ao fornecer controle, visibilidade e gerenciamento superiores.
O OpenShift foi lançado pela Red Hat em 2011 depois que a empresa adquiriu a Makara, que era uma startup focada em fornecer uma plataforma de nuvem para aplicativos Java e PHP em nuvens públicas e privadas. No entanto, não foi até o lançamento do OpenShift 3.0 quando a oferta de plataforma como serviço (PaaS) da Red Hat assumiu sua forma atual, adotando Docker como sua tecnologia de contêiner e Kubernetes como sua tecnologia de orquestração de contêiner.
Agora, podemos dizer que o OpenShift é um PaaS que funciona em torno de contêineres formatados em Docker gerenciados com a plataforma de orquestração de contêiner Kubernetes de código aberto. Antes de examinarmos mais de perto alguns de seus recursos e capacidades, vamos fornecer uma breve visão geral do Docker e do Kubernetes para que fique claro como as peças individuais se encaixam em um todo interligado, coerente e consistente.
Docker
Como você já deve saber, o Docker é uma das tecnologias de contêiner mais populares para Linux. Ele permite que os desenvolvedores distribuam aplicativos com todas as dependências em um formato portátil para imagens que rodam em todos os sistemas.
O Docker foi lançado pela primeira vez em 2013 e, desde então, tem sido amplamente adotado por desenvolvedores grandes e pequenos. Com o Docker, os desenvolvedores podem fazer um uso mais eficiente dos recursos do sistema, enviar software mais rápido e lidar com menos problemas de segurança.
Essas e outras razões são porque a Red Hat decidiu construir OpenShift construído em torno de contêineres Docker. No entanto, há um limite para o que se pode fazer com um único contêiner do Docker, que é onde o Kubernetes entra.
Kubernetes
Kubernetes é uma solução de código aberto para orquestração de contêineres. Ele fornece a capacidade de ir facilmente além de um único contêiner, cuidando do balanceamento de carga, montagem e assim por diante. O Kubernetes agrupa contêineres em unidades lógicas para que os aplicativos possam ser facilmente gerenciados e escalonados sob demanda.
Embora o Kubernetes tenha sido lançado em 2014, sua popularidade não se limita aos primeiros usuários. A última pesquisa da Cloud Native Computing Foundation (CNCF) revelou que a grande maioria (78%) das empresas que usam contêineres na produção os gerenciam com a ajuda do Kubernetes.
Recursos do OpenShift
O OpenShift já percorreu um longo caminho desde o lançamento de sua primeira versão e agora pode oferecer uma grande variedade de benefícios e recursos interessantes. Aqui estão cinco recursos que você deve conhecer:
- Console da web: Para tornar o desenvolvimento e a implantação de aplicativos o mais simples possível, o OpenShift inclui uma interface de desenvolvedor baseada na web com um design de interface de usuário responsivo. Esta interface pode ser acessada de qualquer navegador moderno e usada para gerenciar aplicativos e recursos relacionados sem esforço.
- Ferramentas de linha de comando: Além da interface do desenvolvedor baseada na web, o OpenShift também fornece um conjunto de ferramentas de linha de comando. Essas ferramentas estão disponíveis e você pode baixá-las diretamente da interface da web. Essas ferramentas podem ser usadas para criar e gerenciar aplicativos e projetos OpenShift a partir de um terminal. Windows, macOS e Linux são suportados e um tutorial passo a passo para cada plataforma está disponível online.
- Suporte IDE: No espírito do software de código aberto, o OpenShift se esforça para dar aos desenvolvedores o máximo de liberdade possível para escolher seu fluxo de trabalho, integrando-se com Visual Studio, Eclipse e JBoss Developer Studio.
- Modelos de aplicativos: Incluídos no OpenShift estão modelos de aplicativos de início rápido pré-criados, cujo objetivo é permitir que os desenvolvedores comecem com um simples clique, independentemente de quererem desenvolver um aplicativo usando Java, Python, PHP ou qualquer outra linguagem.
- Integração contínua: Também conhecida simplesmente como CI, a integração contínua envolve a mesclagem frequente de alterações de código em um repositório central, e o OpenShift torna isso mais fácil porque inclui o Jenkins, o servidor de automação de código aberto líder. Jenkins é fácil de configurar e oferece suporte a centenas de plug-ins e integrações de terceiros.
Sabores OpenShift
O OpenShift está disponível em três opções, todas alimentadas pelo mesmo componente principal de código aberto, chamado OKD:
- Plataforma de contêiner OpenShift: Até junho de 2016, a OpenShift Container Platform era conhecida como OpenShift Enterprise, que é como alguns usuários do OpenShift ainda se referem a ela. Esta PaaS é destinada a organizações que desejam controle total sobre seu ambiente local ou de nuvem pública.
- OpenShift Dedicated: Algumas organizações podem preferir a conveniência de uma solução totalmente gerenciada, e é aí que o OpenShift Dedicated se encaixa, oferecendo a capacidade de executar um ambiente OpenShift de um único locatário em uma nuvem pública.
- OpenShift Online: Desenvolvedores e equipes que criam aplicativos na nuvem pública podem usar o OpenShift Online para criar, implantar e dimensionar aplicativos em contêineres sem esforço a partir de qualquer navegador da web, usando as ferramentas de sua escolha.
Também existe o OpenShift.io, também conhecido como Red Hat CodeReady Toolchain, um ambiente de desenvolvimento nativo da nuvem gratuito de ponta a ponta entregue como uma solução de Developer Preview SaaS com OpenShift Online. Com OpenShift.io, é possível planejar, construir e implantar aplicativos nativos da nuvem com facilidade.
Conclusão
Hoje em dia, espera-se que as organizações forneçam aplicativos e recursos em uma taxa surpreendente em ambientes de TI cada vez mais diversos. O OpenShift oferece um valor significativo para organizações de todos os tamanhos, permitindo que desenvolvedores e operações de TI trabalhem com mais eficiência e forneçam aplicativos e recursos mais oportunos e à prova de bala