Simplificando as operações - Implementando microsserviços em AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Simplificando as operações

Para simplificar ainda mais os esforços operacionais necessários para executar, manter e monitorar microsserviços, podemos usar uma arquitetura totalmente sem servidor.

Implantação de aplicativos baseados em Lambda

Você pode implantar seu código Lambda fazendo o upload de um zip arquivo arquivado ou criando e carregando uma imagem de contêiner por meio da interface do usuário do console usando um URI de imagem válido do Amazon ECR. No entanto, quando uma função Lambda se torna complexa, o que significa que ela tem camadas, dependências e permissões, o upload por meio da interface do usuário pode se tornar complicado para alterações no código.

Usar AWS CloudFormation and the AWS Serverless Application Model (AWS SAM) AWS Cloud Development Kit (AWS CDK), ou Terraform simplifica o processo de definição de aplicativos sem servidor. AWS O SAM, suportado nativamente pelo CloudFormation, oferece uma sintaxe simplificada para especificar recursos sem servidor.AWS Lambda As camadas ajudam a gerenciar bibliotecas compartilhadas em várias funções do Lambda, minimizando o espaço ocupado pelas funções, centralizando bibliotecas com reconhecimento de inquilinos e melhorando a experiência do desenvolvedor. O Lambda SnapStart for Java aprimora o desempenho de inicialização de aplicativos sensíveis à latência.

Para implantar, especifique políticas de recursos e permissões em um CloudFormation modelo, empacote artefatos de implantação e implante o modelo. O SAM Local, uma AWS CLI ferramenta, permite o desenvolvimento local, o teste e a análise de aplicativos sem servidor antes do upload para o Lambda.

A integração com ferramentas como AWS Cloud9 IDE, AWS CodeBuild, e AWS CodePipeline simplifica a criação AWS CodeDeploy, o teste, a depuração e a implantação de aplicativos baseados em SAM.

O diagrama a seguir mostra a implantação de AWS Serverless Application Model recursos usando ferramentas CloudFormation de AWS CI/CD.

Diagrama mostrando AWS Serverless Application Model (AWS SAM)

Figura 2: AWS Serverless Application Model (AWS SAM)

Abstraindo as complexidades da multilocação

Em um ambiente multilocatário, como plataformas SaaS, é crucial simplificar as complexidades relacionadas à multilocação, permitindo que os desenvolvedores se concentrem no desenvolvimento de recursos e funcionalidades. Isso pode ser feito usando ferramentas como AWS Lambda Layers, que oferecem bibliotecas compartilhadas para abordar questões transversais. A lógica por trás dessa abordagem é que bibliotecas e ferramentas compartilhadas, quando usadas corretamente, gerenciam com eficiência o contexto do inquilino. 

No entanto, eles não devem se estender ao encapsulamento da lógica de negócios devido à complexidade e ao risco que podem apresentar. Um problema fundamental com as bibliotecas compartilhadas é o aumento da complexidade das atualizações, tornando-as mais difíceis de gerenciar em comparação com a duplicação de código padrão. Portanto, é essencial encontrar um equilíbrio entre o uso de bibliotecas compartilhadas e a duplicação na busca pela abstração mais eficaz.

Gerenciamento de APIs

O gerenciamento APIs pode ser demorado, especialmente quando se considera várias versões, estágios do ciclo de desenvolvimento, autorização e outros recursos, como limitação e armazenamento em cache. Além do API Gateway, alguns clientes também usam o ALB (Application Load Balancer) ou o NLB (Network Load Balancer) para gerenciamento de API. O Amazon API Gateway ajuda a reduzir a complexidade operacional de criação e manutenção RESTful APIs. Ele permite que você crie APIs programaticamente, serve como uma “porta de entrada” para acessar dados, lógica de negócios ou funcionalidade de seus serviços de back-end, autorização e controle de acesso, limitação de taxa, armazenamento em cache, monitoramento e gerenciamento de tráfego e é executado sem gerenciar servidores. APIs

A Figura 3 ilustra como o API Gateway lida com chamadas de API e interage com outros componentes. Solicitações de dispositivos móveis, sites ou outros serviços de back-end são encaminhadas para o CloudFront ponto de presença (PoP) mais próximo para reduzir a latência e fornecer uma experiência de usuário ideal.

Diagrama mostrando o fluxo de chamadas do API Gateway

Figura 3: Fluxo de chamadas do API Gateway