Começo esse artigo com a definição geral da palavra arquitetura que, segundo o dicionário Collins, significa a arte de planejar, desenhar e construir. Já o Macmillan define o significado para o mundo de TI como o desenho e a estrutura de sistemas de computadores ou programas e a forma como eles trabalham em relação a outros sistemas e programas. Diante desta definição não podemos ignorar o fato de que o processo de transformação para uma jornada cloud deve ser muito bem arquitetado.
Pensar em cloud da forma como fizemos até agora, em uma infraestrutura tradicional e on-premises não traz benefícios significativos e você deixa de usufruir dos benefícios da computação em nuvem. Com serviços em cloud, muitos dos aspectos de arquitetura tradicional mudam. É fundamental para o sucesso de um projeto de Cloud Computing, a escolha dos componentes certos e a definição dos processos de integração, visando a melhor comunicação entre os sistemas e permitindo que as informações se disseminem da melhor forma possível e com total segurança. Em geral, uma arquitetura deve levar em consideração três pilares: gestão de custos, gestão de performance e gestão de segurança.
Muitas empresas estão desperdiçando dinheiro com aplicações hospedadas na nuvem em arquiteturas antigas ou apenas com o que chamamos de re-hosting, quando uma aplicação é migrada as-is ("como está", para um novo ambiente baseado em nuvem, sem qualquer análise da plataforma ou arquitetura.
Uma barreira que precisa ser vencida é o pensamento, muito comum, de antecipar a compra de infraestrutura ante à real necessidade. Até pouco tempo, era comum comprar uma capacidade maior de CPU, memória, discos e rede prevendo algum crescimento e poucos picos de utilização que poderiam acontecer. Gestão de custos tem impacto direto e deve ser o principal ponto de atenção em uma arquitetura de migração. Por que pagar por recursos que não vamos utilizar, ao invés de aproveitar a agilidade e a flexibilidade que a nuvem nos oferece e, assim pagar pelos recursos somente quando necessário?
Na arquitetura também deve se levar em consideração a sazonalidade e prever crescimentos somente quando necessário, de forma que o negócio não seja impactado com custos extras, bem como, não tenha impactos de performance. Aqui entra outro pilar fundamental, gestão de performance, um componente que não pode faltar. De acordo com o nível de maturidade da aplicação, é possível realizar uma abordagem diferente como, por exemplo, uso de PaaS (platform as a service), escalabilidade vertical ou horizontal e assim por diante. Fazendo isso de forma eficiente, é possível gastar menos e pagar apenas pelo que ele realmente utiliza.
Vale lembrar que, com o uso de Edge Computing em uma arquitetura, é possível ter um melhor desempenho, redução de custos com nuvem, além de incluir uma camada com ferramentas que são fundamentais na gestão de segurança. Em resumo, o provedor de soluções e serviços em cloud deve proporcionar segurança na camada de infraestrutura.
Com a devida atenção a esses três pontos destacados como fundamentais, a arquitetura estará livre de: 1) ataques e contaminações do ambiente com potencial para gerar indisponibilidade; 2) custos extras com processamentos desnecessários.
Resumidamente: ambiente seguro, de alta performance e economicamente viável.
Wellington Figueira, gerente de Implementação e Arquitetura na Dedalus.