A portabilidade da nuvem é uma estratégia para criar aplicativos nativos da nuvem escaláveis e resilientes. Quando se fala em nativo da nuvem, a portabilidade da nuvem está frequentemente implícita. A nuvem nativa é uma abordagem arquitetônica de desenvolvimento e implantaçã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 começa com uma abordagem agnóstica da nuvem e aproveita ferramentas que podem ser utilizadas com qualquer fornecedor de nuvem, terá a flexibilidade para fazer alterações à medida que as suas necessidades mudam. Uma estratégia portátil também lhe dá mais informações sobre como está a utilizar os seus recursos e porquê, e dá-lhe a possibilidade de diversificar os seus recursos de nuvem ou mudar de fornecedor com base nas necessidades da aplicação e do negócio.
Conceber a sua estratégia de portabilidade da nuvem
Se está a começar ou a reconsiderar a sua arquitetura de aplicações na nuvem, eis cinco passos para conceber uma carga de trabalho portátil bem sucedida.
Identificar os requisitos
O primeiro passo para conseguir uma carga de trabalho portátil é identificar objetivamente os requisitos da carga de trabalho. Já vi acontecer com demasiada frequência este processo ser manchado pela subjetividade, porque os olhos pousam nos serviços atractivos de um fornecedor de serviços de nuvem antes de este passo inicial estar concluído. Por isso, a ênfase aqui é definir o âmbito dos seus requisitos antes de de considerar o(s) seu(s) fornecedor(es) de serviços de computação em nuvem.
Pense nisto como uma abordagem simples para compreender a funcionalidade e as características necessárias para satisfazer todos os resultados, para identificar as pilhas e dependências de software e outros componentes para satisfazer essas necessidades. Ter uma perspetiva objetiva e mais simples como esta é como ver a nuvem através 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
Quer a aplicação ainda esteja na fase de construção ou planeamento, quer já tenha sido desenvolvida e implementada numa plataforma de nuvem, avalie a conceção da arquitetura atual para identificar componentes e serviços específicos dessa plataforma.
Se identificou pontos de dependência do fornecedor, dedique algum tempo a avaliar porquê. Comece por responder às seguintes perguntas.
- Foi selecionada, ou pelo menos considerada, uma solução para acelerar a implementação ou o tempo de colocação no mercado?
- A solução baseava-se na consulta ou no apoio/interoperabilidade com outros serviços dessa plataforma?
- Quais eram os seus custos na altura em que seleccionou essa solução e agora?
Depois de responder a estas perguntas, pode começar a mapear o código aberto ideal ou outras soluções alternativas que forneçam a mesma funcionalidade ou semelhante, avaliar os esforços envolvidos na implementação e desenvolver um plano de execução. Se, após toda a avaliação, ainda optar por ficar com um serviço específico de uma plataforma, certifique-se de que tem uma estratégia de saída. O bloqueio do fornecedor de serviços na nuvem apresenta-se de duas formas: arquitetónica e operacional. Uma estratégia de saída bem pensada de um serviço de nuvem proprietário pode aliviar ambas as preocupações.
Construir para escalabilidade e tempo de atividade
A escalabilidade horizontal e a distribuição podem ser alcançadas utilizando tecnologias de balanceamento de carga em conjunto com a contentorização, imagens de computação, gestão de configuração e separação de componentes com e sem estado. O estado deve ser declarativo sempre que possível, mantido e gerido por uma única fonte de verdade, e automaticamente replicado e sincronizado.
Conceção para modularidade
As arquitecturas monolíticas podem tornar-se incómodas e quase impossíveis de gerir, o que diminui a flexibilidade necessária para efetuar alterações de forma portátil. Por conseguinte, as cargas de trabalho devem ser concebidas com modularidade, com componentes díspares claramente definidos e que funcionem em conjunto como um sistema fracamente acoplado. Um design nativo da nuvem fornece 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ê está desenvolvendo aplicativos nativos da nuvem, deve estar familiarizado com uma abordagem declarativa para implantação. Procure codificar cada parte da sua carga de trabalho: aplicativo, infraestrutura e gerenciamento de configuração. Com essa abordagem, é possível automatizar a implantação de novos ambientes (ou seja, desenvolvimento, preparação, teste) ou replicar ambientes existentes. Isto facilitará o processo de implementações azuis/verdes e ajudá-lo-á a recuperar rapidamente em caso de desastre.
Uma abordagem GitOps oferece um único painel de vidro para alcançar a portabilidade, com os benefícios de confiabilidade dos pipelines de automação para padronizar suas implantações, maior visibilidade para conformidade/auditoria e aplicação de políticas como código. Saiba mais com nosso guia gratuito GitOps para Portabilidade de Nuvem.
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!