Cuidados para migrar aplicações para a nuvem

Cuidados para migrar aplicações para a nuvem

Não tem como negar: a comunidade de desenvolvimento de software já abraçou a computação na nuvem com toda força. Com isso vem a vontade enorme de entrar na onda e começar a criar e migrar aplicações existentes para este ambiente. Porém as coisas não são tão simples e muito do que aprendemos ao longo dos anos sofrerão uma brusca mudança. Vamos a elas:

Arquitetura de software na nuvem

Migrar aplicações para nuvem significa mudar de paradigma. Os softwares devem ser construídos para usufruir do melhor que este ambiente pode oferecer: computação distribuída.

Para isso é necessário um padrão arquitetural que permita modularizar as aplicações, simplifique a comunicação entre suas partes e que trabalhe de forma assíncrona. Aplicações monolíticas não escalam bem horizontalmente, portanto não são boas candidatas para serem hospedadas na nuvem.

Abaixo listo leitura de alguns padrões de arquitetura e de tecnologias que podem te ajudar a fazer a escolha certa:

Use contêiner e não máquina virtual

A migração para nuvem implica que nós desenvolvedores temos que nos libertar de qualquer amarra com o sistema operacional.

Hospedar sistemas na nuvem em máquinas virtuais significa que ainda temos alguma dependência com o ambiente, além de ser mais caro.

Por isso uma palavrinha está em evidência na computação na nuvem e no Devops: contêiner. Um contâiner nada mais é que um ambiente operacional montado apenas com os recursos que você precisa, sem a necessidade de preocupação com o sistema operacional.

Para facilitar o entendimento, é como se fosse uma classe compilada Java: uma vez pronta, pode (na teoria) rodar em qualquer JVM. Quer saber mais?

Acesso ao sistema de arquivos

Upload de arquivo em disco local, pasta temporária para processamento, área de rede para gravar arquivos de log…. nada disso deve ser utilizado na nuvem. Em ambientes que predominam o uso de contêineres, não há garantia que estes recursos estejam sempre acessíveis quando precisamos.

Portanto sempre observe junto ao seu provedor de serviços quais recursos estão disponíveis para que seja utilizado em sua aplicação.

Observação importante: tente ao máximo não se prender a uma solução de fornecedor, ao custo de inviabilizar migração de ambiente computacional para outro provedor.

Muita burocracia! Devo mesmo migrar?

Aí depende da sua necessidade. Se sua aplicação for pequena e toda esta mudança for impactante demais, melhor ficar onde está.

Porém, em todos os outros casos há forte tendência de que mudar para nuvem (seja ela pública ou privada) seja uma ótima alternativa principalmente pela oportunidade única de implantar processos de DevOps, que conversaremos em outro momento. Até lá!

Deixe um comentário