top of page
Foto do escritorRan Isenberg

re:Invent 2022: Lições sobre o Serverless


re:Invent 2022: Minha lição sobre o Serverless

Agora que o re:Invent 2022 acabou oficialmente, vamos dar uma olhada nos novos serviços e recursos lançados da perspectiva de um desenvolvedor sem servidor.

 

A palestra principal

https://siliconangle.com/2022/12/01/evolve-die-systems-architectures-says-amazon-cto-werner-vogels/
https://siliconangle.com/2022/12/01/evolve-die-systems-architectures-says-amazon-cto-werner-vogels/

A "vibe" sem servidor começou na palestra.

O Dr. Werner Vogels estava vestindo uma camiseta com o logotipo da Lambda.

Dr. Werner Vogels, vice-presidente e diretor de tecnologia da Amazon.com, fala sobre os benefícios de construir sistemas assíncronos e fracamente acoplados e como a arquitetura orientada a eventos permite escala global. Ele então explica como a nuvem está permitindo que os clientes criem experiências mais imersivas usando 3D e como a simulação está capacitando os clientes a experimentar e inovar de novas maneiras. - AWS https://www.youtube.com/watch?v=RfvL_423a-I

Vamos analisar os novos serviços e recursos mais interessantes para nós, desenvolvedores.

 

Mapa distribuído de funções de etapa

Uma solução sem servidor para processamento de dados paralelos em larga escala

Você já quis processar objetos S3 massivos rapidamente usando 10.000 funções lambda simultâneas? Bem, agora você pode.

O estado do mapa existente é limitado a 40 iterações paralelas por vez.

No entanto, o novo fluxo de mapa distribuído do Step Functions suporta uma simultaneidade máxima de até 10.000 execuções em paralelo. Você pode processar dados compondo qualquer API de serviço suportada pelo Step Functions, mas, normalmente, você invoca funções Lambda para processar os dados.


https://aws.amazon.com/blogs/aws/step-functions-distributed-map-a-serverless-solution-for-large-scale-parallel-data-processing/
https://aws.amazon.com/blogs/aws/step-functions-distributed-map-a-serverless-solution-for-large-scale-parallel-data-processing/

Para o processamento em si, eu sugeriria o novíssimo utilitário de streaming AWS Lambda Powertools para Python que serve como uma luva.

Você pode processar arquivos enormes armazenados no S3 linha por linha no seu código de função lambda sem carregar o arquivo na memória lambda ou no sistema de arquivos.


Documentação do AWS Lambda Powertools

Exemplo de uso:

Documentação do AWS Lambda Powertools
 

Tubos Amazon EventBridge

Console AWS
Console AWS

É uma maneira simples, consistente e econômica de criar integrações ponto a ponto entre produtores e consumidores de eventos, eliminando a necessidade de escrever código de colagem indiferenciado. O Amazon EventBridge Pipes traz os recursos mais populares do Amazon EventBridge Event Bus , como filtragem de eventos, integração com mais de 14 serviços da AWS e novas tentativas automáticas de entrega.

Construir um sistema assíncrono orientado a eventos ficou ainda mais fácil e com menos código!

Agora ficou ainda mais fácil criar integração entre produtores e consumidores, cuidando de filtros de entrada, enriquecimento de dados e retiradas automáticas de falhas.


Os serviços de origem incluem Kinesis, SQS, DynamoDB, Amazon MQ, Apache MSK e Kafka autogerenciado, e as fontes de destino são ainda mais abrangentes, com 14 serviços suportados, incluindo API GW, SQS, EventBridge e outros.



Leia mais em:


 

Lambda SnapStart

Esse recurso proporciona tempos de inicialização de funções até 10x mais rápidos para aplicativos Java sensíveis à latência, sem custo extra e com alterações mínimas ou nenhuma alteração de código.

Essa é bem importante para vocês, pessoal de Java.

Uma maneira nova e aprimorada de reduzir inicializações a frio em vez de habilitar a simultaneidade provisionada por lambda, que é mais cara.

O AWS Lambda tira um instantâneo criptografado da memória e do disco da função logo após a inicialização e antes de manipular a entrada e o contexto da invocação.

Agora imagine que cada invocação lambda começa neste ponto toda vez que é invocada, reduzindo assim drasticamente a inicialização a frio sem nenhum custo extra.


O Lambda tira um instantâneo do Firecracker microVM do estado da memória e do disco do ambiente de execução inicializado, criptografa o instantâneo e o armazena em cache para acesso de baixa latência. Quando seu aplicativo é inicializado e dimensionado para lidar com o tráfego, o Lambda retoma novos ambientes de execução a partir do instantâneo em cache em vez de inicializá-los do zero, melhorando o desempenho da inicialização.

 

Amazon OpenSearch Serverless (prévia)


Ótimas notícias para usuários do OpenSearch!

Agora é mais simples e econômico do que nunca adicionar pesquisa baseada em texto ao seu aplicativo.

O Amazon OpenSearch Serverless é a versão gerenciada do serviço, o que significa que aumentar ou diminuir o tamanho do cluster do OpenSearch agora é um problema do passado.

Além disso, a otimização do dimensionamento do cluster significa menos custos a longo prazo.

 

Inspetor Amazon e Lambda

Segurança nunca é demais.

O Amazon Inspector agora verifica funções e camadas lambda do AWS Lambda em busca de vulnerabilidades.

Seu código de função lambda depende de muitas bibliotecas de código aberto das quais você só tem conhecimento algumas vezes. Em algum lugar abaixo da cadeia, uma vulnerabilidade pode expor seu código a ataques.

O Amazon Inspector verificará automaticamente toda a sua conta em busca da função e das camadas do Lambda (atualmente em uso) e alertará você em caso de um problema de segurança no painel.

É um ótimo recurso de segurança, pois até agora eu tinha que depender de soluções de terceiros para escanear as dependências da minha função.


 

Amazon CodeCatalyst (Prévia)

Este serviço tem como objetivo melhorar a experiência de integração, ou seja, a integração interna de desenvolvedores de um novo serviço SaaS, do desenvolvedor ao gerente de produto.

Já se foram os dias em que era preciso passar dias tentando instalar uma máquina de ambiente de desenvolvedor ou semanas criando um modelo de serviço.


O Amazon CodeCatalyst pode ser visto como uma plataforma de desenvolvedor de autoatendimento para serviços SaaS.

Como arquiteto em um grupo de engenharia de plataforma, passamos anos tentando construir a experiência perfeita de autoatendimento sem servidor. O CodeCatalyst visa tornar isso mais fácil.


Você começa com um "projeto" que cria um serviço (conforme definido pela sua empresa) com seus recursos implantados na AWS, pipeline de CI/CD e um ambiente de desenvolvimento local.


Amazon CodeCatalyst
AWS CodeCatalyst adicionar um projeto

Há até suporte do AWS Cloud9 para um ambiente de desenvolvimento baseado em nuvem.

Imagine não gastar tempo algum instalando e configurando um ambiente de desenvolvimento; você inicia sua máquina a partir da imagem de desenvolvedor de base da empresa e começa a desenvolver seu novo serviço.


Outro aspecto interessante deste serviço é o suporte ao aspecto de gerenciamento de produtos - sistema de tickets, quadro de atividades de monitoramento de problemas.


 

AWS Application Composer (visualização)

Como arquiteto sem servidor, uso ferramentas como Lucid Chart e Draw.io para criar um diagrama que descreve o design de alto nível dos meus aplicativos.

Em seguida, os desenvolvedores pegam meu diagrama, o transformam em um código de pilha do AWS CDK com código de lógica de negócios e o implementam na realidade.

O AWS Application Composer me permite criar interativamente diagramas de aplicativos sem servidor e exportá-los como modelos SAM que podem ser implantados imediatamente.

Isso é impressionante!

É possível mapear sistemas completos com esta ferramenta e implantá-los imediatamente sem escrever uma única linha de configuração do CloudFormation.



Projeto de demonstração do AWS Application Composer
Projeto de demonstração do AWS Application Composer

Embora eu não recomende que você abandone seu IDE ainda, este serviço é um passo significativo para encurtar o tempo de adoção da arquitetura Serverless e criar novos serviços Serverless rapidamente.

É uma ferramenta excelente para iniciantes em Serverless, mas também para aqueles que estão começando um novo serviço e querem implementar rapidamente um POC para verificar o design. Uma vez verificado, a saída pode ser passada para a equipe de desenvolvimento para os retoques finais e para escrever os testes de lógica de negócios.


Uma ressalva - ele ainda não oferece suporte a AWS CDK, Pulumi ou Terraform. Use o botão de feedback no canto inferior esquerdo do console do AWS Application Composer e peça o suporte do framework IAC escolhido.



 

Amazon Security Lake (Prévia)


Versão da Amazon de um data lake moderno para logs de segurança de uma organização no formato aberto Open Cybersecurity Schema Framework (OCSF).


O Amazon Security Lake centraliza automaticamente os dados de segurança da nuvem, no local e fontes personalizadas em um data lake criado especificamente para esse fim, armazenado em sua conta. Com o Security Lake, você pode obter uma compreensão mais completa dos seus dados de segurança em toda a sua organização

 

Amazon Athena para Apache Spark

Boas notícias para os engenheiros de dados entre nós: você ganha um novo parceiro sem servidor!

Comece com análises interativas usando o Amazon Athena para Apache Spark em menos de um segundo para analisar petabytes de dados. Os aplicativos Spark interativos iniciam instantaneamente e rodam mais rápido com nosso tempo de execução Spark otimizado, para que você gaste mais tempo em insights, sem esperar por resultados.

O Amazon Athena agora adiciona um novo mecanismo de análise: o Apache Spark, em uma versão sem servidor.

Sendo Serverless, você não se preocupa em gerenciá-lo, atualizar sua versão ou escalá-lo para cima e para baixo. Você pode se concentrar em sua lógica de computação.


Execute aplicativos Spark de forma econômica, sem provisionar e gerenciar recursos. Crie aplicativos Spark sem se preocupar com configurações Spark ou atualizações de versão.


Obrigado Igal Drayerman por compartilhar isso comigo.



bottom of page