Os microsserviços são a norma no mundo atual de implantação de software. À medida que os aplicativos são decompostos em diferentes serviços, o número de aplicativos que uma organização precisa implantar aumenta. Muitas vezes o número de serviços aumenta centenas ou milhares de vezes. Se eu tenho cem aplicativos hoje, isso geralmente se torna milhares de microsserviços.
O objetivo final é entregar aplicativos e novas funcionalidades aos usuários finais e clientes com mais rapidez.
O desafio é como implantar continuamente milhares de serviços sem sacrificar a velocidade de implantação.
Hoje, parte da resposta é usar o Kubernetes para implantação. O Kubernetes é o padrão de fato para implantação de aplicativos baseados em microsserviços em escala. Ele oferece repetibilidade, escala e, mais importante, velocidade de implantação, o que significa levar os recursos aos usuários finais mais rapidamente.
Organizações que dimensionam suas implantações de microsserviços buscam executar vários clusters do Kubernetes. Muitas vezes, esses múltiplos clusters ocorrem em locais diferentes. Esses locais podem ser filiais ou lojas de varejo, diferentes provedores de nuvem ou, mais frequentemente, uma mistura de ambos.
Gerenciar a implantação de aplicativos em velocidade e escala em vários clusters do Kubernetes é difícil. Cada aplicativo agora é composto de vários serviços. Há vários aplicativos, serviços, sites e clusters do Kubernetes para lidar.
Em termos de arquitetura, isso leva a pipelines complexos de construção e implantação que geralmente são personalizados para um único provedor de nuvem ou um único aplicativo. Sob medida também significa quebradiço, frágil e com tendência a quebrar, geralmente durante a implantação de um aplicativo.
A capacidade de implantar vários aplicativos e serviços em locais distribuídos já está disponível. Isso significa que a capacidade de implantar seus aplicativos rapidamente em vários clusters do Kubernetes já existe hoje. Essa capacidade leva à redução do tempo de implantação e da complexidade. Em última análise, isso significa usuários finais mais felizes com novos recursos em mãos mais rapidamente.
Como desenvolvedor de aplicativos, posso tratar vários clusters do Kubernetes como uma única entidade. Isso significa que quando eu implanto um aplicativo no meu único cluster Kubernetes “virtual”, na verdade estou implantando meu aplicativo em vários clusters. Esses múltiplos aglomerados podem estar próximos uns dos outros ou em lados opostos do mundo.
A capacidade de implantar aplicativos em vários locais tem implicações de longo alcance para o gerenciamento e a velocidade da implantação. Não preciso mais lidar com pipelines de implantação personalizados e frágeis, nem me preocupar com as diferenças sutis de cada provedor de nuvem.
Agora posso implantar aplicativos e colocar recursos nas mãos dos meus usuários finais e clientes mais rapidamente usando uma abordagem de implantação padrão.
A melhor parte é que, como desenvolvedor, posso implantar meu aplicativo no Kubernetes usando ferramentas nativas. Posso usar metodologias e ferramentas de implantação familiares para implantar em vários clusters. Não preciso de nada especial do lado do desenvolvedor.
De uma perspectiva tecnológica mais profunda, isso me dá a capacidade de implantar usando ambos os rótulos, uma construção nativa do Kubernetes, para escolher um ou mais sites para implantar. Também posso usar ferramentas nativas do Kubernetes, como o comando kubectl , e arquivos de implantação ou manifestos padronizados do Kubernetes. Esta é uma maneira padrão de interagir com o Kubernetes. Isso facilita a implantação, pois posso usar ferramentas conhecidas, com o benefício adicional de implantar rapidamente em vários clusters e locais.
O mais importante é a capacidade de simplesmente usar rótulos do Kubernetes para selecionar se estou implantando em um único cluster ou em vários clusters. Os rótulos são uma construção nativa do Kubernetes que me permite “marcar” um aplicativo. Posso “marcar” ou rotular meu aplicativo com um local, que pode ser um ou muitos clusters do Kubernetes.
Usar a plataforma Volterra da F5 para implantar aplicativos em escala, em vários locais, alivia a dor que os desenvolvedores sentem diariamente. A capacidade de implantar aplicativos usando construções nativas do Kubernetes economiza tempo e coloca seu aplicativo nas mãos das pessoas que precisam dele mais rapidamente.
A capacidade de ter observabilidade e política centralizadas, juntamente com fácil implantação distribuída, elimina a sobrecarga dos desenvolvedores.
Velocidade e rapidez de implantação contínua significam que aplicativos e recursos estão mais rapidamente disponíveis para os clientes.