A portabilidade da nuvem é uma estratégia para criar aplicativos nativos da nuvem escaláveis e resilientes. Quando se fala em nuvem nativa, a portabilidade da nuvem geralmente está implícita. A nuvem nativa é uma abordagem arquitetônica de desenvolvimento e implementação de aplicativos que maximiza a elasticidade e a agilidade dos recursos de computação em nuvem. No entanto, à medida que as equipes começam com um único provedor de nuvem e criam ferramentas e serviços gerenciados específicos para esse provedor inicial, elas podem rapidamente ficar presas ao fornecedor.
Uma carga de trabalho portátil é aquela que pode ser facilmente migrada, implantada e gerenciada em diferentes ambientes de computação e plataformas de infraestrutura. Ela permite que as organizações evitem a dependência de fornecedores e mantenham a flexibilidade em suas estratégias de nuvem.
Quando você começa com uma abordagem agnóstica de nuvem e aproveita ferramentas que podem ser usadas com qualquer provedor de nuvem, você terá a flexibilidade de fazer alterações conforme suas necessidades mudarem. Uma estratégia portátil também oferece mais informações sobre como você está usando seus recursos e por quê, além de permitir que você diversifique seus recursos de nuvem ou troque de provedor com base nas necessidades comerciais e de aplicativos.
Projetando sua estratégia de portabilidade da nuvem
Se estiver começando ou reconsiderando sua arquitetura de aplicativos em nuvem, aqui estão cinco etapas para projetar uma carga de trabalho portátil bem-sucedida.
Identificar os requisitos
A primeira etapa para obter uma carga de trabalho portátil é identificar objetivamente os requisitos da carga de trabalho. Já vi com muita frequência esse processo ser manchado pela subjetividade, porque os olhos se voltam para os serviços atraentes de um provedor de nuvem antes que essa etapa inicial seja concluída. Portanto, a ênfase aqui é definir o escopo de seus requisitos antes de de considerar seu(s) provedor(es) de nuvem.
Pense nisso como uma abordagem básica para entender a funcionalidade e os recursos necessários para atender a todas as entregas, identificando as pilhas e dependências de software e outros componentes para atender a essas necessidades. Ter uma perspectiva objetiva e mais básica como essa é como ver a nuvem por meio de uma lente grande angular. Ela destaca uma grande quantidade de funcionalidades que podem ser executadas em primitivas de infraestrutura de nuvem essenciais que existem em qualquer provedor.
Identificar pontos de bloqueio
Se o aplicativo ainda estiver em fase de construção ou planejamento, ou se já tiver sido desenvolvido e implantado em uma plataforma de nuvem, avalie o design da arquitetura atual para identificar os componentes e serviços específicos dessa plataforma.
Se você identificou pontos de bloqueio de fornecedor, dedique algum tempo para avaliar o motivo. Comece respondendo às seguintes perguntas.
- Uma solução foi selecionada, ou pelo menos considerada, para uma implementação ou tempo de colocação no mercado mais rápidos?
- A solução foi baseada em consulta ou para suporte/interoperabilidade com outros serviços nessa plataforma?
- Quais eram seus custos no momento da seleção dessa solução em comparação com os atuais?
Depois de responder a essas perguntas, você pode começar a mapear o código aberto ideal ou outras soluções alternativas que forneçam a mesma funcionalidade ou uma funcionalidade semelhante, avaliar os esforços envolvidos na implementação e desenvolver um plano de execução. Se, depois de toda a avaliação, você ainda optar por ficar com um serviço específico de plataforma, certifique-se de ter uma estratégia de saída. O aprisionamento ao fornecedor de nuvem ocorre de duas formas: arquitetônica e operacional. Uma estratégia de saída bem planejada de um serviço de nuvem proprietário pode aliviar as duas preocupações.
Crie para escalabilidade e tempo de atividade
A escalabilidade e a distribuição horizontais podem ser obtidas com a utilização de tecnologias de balanceamento de carga em conjunto com a conteinerização, imagens de computação, gerenciamento de configuração e separação de componentes com e sem estado. O estado deve ser declarativo sempre que possível, mantido e gerenciado por uma única fonte de verdade e replicado e sincronizado automaticamente.
Design para modularidade
As arquiteturas monolíticas podem se tornar incômodas e quase impossíveis de gerenciar, o que diminui a flexibilidade necessária para fazer alterações de forma portátil. Portanto, as cargas de trabalho devem ser projetadas com modularidade, com componentes diferentes claramente definidos e que funcionem juntos como um sistema fracamente acoplado. Um projeto nativo da nuvem oferece um processo eficiente de atualização ou substituição de componentes individuais sem afetar toda a carga de trabalho, o que, em última análise, promove a manutenção, a adaptabilidade e... a portabilidade!
Tudo como código
Se você estiver desenvolvendo aplicativos nativos da nuvem, deverá estar familiarizado com uma abordagem declarativa para a implantação. Procure codificar cada parte de sua carga de trabalho: aplicativo, infraestrutura e gerenciamento de configuração. Com essa abordagem, você pode automatizar a implantação de novos ambientes (ou seja, desenvolvimento, preparação, teste) ou replicar ambientes existentes. Isso facilitará o processo de implementações azuis/verdes e o ajudará a se recuperar rapidamente em caso de desastre.
Uma abordagem GitOps oferece um painel único para alcançar a portabilidade, com os benefícios de confiabilidade dos pipelines de automação para padronizar suas implementações, maior visibilidade para conformidade/auditoria e aplicação de políticas como código. Saiba mais com nosso guia gratuito GitOps for Cloud Portability.
Procurando ajuda para projetar uma estratégia de portabilidade na computação em nuvem da Akamai? Entre em contato com nossos especialistas em nuvem para uma consulta.
Comentários (1)
Thanks for info!