Como um desenvolvedor, seu objetivo é criar códigos ótimos e resolver problemas de negócios. A eficiência é chave para o desenvolvedor, mas ser eficiente dentro de um time não inclui apenas o que está na sua cabeça. Você precisa das ferramentas e tecnologia corretas para trabalhar rápido e criar as melhores aplicações.
O desafio de integrar novas ferramentas e frameworks em uma plataforma de qualquer tipo pode se tornar uma distração da sua tarefa inicial de resolver problemas para os negócios. Embora o Kubernetes tenha se tornado uma plataforma popular para desenvolvedores, não é uma plataforma completa de desenvolvimento por si só.
Como você pode conseguir a plataforma de desenvolvimento baseada em container que reúna as necessidades de arquitetos, operações e desenvolvedores em um só lugar? Você poderia construí-la sozinho, mas isso demanda tempo, recursos e conhecimento que o seu time pode não ter agora.
É aí que entra a nova oferta baseada em código aberto da IBM. O IBM Cloud Pak for Applications (ICPA) une a plataforma baseada em Kubernetes Red Hat OpenShift com o Kabanero, um projeto de código aberto que possibilita que empresas desenvolvam e implementem aplicações para Kubernetes e Knative de forma mais rápida e fácil.
Neste post, veremos mais de perto a forma como o software ICPA de código aberto é construído e alguns dos problemas comuns de desenvolvimento nos quais ele se concentra.
Olhando o problema de perto
Os times costumam adotar o Kubernetes com frequência com o objetivo de agilizar o desenvolvimento e a implementação e se beneficiar da conteinerização. Mas eles não se dão conta da complexidade que surge com um ambiente conteinerizado. Embora o Kubernetes faça um ótimo trabalho ao gerenciar a disposição do container na infraestrutura do servidor, encaminhando o trabalho para esses containers e os trazendo de volta à vida depois de uma falha, por si só não dá conta de apoiar os desenvolvedores e arquitetos que tentam construir aplicações nativas em nuvem.
Construir uma plataforma para um time de desenvolvimento é uma tarefa significativa. Você precisa ser responsável por tudo: desde a seleção e a integração do conjunto correto de projetos de código aberto à escolha de IDEs e ferramentas de construção, pipelines, controle de fontes, escaneamento de segurança e testes. Quando você tem que adicionar atualizações e correções de segurança, isso se torna uma trabalho de desenvolvimento em tempo integral. Nosso objetivo é resolver esses problemas e reduzir a complexidade para aumentar a produtividade de todos os desenvolvedores em um time. Então, como fazemos isso?
Vamos começar reconhecendo que ter consistência é bom. Ferramentas consistentes ajudam os times a construírem eficientemente e compartilhar conhecimento. Elas levam a um processo de entrega consistente que todos podem entender, e isso reduz o risco de erro humano. A automação leva à vitória.
Melhorar a colaboração entre partes diferentes de uma organização e dentro de um time é fundamental para aumentar a produtividade. Arquitetos e desenvolvedores precisam de um mecanismo consistente para capturar suas decisões sobre tecnologia e, então, compartilhá-las com o time maior.
Para muitos times, o uso de containers é um passo nessa direção e um óbvio emparelhamento com o Kubernetes. No entanto, a liberdade e a flexibilidade que os containers oferecem significa que é fácil ficar com vários deles. Muitas opções de escolha levam à complexidade, inconsistência e ineficiência.
Do protótipo à produção sem piscar
O Kabanero simplifica a tarefa de construir aplicações baseadas em containers para a implementação em uma nuvem híbrida. O Kabanero usa o OKD (projeto ascendente para o Red Hat OpenShift) para que você tenha uma base robusta e comprovada para o Kubernetes. Com essa base, ele adiciona a infraestrutura essencial para prover um pipeline de integração/entrega contínuas (CI/CD) e serviços essenciais, tais como registrar, monitorar, compartilhar dados (service mesh), além de atividades sem servidor do Knative. Até aí tudo bem, mas o que torna o Kabanero diferente?
Nós vamos olhar para as ferramentas de desenvolvimento específicas mais detidamente em breve, mas primeiro precisamos observar como o Kabanero fornece uma abordagem comum para definir, gerenciar e construir aplicações a partir de um conjunto consistente de artefatos baseados em containers que as extensões IDE exploram.
O Kabanero introduz a ideia de “coleção”. Uma coleção junta a linguagem, o tempo de execução e escolhas de framework, assim como ligações de infraestrutura que permitem que ela se conecte à base do Kabanero. As coleções fornecem abordagens consistentes para capturar as decisões colaborativas feitas por desenvolvedores e arquitetos. Um conjunto de coleções predefinidas remove a incerteza da integração com a base da infraestrutura.
O componente crucial de uma coleção é um stack Appsody.
O Appsody e suas ferramentas de linhas de comando associadas (CLIs) fornecem os elementos-base fundamentais para criar aplicações baseadas em containers. Um stack Appsody combina tempos de execução e frameworks em um container, junto com serviços e códigos comuns. Por exemplo, um stack Java MicroProfile inclui endpoints com métricas e integridade predefinidos para que todas as aplicações construídas com ele tenham capacidades em comum, fora da caixa.
Os desenvolvedores podem adotar rapidamente um stack e começar a construir novos aplicativos nativos em nuvem. O Appsody reconstrói a imagem do container de forma contínua para o seu aplicativo usando o stack predefinido. Como resultado, seu aplicativo é sempre construído no último stack e está automaticamente pronto para teste em um container, como se estivesse rodando em produção.
Experimente o Kabanero hoje.
Confira o repositório do Kabanero no GitHub.
Construa aplicativos mais rapidamente com a automação de pipeline e integração com o IDE
A infraestrutura do Kabanero está integrada com o GitHub; assim, o commit de código aciona um pipeline CI/CD automatizado. Usando os pontos de integração predefinidos que são parte de uma coleção Kabanero, a infraestrutura do pipeline monta o código da aplicação em relação à versão mais recente do stack Appsody.
Como o aplicativo está usando um stack comum, os desenvolvedores podem confiar no fato de que a aplicação irá operar na produção da mesma forma como o fez no desenvolvimento. Isso aumenta a consistência e reduz o risco de haver erros quando o código chega à produção. Isso importa quando você está de sobreaviso e não quer ser acordado no meio da noite!
O Kabanero não é só uma infraestrutura rodando sobre o Kubernetes. Ele começa com as ferramentas do desenvolvedor integradas a IDEs populares como o Eclipse e o VSCode. O projeto Eclipse Codewind ajuda desenvolvedores a construírem microsserviços nativos em nuvem e aplicações baseadas em funções em containers desde o início. Ele fornece extensões que entendem os stacks Appsody para que você possa começar a montar usando os stacks predefinidos e se beneficiar do container automatizado Codewind construído de dentro do IDE. Um painel de performance no Eclipse Codewind o ajudará a entender imediatamente as características de performance do seu novo app ou serviço logo no início do ciclo de desenvolvimento.
Comece com código aberto e depois adicione suporte quando precisar
O Kabanero, o Appsody e o Codewind, junto com outros componentes de infraestrutura que criam a base do Kabanero, têm código aberto. Juntas, essas tecnologias fazem com que seja mais fácil e mais conveniente para os times focarem em seus problemas de negócios, em vez de nas decisões de infraestrutura.
Quando chegar a hora e o seu time precisar de suporte, ele estará disponível pelo IBM Cloud Pak for Applications, que integra, assegura e certifica esses projetos de código aberto, fornecendo-lhe uma única solução para que você possa reestruturar suas aplicações para modelos nativos em nuvem. Com o ICPA, você pode mover aplicações existentes com alterações mínimas para um modelo operacional mais efetivo e baseado em Kubernetes. E seus desenvolvedores podem voltar a escrever ótimos códigos que resolvem necessidades de negócios reais.
Saiba mais
...
Quer ler mais conteúdo especializado de programação? Conheça a IBM Blue Profile e tenha acesso a matérias exclusivas, novas jornadas de conhecimento e testes personalizados. Confira agora mesmo, consiga as badges e dê um upgrade na sua carreira!