imagem com um ícone de aplicações

Confira as melhores práticas para modernizar aplicações na AWS

À medida que iniciam a jornada para a nuvem, muitas empresas reconhecem a necessidade de modernizar suas aplicações. Isso porque sistemas legados e obsoletos são verdadeiros empecilhos para a transformação dos processos de negócios, dificultando projetos ou ainda os impedindo de acontecer.

Por outro lado, organizações que modernizam suas aplicações obtêm melhora na qualidade de entregas, na liberação de novas funcionalidades e de performance de modo geral. O Principal Solutions Architect na AWS, Fernando Sapata e o Developer & AI na BRLink, Rafael Campana, explicaram como esse processo é realizado na AWS e elegeram as melhores práticas. Confira:

Padrões de Arquitetura

Em 2000, a Amazon obteve a primeira lição sobre modernização de aplicações: o desacoplamento. A empresa não tinha agilidade suficiente para fazer o deploy e entrega de novas funcionalidades do seu e-commerce e entendeu que para tornar isso possível precisava sair do “monolito” e migrar para um ambiente orientado a microsserviços.

“Diferente da arquitetura monolítica, os microsserviços tratam de desacoplar componentes, ou seja, criam peças menores, com uma menor responsabilidade e que podem ser operadas de modo mais simples pelo que a Amazon chama de “2 Pizza Teams”. Esse conceito diz que um time deve ter o número de pessoas suficiente para ser alimentado por duas pizzas”, explica Fernando Sapata, Principal Solutions Architect na AWS.

De acordo com Sapata, além de ter tamanho adequado para garantir alto desempenho, é importante que o time tenha propriedade e responsabilidade total, o que é característico da cultura de DevOps. Nela, quem desenvolve também opera e resolve os próprios problemas. Entre as vantagens, o expert garante que o time ganha independência, mitiga quebras de contratos, acelera a entrega de recursos, permite ambientes mais estáveis e estimula a inovação para agregar valor.

Modelo Operacional

Arquiteturas cloud-native contribuem para melhor prática de DevOps e entrega contínua (continuous delivery). Segundo Fernando, elas são como pequenas peças, pouco ou nada acopladas e geram menos riscos, além de permitirem a criação com serviços disponíveis em nuvem.

Os serviços cloud-native conseguem fornecer menos esforço administrativo dentro do serviço. Ao contrário disso, no modelo de Data center, é preciso subir uma máquina virtual, instalar algum serviço de banco de dados, monitorar a camada de sistema operacional, atualizar patches, entre outras atividades.

“Já no modelo operacional serverless, toda essa camada de responsabilidade é extraída pelo provedor, nesse caso, pela AWS. Nesse ecossistema, o esforço administrativo de quem desenvolve é menor e, por consequência, se obtém mais tempo para focar verdadeiramente em aplicações e no desenvolvimento de novas funcionalidades”, diz Fernando.

O especialista esclarece que, apesar da associação com o AWS Lambda, é preciso entender que o conceito serverless se expande para outras categorias de serviços. Além disso, destaca as vantagens da arquitetura serverless, que não possui infraestrutura, o pagamento é feito conforme o uso, possui escala automática, alta disponibilidade e segurança.

Mudanças na entrega de software

Quando falamos sobre mudanças na entrega de software, basicamente nos referimos a um universo orientado a práticas de CI/CD. A integração contínua e entrega contínua permitem monitoramento e automação continuada a todo o ciclo de vida de uma aplicação, desde a fase de teste e integração até entrega e operação.

Rafael Campana, Developer & AI na BRLink,  informa que existem apenas dois cenários de ciclo de vida de desenvolvimento. De um lado, o ciclo de vida da aplicação monolítica e, do outro, de microsserviços. No segundo caso, diz que há 2 pizza teams desenvolvendo pequenas peças, onde cada um deles tem um pipeline independente e respeitam o contrato de API’s. “Caso seja preciso fazer alguma alteração, esse time é orientado a versionar e documentar a API”, completa.

“Assim, temos milhares de times estruturados em “2 Pizza Teams”, desenvolvendo microsserviços e usando práticas de CI/CD, somado a arquitetura serverless. Com essa fórmula, a AWS identificou que é possível atingir mais de 60 milhões de deploys por ano, entregando funcionalidade para o cliente o tempo todo”, diz Sapata.

Testemunhando uma mudança de paradigma

De acordo com o Principal Solutions Architect na AWS, estudos atrelados a disponibilidade dos provedores de serviço identificaram que a AWS aparece no topo como uma empresa com o menor downtime entre todos os provedores. Além disso, informa que, em 2018, a gigante entregou 1957 novas funcionalidades para seus clientes.

Como um exemplo de modernização e resiliência, a AWS tem como objetivo automatizar e abstrair o máximo possível, de modo que os clientes possam focar em desenvolver aplicações para seus negócios. Por isso, a empresa sintetizou um processo de modernização de sucesso nas seguintes etapas:

  • Desacoplar sistemas

  • Foco na lógica de negócio

  • Lançar funcionalidades mais rápido

  • Inovar com mais frequência

  • Construir produtos melhores

  • Entregar mais valor para os clientes

 

 

Newly – O seu Portal de Tecnologia

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *