AWS re:Invent 2023 está chegando ao fim. A palestra principal deste ano do Dr. Werner Vogels, como sempre, não decepcionou, você verá o porquê em um minuto, mas bem rápido antes de começarmos: Se você está procurando por muitos anúncios novos e empolgantes, este não é o que você deve assistir.
Depois de uma introdução tradicional, “The Matrix”, e tema geral, Werner entrou no tópico de gerenciamento de custos e foi fundo! Eu recomendo fortemente esta palestra para aqueles profissionais de TI da velha escola com experiência em desenvolvimento de software program ou gerenciamento de knowledge heart. Vocês vão se divertir muito!
Tudo bem, vamos aos detalhes:




Nesse ponto, eu não sabia que toda a apresentação seria centrada em gerenciamento de custos na nuvem, mas fiquei intrigado com o livro “The Frugal Architect” ao qual ele sempre se referia, que é um livro sobre projetar aplicativos que usam recursos de forma eficiente para economizar poder de computação, memória e, por sua vez: despesas operacionais. Uma rápida pesquisa na Amazon revelou: tal livro não existe. Mais sobre isso depois.


Uma vez que ficou claro que toda a sua apresentação seria em torno desse tópico, tudo começou a se encaixar. Ele começou a tocar em pontos específicos e então expandiu sobre eles. Aqui está uma amostra.
Alinhar custo ao negócio


Eu realmente adorei esse ponto. No mundo AWS, podemos ficar tremendous animados com os recursos: alta disponibilidade, dimensionamento automático e serverless.
Mas nunca devemos esquecer que, se o lucro da nossa empresa depende de computação de baixo custo, então talvez não devêssemos subutilizar uma instância EC2 4xlarge supercara se pudéssemos fazer o mesmo trabalho com um grupo de instâncias pontuais menores.
Isso pode não ser evidente no início, mas à medida que o negócio cresce, você realmente não quer surpresas em termos de despesas que afetem diretamente a receita da empresa.
Isso é algo que eu já faço, devido à minha experiência em desenvolvimento de software program: manter os custos em mente e por “custos” quero dizer tudo: ciclos de CPU, armazenamento, número de servidores e assim por diante.
Concordo com Werner que o Amazon Internet Providers é um serviço incrível para todas as suas necessidades de computação, mas não deixe que a conta mensal fuja de você aceitando inadimplências ou desperdiçando recursos.
Observabilidade


Um dos seus pontos period que uma aplicação que não é rastreada e medida incorrerá em custos ocultos ou inesperados e este ponto foi uma boa transição para introduzir Sinais de aplicativos CloudWatchum novo recurso para rastrear custos e uso específicos do aplicativo.
línguas


Em um ponto, ele foi muito específico sobre linguagens de programação e sua pegada geral e impacto na velocidade do nosso código. Linguagens mais rápidas e eficientes levam a um código melhor que pode fazer o trabalho mais rápido. Ele chegou a dizer que deveríamos codificar em Rust. Isso se deve à sua eficiência e velocidade. Eu poderia argumentar contra isso:
Concedido, Python, Java e .NET Languages são bem pesadas devido à sua plataforma de suporte subjacente — tornando-as inúteis para programas curtos e transacionais. Mas ele falhou em considerar os Custos de Desenvolvimento, manutenção de longo prazo e Tempo de Mercado. Encontrar desenvolvedores Python e Java é bem simples, pois essas são linguagens populares em todo o mundo. Encontrar desenvolvedores Rust? Não tenho tanta certeza sobre isso.
Claro, se voltarmos nosso foco para o ponto dele: Custo operacional.
Um programa em Rust, C ou C++ que pode rodar em 100 milissegundos sempre terá melhor desempenho do que o mesmo programa escrito em Python, Java ou C# simplesmente por causa do tempo de carregamento superlongo do próprio ambiente. Então, ele está 100% correto em termos de economia de custos e sustentabilidade.


Ele também tocou na frase “mas, sempre fizemos as coisas desse jeito…”, tentando dizer que não devemos ter medo de uma nova linguagem de programação ou tecnologia para fazer o trabalho de uma forma muito mais eficiente e sustentável. Embora eu concorde com isso, nem todas as empresas podem se dar ao luxo de transformar seus desenvolvedores Python Sênior em desenvolvedores Rust Júnior enquanto esperam o mesmo nível de produção deles, então, sua milhagem pode variar!
IA Gen


Quando chegamos a essa parte da conversa, pensei “Nossa, lá vamos nós!” e eu esperava que a conversa tangenciasse loucamente para modelos de linguagem, geração de imagens, Amazon Q e assim por diante, mas não! Period o completo oposto do que eu tinha em mente.
Em vez disso, ele nos mostrou casos de uso de IA tradicional (Machine Studying, SageMaker, Imaginative and prescient) para resolver problemas do mundo actual, como interpretar exames de radiologia, identificar corretamente grãos de arroz para germinação e analisar dados de imagem para encontrar e ajudar vítimas de abuso infantil.
A propósito, sobre o software program que verifica essas imagens de raios-x, o Dr. Vogels tem experiência na indústria da saúde antes de fazer a mudança para a tecnologia, então, ele mesmo escreveu o código inicial usando Python antes de ser delegado. Este código agora é Código aberto e muito mais rico em recursos.
Mesmo nessa parte da conversa ele se manteve tradicional em vez de pular na onda da IA Generativa. Eu adoro isso!
Mas não vou mentir: sou um grande defensor do uso do Cloud Improvement Package e ele mencionou que há novas construções disponíveis, específicas para o GenAI, para nos ajudar a implementar rapidamente essas soluções para nossas próprias necessidades personalizadas.
A IA prevê, os humanos decidem


Ele também enfatizou que “a IA prevê, mas, no ultimate das contas, os humanos tomam as decisões”, o que implica que as máquinas não vão tirar nossos empregos, substituir nossos médicos ou cultivar alimentos para nós, mas certamente podem nos ajudar a acompanhar uma população em constante crescimento.
Como parte de seu argumento ultimate, ele recomenda a leitura de seu pequeno e-book, The Frugal Architect, para nos ajudar a lembrar os pontos principais de sua conversa.
Para finalizar: foi ótimo! Certamente foi voltado para veteranos desde o começo. Na verdade, no primeiro minuto ele olhou para uma tela e disse “isso é um script PERL?”, eu não consegui deixar de rir alto com isso.
Mesmo depois do fechamento, ainda foi hilário: “Ei, Werner, posso escanear meus builds de contêiner em busca de vulnerabilidades no meu pipeline de CI/CD?” “Agora você pode!” — uma boa maneira de incluir mais um novo recurso que certamente analisarei imediatamente, já que sou um cara de DevOps.


Agora, vá construir alguma coisa!


Recursos úteis desta apresentação


No ultimate, ele casualmente deixou cair este e-book que ele escreveu, que resume os mesmos pontos que ele abordou durante a apresentação. Esta informação é ótima, independentemente de computação em nuvem ou não. Então, mesmo que você ainda não esteja na nuvem, você deveria dar uma olhada.
A propósito, é uma leitura muito curta, então recomendo fortemente que você reserve alguns minutos do seu tempo e vá conferir agora mesmo!
CDK


Este é o novo conjunto de construções que mencionei. Se você precisa implementar soluções de IA personalizadas e generativas rapidamente, você deve dar uma olhada nisso: https://github.com/awslabs/generative-ai-cdk-constructs