Blog

  • Construindo um assistente de voz para AWS com Amazon Nova Sonic

    Transformando Gerenciamento de Nuvem com Interfaces de Voz

    À medida que infraestruturas em nuvem se tornam cada vez mais sofisticadas, a demanda por interfaces de gerenciamento intuitivas e eficientes cresce proporcionalmente. Interfaces de linha de comando (CLI) e consoles web tradicionais, embora poderosos, frequentemente criam barreiras que ralentizam a tomada de decisões e comprometem a eficiência operacional. E se fosse possível conversar diretamente com sua infraestrutura AWS e receber respostas inteligentes de forma imediata?

    A AWS apresenta uma abordagem inovadora que combina Amazon Nova Sonic para processamento de voz com Strands Agents para orquestração de múltiplos agentes especializados. Esta solução demonstra como interações naturais por voz podem revolucionar operações em nuvem, tornando serviços AWS mais acessíveis e operações significativamente mais eficientes.

    A arquitetura multi-agente apresentada vai além de simples operações AWS, estendendo-se para casos de uso diversos como automação de atendimento ao cliente, gerenciamento de dispositivos de Internet das Coisas (IoT), análise de dados financeiros e orquestração de fluxos de trabalho corporativos. Este padrão fundamental pode ser adaptado para qualquer domínio que exija roteamento inteligente de tarefas e interação baseada em linguagem natural.

    Explorando a Arquitetura Técnica

    A solução emprega uma arquitetura sofisticada onde Amazon Nova Sonic se integra perfeitamente com Strands Agents, criando um sistema multi-agente que processa comandos de voz e executa operações AWS em tempo real.

    Componentes Principais

    A arquitetura multi-agente é composta por diversos componentes especializados que trabalham em conjunto:

    • Agente Supervisor: Funciona como coordenador central, analisando consultas de voz recebidas e as direcionando para o agente especializado apropriado, com base no contexto e intenção da solicitação
    • Agentes Especializados:
      • Agente EC2: Responsável por gerenciamento de instâncias, monitoramento de status e operações de computação
      • Agente SSM: Gerencia operações do Systems Manager, execução de comandos e gerenciamento de patches
      • Agente de Backup: Supervisiona configurações de AWS Backup, monitoramento de trabalhos e operações de restauração
    • Camada de Integração de Voz: Utiliza Amazon Nova Sonic para processamento bidirecional de voz, convertendo fala em texto para processamento e texto em fala para respostas

    Visão Geral da Solução

    O Assistente Nova Voice de Strands Agents demonstra um novo paradigma para gerenciamento de infraestrutura AWS através de inteligência artificial conversacional. Em vez de navegar por consoles complexos ou memorizar comandos CLI, usuários podem simplesmente expressar suas intenções por voz e receber respostas instantâneas. Esta solução coloca a comunicação humana natural no centro das operações técnicas AWS, democratizando o gerenciamento de nuvem para equipes técnicas e não-técnicas.

    Stack Tecnológico

    A solução utiliza tecnologias modernas e nativas de nuvem para entregar uma interface de voz robusta e escalável:

    • Backend: Python 3.12+ com framework Strands Agents para orquestração de agentes
    • Frontend: React com AWS Cloudscape Design System para experiência de usuário consistente com padrões AWS
    • Modelos de IA: Amazon Bedrock e Claude 3 Haiku para compreensão e geração de linguagem natural
    • Processamento de voz: Amazon Nova Sonic para síntese e reconhecimento de fala de alta qualidade
    • Comunicação: Servidor WebSocket para comunicação bidirecional em tempo real

    Recursos e Capacidades Principais

    O assistente de voz oferece funcionalidades avançadas que tornam operações AWS mais intuitivas e eficientes. O sistema compreende consultas naturais de voz e as converte em chamadas apropriadas às APIs AWS. Por exemplo:

    • “Mostrar todas as instâncias EC2 em execução em us-east-1”
    • “Instalar o agente Amazon CloudWatch usando SSM nas minhas instâncias Dev”
    • “Verificar o status dos trabalhos de backup de ontem à noite”

    As respostas são especificamente otimizadas para entrega por voz, com resumos concisos limitados a 800 caracteres, informações estruturadas claras e fraseado conversacional que soa natural quando sintetizado em fala, evitando jargão técnico e utilizando sentenças completas adequadas para síntese de voz.

    Colocando em Prática

    Começar com o assistente de voz envolve três etapas principais:

    Configuração do Ambiente

    • Configurar credenciais AWS com acesso a Bedrock, Nova Sonic e serviços AWS alvo
    • Preparar ambiente backend Python 3.12+ e frontend React
    • Garantir permissões apropriadas de AWS Identity and Access Management (IAM) para operações multi-agente

    Iniciando a Aplicação

    • Iniciar o servidor Python WebSocket para processamento de voz
    • Iniciar o frontend React com componentes AWS Cloudscape
    • Configurar definições de voz e conexões WebSocket
    • Começar interações de voz

    Testando a Solução

    • Conceder permissões de microfone do navegador para entrada de voz
    • Testar com comandos de exemplo como “Listar minhas instâncias EC2” ou “Verificar status de backup”
    • Experienciar respostas de voz em tempo real através de Amazon Nova Sonic

    Instruções completas de implementação, exemplos de código e guias de solução de problemas estão disponíveis no repositório GitHub.

    Exemplos de Comandos para Testar

    Teste o assistente de voz com estes comandos de exemplo:

    Gerenciamento de Instâncias EC2

    • “Listar minhas instâncias EC2 dev onde a chave de tag é ‘env’”
    • “Qual é o status dessas instâncias?”
    • “Iniciar essas instâncias”
    • “Essas instâncias têm permissões SSM?”

    Gerenciamento de Backup

    • “Garantir que essas instâncias sejam feitas backup diariamente”

    Gerenciamento de SSM

    • “Instalar agente CloudWatch usando SSM nessas instâncias”
    • “Verificar essas instâncias quanto a patches usando SSM”

    Exemplos de Implementação

    Os exemplos de código demonstram padrões-chave de integração e práticas recomendadas para implementar o assistente de voz. Eles mostram como integrar Amazon Nova Sonic para processamento de voz e configurar o agente supervisor para roteamento inteligente de tarefas.

    Configuração de Strands Agents

    A implementação utiliza um padrão de orquestrador multi-agente com agentes especializados:

    from strands import Agent
    from config.conversation_config import ConversationConfig
    from config.config import create_bedrock_model
    
    class SupervisorAgent(Agent):
        def __init__(self, specialized_agents, config=None):
            bedrock_model = create_bedrock_model(config)
            conversation_manager = ConversationConfig.create_conversation_manager("supervisor")
            super().__init__(
                model=bedrock_model,
                system_prompt=self._get_routing_instructions(),
                tools=[],  # No tools for pure router
                conversation_manager=conversation_manager,
            )
            self.specialized_agents = specialized_agents

    Integração com Nova Sonic

    A implementação utiliza um servidor WebSocket com gerenciamento de sessão para processamento de voz em tempo real:

    class S2sSessionManager:
        def __init__(self, model_id='amazon.nova-sonic-v1:0', region='us-east-1', config=None):
            self.model_id = model_id
            self.region = region
            self.audio_input_queue = asyncio.Queue()
            self.output_queue = asyncio.Queue()
            self.supervisor_agent = SupervisorAgentIntegration(config)
    
        async def processToolUse(self, toolName, toolUseContent):
            if toolName == "supervisoragent":
                result = await self.supervisor_agent.query(content)
                if len(result) > 800:
                    result = result[:800] + "... (truncated for voice)"
                return {"result": result}

    Considerações de Segurança

    Esta solução foi projetada para fins de desenvolvimento e testes. Antes de implantar em ambientes produtivos, implemente controles de segurança apropriados incluindo:

    • Mecanismos de autenticação e autorização
    • Controles de segurança de rede e restrições de acesso
    • Monitoramento e logging para conformidade de auditoria
    • Controles de custo e monitoramento de uso

    Sempre siga as práticas recomendadas de segurança da AWS e o princípio do menor privilégio ao configurar permissões IAM.

    Considerações para Produção

    Embora esta solução demonstre capacidades de Strands Agents usando uma abordagem de implantação focada em desenvolvimento, organizações planejando implementações produtivas devem considerar o Amazon Bedrock AgentCore Runtime para hospedagem e gerenciamento em nível corporativo.

    Benefícios do Amazon Bedrock AgentCore para Implantação Produtiva

    • Runtime Serverless: Propositadamente construído para implantar e dimensionar agentes de IA dinâmicos sem gerenciar infraestrutura
    • Isolamento de Sessão: Isolamento completo de sessão com microVMs dedicadas para cada sessão de usuário, fundamental para agentes que executam operações privilegiadas
    • Auto-dimensionamento: Dimensionar para milhares de sessões de agente em segundos com precificação por uso
    • Segurança Corporativa: Controles de segurança integrados com integração perfeita a provedores de identidade (Amazon Cognito, Microsoft Entra ID, Okta)
    • Observabilidade: Rastreamento distribuído integrado, métricas e capacidades de depuração através da integração CloudWatch
    • Persistência de Sessão: Altamente confiável com persistência de sessão para interações de agentes de longa duração

    Para organizações prontas para avançar além de desenvolvimento e testes, o Amazon Bedrock AgentCore Runtime oferece a base pronta para produção necessária para implantar assistentes AWS baseados em voz em escala corporativa.

    Extensão para Serviços AWS Adicionais

    O sistema pode ser estendido para suportar serviços AWS adicionais:

    Síntese

    O Assistente Nova Voice de Strands Agents demonstra o potencial significativo de combinar interfaces de voz com orquestração inteligente de agentes em diversos domínios. Ao aproveitar Amazon Nova Sonic para processamento de fala e Strands Agents para coordenação multi-agente, organizações podem criar formas mais intuitivas e eficientes de interagir com sistemas e fluxos de trabalho complexos.

    Esta arquitetura fundamental estende-se muito além de operações em nuvem, habilitando soluções baseadas em voz para automação de atendimento ao cliente, análise financeira, gerenciamento de IoT, fluxos de trabalho em saúde, otimização de cadeia de suprimentos e inúmeras outras aplicações corporativas. A combinação de processamento de linguagem natural, roteamento inteligente e conhecimento especializado de domínio cria uma plataforma versátil para transformar como usuários interagem com qualquer sistema complexo.

    A arquitetura modular garante escalabilidade e extensibilidade, permitindo que organizações personalizem a solução para seus domínios e casos de uso específicos. À medida que interfaces de voz continuam evoluindo e capacidades de IA avançam, soluções como esta tendem a se tornar cada vez mais importantes para gerenciar ambientes complexos em todas as indústrias.

    Começando

    Pronto para construir seu próprio assistente de operações AWS alimentado por voz? O código-fonte completo e documentação estão disponíveis no repositório GitHub. Siga este guia de implementação para começar e não hesite em personalizar a solução para seus casos de uso específicos. Para dúvidas, feedback ou contribuições, consulte o repositório do projeto ou procure nos fóruns da comunidade AWS.

    Fonte

    Building a voice-driven AWS assistant with Amazon Nova Sonic (https://aws.amazon.com/blogs/machine-learning/building-a-voice-driven-aws-assistant-with-amazon-nova-sonic/)

  • AWS DataSync amplia escalabilidade e desempenho para transferências de arquivos on-premises

    Nova capacidade de transferência com desempenho ampliado

    A AWS anunciou uma expansão significativa do AWS DataSync, serviço seguro e de alta velocidade para otimizar o movimento de dados pela rede. O Modo Aprimorado agora suporta transferências de dados entre servidores de arquivos on-premises e Amazon S3, permitindo que clientes transfiram datasets que escalam para números praticamente ilimitados de arquivos com níveis mais altos de desempenho em comparação ao Modo Básico do DataSync.

    Como funciona o Modo Aprimorado

    O Modo Aprimorado utiliza processamento paralelo para entregar maior desempenho e escalabilidade para datasets de qualquer tamanho. Seus benefícios principais incluem:

    • Remoção de limitações de quantidade de arquivos
    • Métricas detalhadas de transferência para melhor monitoramento e gerenciamento
    • Processamento paralelo otimizado para performance superior
    • Suporte a datasets de escala praticamente ilimitada

    Anteriormente, o Modo Aprimorado estava disponível apenas para transferências entre localizações do Amazon S3 e para transferências multicloud. Este lançamento estende essas capacidades para suportar transferências entre servidores de arquivos NFS (Network File System) ou SMB (Server Message Block) on-premises e o Amazon S3.

    Casos de uso habilitados

    A expansão do DataSync abre possibilidades práticas para diversos cenários empresariais:

    • Workloads de IA generativa: clientes podem acelerar essas cargas de trabalho movendo rapidamente datasets de treinamento para a AWS
    • Análise de data lakes: sincronizar dados on-premises com pipelines baseados em nuvem potencializa análises em escala
    • Migrações em larga escala: dirigir migrações para arquivamento e modernização de aplicações na nuvem

    Disponibilidade e próximos passos

    A nova capacidade está disponível em todas as regiões AWS onde o DataSync é oferecido. Para começar, clientes podem acessar o console do AWS DataSync. Informações técnicas detalhadas estão disponíveis na documentação do AWS DataSync.

    Fonte

    AWS DataSync increases scalability and performance for on-premises file transfers (https://aws.amazon.com/about-aws/whats-new/2025/12/aws-datasync-scalability-performance-on-premises-file-transfers)

  • Amazon Aurora PostgreSQL integra-se com Kiro powers para desenvolvimento assistido por IA

    Nova integração traz desenvolvimento assistido por IA para Aurora PostgreSQL

    A AWS anunciou a integração do Amazon Aurora PostgreSQL-Compatible Edition com Kiro powers, uma solução que permite aos desenvolvedores construir aplicações baseadas em Aurora PostgreSQL com maior rapidez através do desenvolvimento assistido por agentes de IA usando a plataforma Kiro.

    Kiro powers funciona como um repositório de servidores Model Context Protocol (MCP), arquivos de direcionamento e integrações que foram validados por parceiros Kiro. O objetivo é acelerar casos de uso específicos de desenvolvimento e implantação de software. A integração com Aurora PostgreSQL empacota o servidor MCP juntamente com orientações especializadas em desenvolvimento de banco de dados, fornecendo aos agentes Kiro expertise instantânea em operações Aurora PostgreSQL e design de schema.

    O que a integração oferece

    Conectividade direta e operações de banco de dados

    A solução agrupa conectividade direta com o banco de dados por meio do servidor MCP do Aurora PostgreSQL, oferecendo suporte tanto para operações do plano de dados — como consultas, criação de tabelas e gerenciamento de schema — quanto para operações do plano de controle, incluindo criação de clusters. Além disso, inclui um arquivo de direcionamento com as melhores práticas específicas do Aurora PostgreSQL.

    Orientação contextual inteligente

    Durante o trabalho com tarefas de banco de dados, o recurso carrega dinamicamente as orientações relevantes. Seja ao criar novos clusters Aurora, projetar schemas ou otimizar consultas, os agentes de IA recebem apenas o contexto necessário para a tarefa específica em questão.

    Disponibilidade e instalação

    O poder do Aurora PostgreSQL está disponível dentro do Kiro IDE e na página de Kiro powers para instalação com um clique, e permite criar e gerenciar clusters Aurora PostgreSQL em todas as regiões AWS.

    Para mais informações sobre casos de uso de desenvolvimento, a documentação sugere consultar um artigo em blog. Para aprender mais sobre o servidor MCP do Aurora PostgreSQL, consulte a documentação.

    Sobre o Amazon Aurora PostgreSQL

    O Amazon Aurora é projetado para oferecer desempenho superior e disponibilidade sem precedentes em escala global, com compatibilidade total com PostgreSQL. A plataforma oferece segurança integrada, backups contínuos, computação serverless, até 15 réplicas de leitura e replicação automática entre regiões. Essas características fazem do Aurora uma opção robusta para aplicações que exigem alta disponibilidade e desempenho consistente.

    Fonte

    Amazon Aurora PostgreSQL now supports integration with Kiro powers (https://aws.amazon.com/about-aws/whats-new/2025/12/amazon-aurora-postgresql-integration-kiro-powers)

  • Amazon WorkSpaces Secure Browser apresenta Filtragem de Conteúdo Web

    Novo Recurso de Segurança para Ambientes Remotos

    O Amazon WorkSpaces Secure Browser recebeu uma atualização significativa com a introdução da Filtragem de Conteúdo Web, um recurso abrangente de segurança e conformidade que permite que as organizações exerçam controle detalhado sobre o acesso aos conteúdos da web. Essa capacidade se apresenta como uma solução robusta para empresas que buscam fortalecer as políticas de acesso remoto sem comprometer a experiência do usuário.

    Capacidades Principais da Filtragem de Conteúdo Web

    Políticas Granulares e Categorização

    O recurso permite que os administradores definam políticas de acesso muito específicas, com a possibilidade de bloquear URLs individuais ou categorias completas de domínios. Com mais de 25 categorias predefinidas à disposição, as equipes de TI ganham flexibilidade para estruturar as regras de forma alinhada às necessidades empresariais, mantendo a facilidade de gerenciamento centralizado que se adapta ao crescimento da organização.

    Integração e Monitoramento Aprimorado

    A Filtragem de Conteúdo Web se integra perfeitamente com o Session Logger (Registro de Sessão), ampliando as capacidades de monitoramento e geração de relatórios de conformidade. Enquanto as políticas existentes do Chrome para controle de domínios continuam funcionando, essa nova abordagem oferece um caminho mais abrangente para gerenciar acessos web através da filtragem por categorias e de capacidades de registro aprimoradas.

    Flexibilidade e Conformidade

    O recurso mantém a flexibilidade necessária para adaptações específicas ao negócio, permitindo políticas customizadas e exceções conforme as demandas particulares. Equipes de segurança em TI podem implementar políticas de negação padrão para ambientes de alta segurança, enquanto oficiais de conformidade aproveitam as capacidades detalhadas de registro e monitoramento para atender aos requisitos regulatórios.

    Disponibilidade e Acesso

    O recurso está disponível sem custo adicional em 10 regiões da AWS, incluindo US East (N. Virginia), US West (Oregon), Canada (Central), Europe (Frankfurt, London, Ireland) e Asia Pacific (Tokyo, Mumbai, Sydney, Singapore). O Amazon WorkSpaces Secure Browser oferece modelo de preços pay-as-you-go (pague conforme o uso).

    Para começar com o WorkSpaces Secure Browser, consulte a documentação de introdução ao Amazon WorkSpaces Secure Browser. É possível ativar o recurso diretamente no console da AWS e migrar automaticamente qualquer política de navegador existente para listas de bloqueio ou permissão de URLs. Para aprofundar-se nas funcionalidades, consulte a documentação completa do recurso.

    Fonte

    Amazon WorkSpaces Secure Browser introduces Web Content Filtering (https://aws.amazon.com/about-aws/whats-new/2025/12/amazon-workspaces-secure-browser-web-content-filtering/)

  • Amazon Aurora DSQL agora permite criar clusters em segundos

    Uma nova forma de provisionar bancos de dados na AWS

    A AWS anunciou uma importante melhoria no Amazon Aurora DSQL: a plataforma agora oferece a capacidade de criar clusters de banco de dados em questão de segundos, reduzindo drasticamente o tempo de configuração que anteriormente levava minutos. Essa otimização representa um avanço significativo para organizações que buscam agilidade no desenvolvimento e prototipagem de aplicações em nuvem.

    O que mudou com essa melhoria

    A redução no tempo de criação de clusters traz benefícios práticos imediatos para desenvolvedoras e desenvolvedores. Com a possibilidade de provisionar bancos de dados Aurora DSQL em segundos, é possível colocar novas ideias em produção muito mais rapidamente, sem aguardar processos de configuração longos e complexos.

    A experiência foi ainda potencializada com a integração do editor de consultas direto no console da AWS. Isso significa que os desenvolvedores podem começar a trabalhar imediatamente, construindo aplicações sem necessidade de configurar clientes externos ou conectar-se através do servidor Model Context Protocol (MCP) do Aurora DSQL para ativar ferramentas de desenvolvimento com inteligência artificial.

    Capacidades principais do Aurora DSQL

    Independentemente do cenário — seja prototipagem rápida ou carga de produção em larga escala — o Aurora DSQL oferece um conjunto robusto de características:

    • Escalabilidade virtualmente ilimitada para acompanhar o crescimento da sua aplicação
    • Alta disponibilidade ativa-ativa, garantindo continuidade de operação
    • Zero necessidade de gerenciamento de infraestrutura
    • Modelo de preço por consumo: você paga apenas pelo que usa

    Essa combinação de recursos garante que o banco de dados escala de forma automática conforme as demandas da aplicação aumentam, sem comprometer performance ou disponibilidade.

    Disponibilidade e como começar

    A melhoria de criação de clusters em segundos está disponível em todas as regiões onde o Aurora DSQL é oferecido. Para aqueles que desejam explorar a plataforma sem investimento inicial, a AWS disponibiliza o AWS Free Tier com acesso gratuito ao Aurora DSQL.

    Para aprofundar seus conhecimentos sobre o serviço, é possível consultar a página oficial do Aurora DSQL e sua documentação técnica, onde você encontrará guias detalhados e exemplos práticos de implementação.

    Fonte

    Amazon Aurora DSQL now supports cluster creation in seconds (https://aws.amazon.com/about-aws/whats-new/2025/12/amazon-aurora-dsql-cluster-creation-in-seconds)

  • Amazon Cognito agora suporta conectividade privada com AWS PrivateLink

    Nova funcionalidade de conectividade privada no Amazon Cognito

    A AWS anunciou suporte para AWS PrivateLink no Amazon Cognito identity pools, uma adição significativa para organizações que buscam maior segurança em seus fluxos de autenticação. Com essa novidade, agora é possível trocar identidades federadas por credenciais da AWS através de conectividade privada entre sua nuvem privada virtual (Virtual Private Cloud — VPC) e o Cognito.

    A principal vantagem dessa funcionalidade é eliminar a necessidade de rotear tráfego de autenticação pela internet pública. Isso resulta em uma postura de segurança aprimorada para cargas de trabalho que exigem isolamento de rede rigoroso.

    Como funciona a integração com identity pools

    Os identity pools do Cognito têm a função de mapear identidades autenticadas e de convidado para papéis (roles) do AWS Identity and Access Management (IAM) e fornecer credenciais temporárias da AWS. Com o suporte ao PrivateLink, esse mapeamento agora pode ocorrer através de uma conexão segura e privada, mantendo o tráfego completamente isolado dentro da infraestrutura da AWS.

    Disponibilidade e cobertura geográfica

    Você pode utilizar conexões PrivateLink em todas as regiões da AWS onde o Amazon Cognito identity pools está disponível, com exceção da região AWS China (Beijing), operada pela Sinnet, e das regiões AWS GovCloud (US).

    É importante observar que a criação de endpoints VPC no AWS PrivateLink gera custos adicionais. Para conhecer os detalhes de precificação, consulte a página de preços do AWS PrivateLink.

    Como começar

    Para iniciar o uso dessa funcionalidade, você pode criar um endpoint de interface VPC do AWS PrivateLink para o Amazon Cognito identity pools utilizando qualquer uma das seguintes ferramentas:

    • AWS Management Console
    • AWS Command Line Interface (CLI)
    • AWS Software Development Kits (SDKs)
    • AWS Cloud Development Kit (CDK)
    • AWS CloudFormation

    Para aprofundar-se na implementação, consulte a documentação sobre como criar um endpoint de interface VPC e o guia do desenvolvedor do Amazon Cognito.

    Fonte

    Amazon Cognito identity pools now support private connectivity with AWS PrivateLink (https://aws.amazon.com/about-aws/whats-new/2025/12/amazon-cognito-identity-pools-private-connectivity-aws-privatelink)

  • MLflow em escala empresarial: as novidades do SageMaker AI

    MLflow para empresas: nova era de escalabilidade automática

    A AWS anunciou recentemente Amazon SageMaker AI com MLflow, agora incluindo uma capacidade serverless que gerencia dinamicamente provisionamento de infraestrutura, escalabilidade e operações para tarefas de desenvolvimento em inteligência artificial e aprendizado de máquina (IA/ML). O destaque principal é que os recursos aumentam durante experimentos intensivos e reduzem a zero quando não estão em uso, diminuindo significativamente o overhead operacional.

    A nova versão traz funcionalidades de nível empresarial como controle de acesso simplificado com compartilhamento entre contas, atualizações automáticas de versões e integração com capacidades do SageMaker AI, como customização de modelos e pipelines. O melhor: não exige configuração de administrador e não tem custo adicional, permitindo que cientistas de dados comecem imediatamente a rastrear experimentos, implementar observabilidade e avaliar desempenho de modelos sem delays relacionados a infraestrutura.

    Recursos empresariais do SageMaker AI com MLflow

    A nova capacidade serverless do MLflow no SageMaker AI oferece gerenciamento de nível empresarial com escalabilidade automática, provisionamento padrão, atualizações de versão perfeitas, autorização simplificada de AWS Identity and Access Management (IAM), compartilhamento de recursos através do AWS Resource Access Manager (AWS RAM), e integração com Amazon SageMaker Pipelines e customização de modelos.

    Imagem original — fonte: Aws

    A terminologia mudou: “MLflow Apps” agora substitui a designação anterior de “servidores de rastreamento MLflow”, refletindo uma abordagem simplificada e focada em aplicações. Cientistas de dados acessam a nova página MLflow Apps no Amazon SageMaker Studio.

    Um MLflow App padrão é provisionado automaticamente ao criar um domínio SageMaker Studio, simplificando todo o processo de configuração. Já sai pronto para uso empresarial, sem exigir provisionamento ou configuração adicional. O MLflow App escala elasticamente conforme o uso, eliminando a necessidade de planejamento manual de capacidade. Cargas de trabalho de treinamento, rastreamento e experimentação recebem automaticamente os recursos necessários, simplificando operações enquanto mantém desempenho.

    Atualizações automatizadas e versionamento

    Administradores podem definir uma janela de manutenção durante a criação do MLflow App, período no qual ocorrem atualizações in-place da versão. Isso garante que o MLflow App permaneça padronizado, seguro e constantemente atualizado, minimizando overhead de manutenção manual. A versão 3.4 do MLflow é suportada neste lançamento, estendendo a plataforma para aplicações de IA generativa e cargas de trabalho com agentes.

    Controle de identidades simplificado com MLflow Apps

    A AWS simplificou o controle de acesso e permissões IAM para equipes de aprendizado de máquina com o novo MLflow App. Um conjunto de permissões racionalizado, como sagemaker:CallMlflowAppApi, agora cobre operações comuns — desde criar e buscar experimentos até atualizar informações de rastreamento — tornando o controle de acesso muito mais direto de aplicar.

    Ao ativar limites de permissões IAM simplificados, usuários e administradores de plataforma podem padronizar papéis IAM entre equipes, personas e projetos, facilitando acesso consistente e auditável a experimentos e metadados do MLflow. Para configurações completas de permissão e políticas IAM, a documentação disponibiliza detalhes em Set up IAM permissions for MLflow Apps.

    Compartilhamento entre contas AWS usando AWS RAM

    Administradores frequentemente desejam gerenciar centralmente sua infraestrutura MLflow enquanto provisionam acesso em diferentes contas AWS. Os MLflow Apps suportam compartilhamento entre contas para desenvolvimento empresarial colaborativo em IA. Usando AWS RAM, essa funcionalidade permite que administradores de plataforma de IA compartilhem um MLflow App perfeitamente entre cientistas de dados em contas consumidoras separadas.

    Imagem original — fonte: Aws

    Administradores de plataforma mantêm um domínio SageMaker centralizado e governado que provisiona e gerencia o MLflow App, enquanto cientistas de dados em contas consumidoras separadas podem iniciar e interagir com o MLflow App com segurança. Combinado com as novas permissões IAM simplificadas, empresas podem iniciar e gerenciar um MLflow App a partir de uma conta AWS administrativa centralizada. Usando o MLflow App compartilhado, um cientista de dados consumidor downstream pode registrar suas experimentações MLflow e cargas de trabalho de IA generativa mantendo governança, auditabilidade e conformidade a partir de um único plano de controle do administrador de plataforma. Para saber mais sobre compartilhamento entre contas, consulte Getting Started with AWS RAM.

    Integração entre SageMaker Pipelines e MLflow

    Amazon SageMaker Pipelines está integrado ao MLflow. Trata-se de um serviço serverless de orquestração de fluxo de trabalho construído especificamente para automação de MLOps (operações de aprendizado de máquina) e LLMOps (operações com modelos de linguagem grande). Você pode construir, executar e monitorar fluxos de trabalho ML repetíveis de ponta a ponta de forma perfeita, usando interface arrastar-e-soltar intuitiva ou SDK Python.

    A partir de um pipeline SageMaker, um MLflow App padrão é criado automaticamente se não existir, um nome de experimento MLflow pode ser definido, e métricas, parâmetros e artefatos são registrados no MLflow App conforme definido no código do pipeline SageMaker.

    Imagem original — fonte: Aws

    Customização de modelos SageMaker e integração com MLflow

    A customização de modelos SageMaker integra-se com MLflow por padrão, oferecendo vinculação automática entre trabalhos de customização de modelos e experimentos MLflow. Ao executar trabalhos de fine-tuning (ajuste fino) de customização de modelos, o MLflow App padrão é utilizado, um experimento é selecionado, e métricas, parâmetros e artefatos são registrados automaticamente.

    Na página de trabalho de customização de modelos do SageMaker, você pode visualizar métricas provenientes do MLflow e acessar métricas adicionais na interface do MLflow.

    Imagem original — fonte: Aws

    Próximos passos

    Essas funcionalidades preparam os novos MLflow Apps no SageMaker AI para cargas de trabalho ML e IA generativa em escala empresarial com mínimo peso administrativo. Para começar, existem exemplos disponíveis no repositório de exemplos no GitHub e em workshop AWS.

    Os MLflow Apps estão geralmente disponíveis nas regiões AWS onde o SageMaker Studio está disponível, com exceção das regiões China e US GovCloud. Para explorar a nova capacidade, você pode visitar a página de detalhes do produto SageMaker AI com MLflow e consultar a documentação sobre aceleração de desenvolvimento de IA generativa usando MLflow gerenciado no Amazon SageMaker AI. Para feedback, a AWS disponibiliza AWS re:Post para SageMaker ou canais usuais de suporte AWS.

    Fonte

    Scaling MLflow for enterprise AI: What’s New in SageMaker AI with MLflow (https://aws.amazon.com/blogs/machine-learning/scaling-mlflow-for-enterprise-ai-whats-new-in-sagemaker-ai-with-mlflow/)

  • Observabilidade de Agentes no Amazon Bedrock AgentCore com Langfuse

    O Desafio da Transparência em Agentes de IA

    O surgimento de agentes de inteligência artificial marca uma mudança profunda no desenvolvimento de software e na forma como as aplicações tomam decisões e interagem com usuários. Enquanto sistemas tradicionais seguem caminhos previsíveis, agentes de IA realizam raciocínios complexos que frequentemente permanecem ocultos à visão. Essa invisibilidade cria um desafio para as organizações: como confiar em algo que não conseguem visualizar completamente?

    É nesse contexto que entra a observabilidade de agentes, oferecendo visibilidade profunda sobre como aplicações acionárias funcionam, interagem e executam suas tarefas. A capacidade de compreender cada etapa da execução de um agente não é apenas uma conveniência — é essencial para garantir confiabilidade, otimizar desempenho e controlar custos em produção.

    Integrando Langfuse com Amazon Bedrock AgentCore

    A Langfuse é uma plataforma de observabilidade e avaliação para aplicações que utilizam modelos de linguagem. Quando integrada com o Amazon Bedrock AgentCore, ela oferece visibilidade detalhada sobre o desempenho de agentes de IA, facilitando a depuração rápida de problemas e permitindo otimizações baseadas em dados reais.

    O Amazon Bedrock AgentCore é uma plataforma abrangente que permite implantar e operar agentes de IA altamente capazes, de forma segura e em escala. Oferece infraestrutura propositalmente construída para cargas de trabalho dinâmicas de agentes, ferramentas poderosas para aprimorá-los e controles essenciais para implantação em ambientes reais. A plataforma funciona com diversos frameworks — incluindo CrewAI, LangGraph, LlamaIndex e Strands Agents — e com qualquer modelo de fundação, dentro ou fora do Bedrock, oferecendo flexibilidade e confiabilidade.

    Visão geral da arquitetura de integração entre código de agente, Amazon ECR Repository e AgentCore Runtime Endpoint

    Como Funciona o Rastreamento com Langfuse

    A Langfuse utiliza OpenTelemetry (OTEL) para rastrear e monitorar agentes implantados no Amazon Bedrock AgentCore. OpenTelemetry é um projeto da Cloud Native Computing Foundation (CNCF) que fornece especificações, APIs e bibliotecas para definir uma forma padrão de coletar traces distribuídos e métricas de uma aplicação.

    Com essa integração, desenvolvedores conseguem acompanhar métricas de desempenho cruciais, incluindo uso de tokens, latência e durações de execução em diferentes fases de processamento. O sistema cria estruturas hierárquicas de rastreamento que capturam tanto respostas em streaming quanto não-streaming, com atributos detalhados de operações e estados de erro.

    Através do endpoint `/api/public/otel`, a Langfuse funciona como um Backend OpenTelemetry, mapeando traces para seu modelo de dados usando convenções de IA generativa. Isso é particularmente valioso para aplicações complexas de modelos de linguagem que utilizam cadeias e agentes com ferramentas, onde traces aninhados ajudam desenvolvedores a identificar e resolver problemas rapidamente.

    Além da observabilidade de agentes, a Langfuse oferece um conjunto integrado de ferramentas que abrangem todo o ciclo de vida do desenvolvimento de aplicações com IA: execução de avaliadores automatizados, organização de dados para análise de causa raiz, rastreamento de experimentos, iteração interativa em promptas e controle de versão através de gerenciamento de prompts.

    Visão Geral da Solução

    A solução demonstrada implanta um agente Strands no AgentCore Runtime com observabilidade Langfuse. A implementação utiliza modelos Anthropic Claude acessados através do Amazon Bedrock. Os dados de telemetria fluem do agente Strands através de exportadores OTEL até a Langfuse para monitoramento e depuração.

    Os componentes-chave utilizados na solução incluem:

    • Strands Agents: Framework Python para construir agentes acionários com suporte de telemetria integrado
    • Amazon Bedrock AgentCore Runtime: Serviço de runtime gerenciado para hospedagem e dimensionamento de agentes na AWS
    • Langfuse: Plataforma de observabilidade e avaliação de código aberto para aplicações com modelos de linguagem
    • OpenTelemetry: Protocolo padrão do setor para coleta e exportação de dados de telemetria

    Guia de Implementação Técnica

    Pré-requisitos

    Antes de começar, certifique-se de ter em mãos:

    • Uma conta AWS com credenciais configuradas corretamente através do AWS CLI ou variáveis de ambiente
    • Acesso a modelos Anthropic Claude 3.7 na região us-west-2
    • Permissões adequadas do Amazon Bedrock AgentCore
    • Python 3.10+ instalado
    • Docker instalado localmente
    • Uma conta Langfuse com chave de API gerada (registre-se em Langfuse cloud, crie um projeto e obtenha as chaves de API)

    Passo 1: Dependências Python

    Comece instalando as dependências necessárias definidas no arquivo requirements.txt:

    !pip install --force-reinstall -U -r requirements.txt –quiet

    Passo 2: Implementação do Agente

    O arquivo do agente (strands_claude.py) implementa um agente de viagens com capacidades de busca na web. Aqui está a estrutura principal:

    import os
    import logging
    from bedrock_agentcore.runtime import BedrockAgentCoreApp
    from strands import Agent, tool
    from strands.models import BedrockModel
    from strands.telemetry import StrandsTelemetry
    from ddgs import DDGS
    
    logging.basicConfig(level=logging.ERROR, format="[%(levelname)s] %(message)s")
    logger = logging.getLogger(__name__)
    logger.setLevel(os.getenv("AGENT_RUNTIME_LOG_LEVEL", "INFO").upper())
    
    @tool
    def web_search(query: str) -> str:
        """
        Search the web for information using DuckDuckGo.
        Args:
            query: The search query
        Returns:
            A string containing the search results
        """
        try:
            ddgs = DDGS()
            results = ddgs.text(query, max_results=5)
            formatted_results = []
            for i, result in enumerate(results, 1):
                formatted_results.append(
                    f"{i}. {result.get('title', 'No title')}\n"
                    f" {result.get('body', 'No summary')}\n"
                    f" Source: {result.get('href', 'No URL')}\n"
                )
            return "\n".join(formatted_results) if formatted_results else "No results found."
        except Exception as e:
            return f"Error searching the web: {str(e)}"
    
    def get_bedrock_model():
        region = os.getenv("AWS_DEFAULT_REGION", "us-west-2")
        model_id = os.getenv("BEDROCK_MODEL_ID", "us.anthropic.claude-3-7-sonnet-20250219-v1:0")
        bedrock_model = BedrockModel(
            model_id=model_id,
            region_name=region,
            temperature=0.0,
            max_tokens=1024
        )
        return bedrock_model
    
    bedrock_model = get_bedrock_model()
    
    system_prompt = """You are an experienced travel agent specializing in personalized travel recommendations with access to real-time web information. Your role is to find dream destinations matching user preferences using web search for current information. You should provide comprehensive recommendations with current information, brief descriptions, and practical travel details."""
    
    app = BedrockAgentCoreApp()
    
    def initialize_agent():
        """Initialize the agent with proper telemetry configuration."""
        strands_telemetry = StrandsTelemetry()
        strands_telemetry.setup_otlp_exporter()
        agent = Agent(
            model=bedrock_model,
            system_prompt=system_prompt,
            tools=[web_search]
        )
        return agent
    
    @app.entrypoint
    def strands_agent_bedrock(payload, context=None):
        """
        Invoke the agent with a payload
        """
        user_input = payload.get("prompt")
        logger.info("[%s] User input: %s", context.session_id, user_input)
        agent = initialize_agent()
        response = agent(user_input)
        return response.message['content'][0]['text']
    
    if __name__ == "__main__":
        app.run()

    Passo 3: Configuração do AgentCore Runtime

    Utilize o kit de iniciação para configurar a implantação do AgentCore Runtime com o ponto de entrada, a função de execução e o arquivo de requisitos. O kit de iniciação também cria automaticamente o repositório Amazon Elastic Container Registry (ECR). Durante a etapa de configuração, o dockerfile é gerado com base no código da aplicação.

    Configuração do AgentCore Runtime com decorador e arquivo Docker

    Importante: ao configurar o agente com o kit de iniciação, o AgentCore Observability é ativado por padrão. Para usar Langfuse, desative OTEL definindo o sinalizador de configuração como “True”:

    from bedrock_agentcore_starter_toolkit import Runtime
    from boto3.session import Session
    
    boto_session = Session()
    region = boto_session.region_name
    agentcore_runtime = Runtime()
    agent_name = "strands_langfuse_observability"
    response = agentcore_runtime.configure(
        entrypoint="strands_claude.py",
        auto_create_execution_role=True,
        auto_create_ecr=True,
        requirements_file="requirements.txt",
        region=region,
        agent_name=agent_name,
        disable_otel=True,
    )
    response

    Passo 4: Implantação no AgentCore Runtime

    Após gerar o dockerfile, inicie o agente no AgentCore Runtime. Configure as chaves e endpoints da Langfuse no AWS Systems Manager Parameter Store para armazenamento seguro e hierárquico de dados de configuração:

    import base64
    
    otel_endpoint = "https://us.cloud.langfuse.com/api/public/otel"
    langfuse_secret_key = ""
    langfuse_public_key = "

    Passo 5: Verificação de Status da Implantação

    Aguarde até que o runtime esteja pronto antes de invocar:

    import time
    
    status_response = agentcore_runtime.status()
    status = status_response.endpoint['status']
    end_status = ['READY', 'CREATE_FAILED', 'DELETE_FAILED', 'UPDATE_FAILED']
    
    while status not in end_status:
        time.sleep(10)
        status_response = agentcore_runtime.status()
        status = status_response.endpoint['status']
        print(status)
    
    status

    Uma implantação bem-sucedida exibe o status "READY" para o agente runtime.

    Passo 6: Invocação do AgentCore Runtime

    Com o runtime pronto, invoque-o com uma carga útil de teste:

    invoke_response = agentcore_runtime.invoke({"prompt": "I'm planning a weekend trip to london. What are the must-visit places and local food I should try?"})

    Visualizando Traces na Langfuse

    Após executar o agente, acesse o painel do projeto Langfuse para visualizar os traces detalhados. Os traces incluem:

    • Detalhes de invocação do agente
    • Chamadas de ferramentas (buscas na web)
    • Interações com modelos, incluindo latência e uso de tokens
    • Payloads de requisição e resposta
    • Hierarquia completa de traces

    A Langfuse captura todas as interações, desde requisições de usuários até chamadas individuais de modelos. Cada trace captura o caminho de execução completo, incluindo chamadas de API, invocações de funções e respostas de modelos, criando uma linha do tempo abrangente das atividades do agente. A estrutura aninhada de traces permite aos desenvolvedores investigar interações específicas e identificar gargalos de desempenho ou padrões de erro em qualquer nível da cadeia de execução.

    Visualização de traces hierárquicos na Langfuse mostrando execução completa do agente

    Análise Hierárquica de Desempenho

    A combinação de traces hierárquicos com marcação estratégica fornece insights profundos sobre operações de agentes, possibilitando otimizações orientadas por dados e experiências de usuário superiores. Ao investigar a hierarquia detalhada, você consegue visualizar o tempo preciso de cada operação dentro do fluxo de execução do agente. Por exemplo, uma requisição completa pode levar 26,57 segundos, com detalhamentos individuais para ciclo de evento, chamadas de ferramentas e outros componentes. Use essas informações de tempo para identificar gargalos de desempenho e reduzir tempos de resposta. Certas operações de IA podem levar mais tempo que o esperado, ou pode haver oportunidades para paralelizar ações específicas e reduzir a latência geral.

    Hierarquia detalhada de trace mostrando timings de cada operação do agente

    Dashboards de Monitoramento da Langfuse

    A Langfuse oferece três dashboards diferentes para monitoramento: Custo, Latência e Gerenciamento de Uso. Cada um fornece perspectivas específicas sobre o desempenho e eficiência das aplicações com agentes.

    Visão geral dos três dashboards disponíveis na Langfuse para monitoramento

    Monitoramento de Custos

    O monitoramento de custos ajuda a acompanhar despesas tanto em nível agregado quanto em requisições individuais, mantendo o controle sobre despesas de infraestrutura de IA. A plataforma fornece detalhamentos de custo granulares por modelo, usuário e chamada de função, permitindo que equipes identifiquem operações que consomem mais recursos e otimizem suas implementações. Essa visibilidade granular de custos facilita tomadas de decisão baseadas em dados sobre seleção de modelos, engenharia de prompts e alocação de recursos, mantendo restrições orçamentárias.

    Dashboard de custos da Langfuse mostrando custos totais, por modelo e por ambiente

    Dashboard de Latência

    Métricas de latência podem ser monitoradas através de traces e gerações para otimização de desempenho. O dashboard exibe por padrão métricas como latência P95 por nível, latência máxima por ID de usuário, tempo médio até primeiro token por nome de prompt, latência P95 por modelo e tokens de saída médios por segundo por modelo. É possível criar gráficos e dashboards customizados conforme necessário.

    Dashboard de latência da Langfuse com métricas de desempenho por modelo

    Gerenciamento de Uso

    Este dashboard apresenta métricas através de traces, observações e pontuações para gerenciar alocação de recursos. Oferece visibilidade completa sobre como os recursos estão sendo consumidos pela aplicação, ajudando equipes a otimizar a utilização e garantir eficiência operacional.

    Dashboard de gerenciamento de uso da Langfuse com contagens de traces e observações

    Conclusão

    A integração entre Langfuse e Amazon Bedrock AgentCore oferece um caminho sólido para alcançar observabilidade completa em aplicações com agentes de IA. Com essas ferramentas, equipes conseguem rastrear desempenho em detalhes, depurar interações complexas e otimizar custos de forma contínua.

    Ao implementar Langfuse com AgentCore hoje, você ganha visibilidade profunda no desempenho de seus agentes, consegue rastrear fluxos de conversação e otimizar aplicações de IA para oferecer melhor valor a seus usuários. A capacidade de compreender cada etapa da execução de um agente transforma-se em vantagem competitiva no desenvolvimento de sistemas de IA confiáveis e eficientes.

    Para explorar mais sobre o tema, consulte os recursos adicionais como Perguntas frequentes sobre o Amazon Bedrock AgentCore e informações sobre integração com Amazon Bedrock AgentCore. Também há exemplos práticos disponíveis no repositório de amostras do Amazon Bedrock AgentCore no GitHub.

    Fonte

    Amazon Bedrock AgentCore Observability with Langfuse (https://aws.amazon.com/blogs/machine-learning/amazon-bedrock-agentcore-observability-with-langfuse/)

  • Entendendo a Nova Nuvem Soberana Europeia da AWS: O Framework de Referência de Soberania

    Uma Resposta da AWS aos Requisitos de Soberania Europeia

    A AWS vem desenvolvendo uma infraestrutura de nuvem especificamente pensada para atender às expectativas regulatórias e de segurança mais rigorosas do continente europeu. A Nuvem Soberana Europeia da AWS será uma infraestrutura de nuvem completamente independente, voltada para organizações do setor público e empresas em setores altamente regulados que precisam garantir total controle sobre seus dados e operações dentro das fronteiras europeias.

    Essa solução se baseia nos mesmos fundamentos de segurança, privacidade e controles de conformidade presentes em outras regiões da AWS ao redor do mundo, mas adiciona camadas extras de governança, controles técnicos e medidas operacionais para responder às expectativas exigentes de clientes e reguladores europeus.

    Apresentando o Framework de Referência de Soberania

    O conceito central dessa iniciativa é a soberania — a capacidade de uma organização exercer controle total sobre seus dados e operações. Para garantir isso, a AWS desenvolveu o Framework de Referência de Soberania (ESC-SRF, na sigla em inglês), um modelo independentemente validado que alinha critérios de soberania em múltiplos domínios.

    Esse framework organiza requisitos em áreas como independência de governança, controle operacional, residência de dados e isolamento técnico. Cada um desses critérios foi desenvolvido ouvindo diretamente os casos de uso de clientes e, em seguida, alinhando controles técnicos específicos a cada necessidade identificada.

    A Nuvem Soberana Europeia da AWS está passando por auditorias independentes de terceiros para verificar se os controles implementados realmente estão em conformidade com os compromissos de soberania que a empresa se propôs a cumprir.

    Um Framework Transparente e Validado

    O ESC-SRF foi construído a partir de diversos insumos: feedback de clientes, requisitos regulatórios da União Europeia, frameworks reconhecidos na indústria, compromissos contratuais da AWS e contribuições de parceiros. O framework é agnóstico em relação ao setor — foi escrito para endereçar necessidades fundamentais de soberania em camadas básicas de oferecimento de nuvem, com requisitos e controles adicionais que se aplicam especificamente à Nuvem Soberana Europeia.

    Cada critério é implementado através de controles de soberania que serão independentemente validados por auditores de terceiros. O framework se apoia em capacidades básicas de segurança da AWS, incluindo criptografia, gerenciamento de chaves, governança de acesso, isolamento baseado no AWS Nitro System, e certificações de conformidade internacionalmente reconhecidas.

    Além disso, o framework incorpora medidas específicas de governança, técnicas e operacionais, como estruturas corporativas independentes na UE, serviços dedicados de confiança e certificados europeus, operações realizadas por pessoal residente na UE, residência rigorosa de dados de clientes e metadados criados por clientes, separação completa de outras regiões da AWS, e resposta a incidentes operada dentro do território europeu.

    Esses controles formam a base de uma atestação dedicada do AWS European Sovereign Cloud System and Organization Controls (SOC 2, na sigla em inglês). O framework estabelece uma fundação sólida para a soberania da infraestrutura de nuvem, permitindo que clientes se concentrem em definir medidas de soberania personalizadas conforme seus objetivos regulatórios, necessidades específicas e postura de risco.

    Como Usar o Framework de Referência de Soberania

    O ESC-SRF descreve como a AWS implementa e valida controles de soberania na Nuvem Soberana Europeia. A empresa trata cada critério do framework como vinculante, e sua implementação será validada por um auditor independente de terceiros em 2026.

    Perspectiva de Garantia e Conformidade

    Embora a maioria das organizações não opere na escala da AWS, elas podem usar o ESC-SRF como modelo de garantia e framework de referência adaptável aos seus casos de uso específicos. De uma perspectiva de garantia, o framework oferece visibilidade completa para cada critério de soberania até sua implementação técnica. A AWS também fornecerá validação de terceiros através do relatório SOC 2 da Nuvem Soberana Europeia.

    Os clientes podem usar esse relatório junto a auditores internos, assessores externos, autoridades supervisoras e reguladores. Isso reduz a necessidade de solicitações ad hoc de evidências e fornece às organizações documentação para demonstrar garantias claras e executáveis de soberania.

    Perspectiva de Desenho e Arquitetura

    De uma perspectiva de design, organizações podem consultar o framework ao estruturar sua própria arquitetura de soberania, selecionando configurações e definindo controles internos para atender requisitos regulatórios, contratuais e específicos de missão.

    Como o ESC-SRF é agnóstico em relação ao setor, critérios do framework podem ser aplicados e adaptados às necessidades únicas de cada organização. Dependendo do caso de uso de soberania, nem todos os critérios podem se aplicar — e isso é aceitável. O ESC-SRF também pode ser usado em conjunto com a arquitetura bem construída da AWS, que ajuda a aprender, medir e construir usando melhores práticas arquiteturais.

    Conforme apropriado, organizações podem criar sua própria versão do ESC-SRF, mapear controles correspondentes e testá-los com terceiros.

    Publicação e Acesso ao Framework

    O ESC-SRF está sendo publicado no AWS Artifact — um portal de recuperação de artefatos em autosserviço — onde se encontram documentos de segurança e conformidade da AWS e acordos da empresa. Nessa plataforma, clientes agora podem acessar o ESC-SRF para definir melhores práticas aplicáveis aos seus casos de uso, mapear essas práticas a controles específicos e demonstrar como atendem — e até mesmo excedem — as necessidades soberanas de seus clientes.

    Um Fundamento Claro e Robusto

    A publicação do ESC-SRF faz parte do compromisso contínuo da AWS em cumprir o Compromisso de Soberania Digital da AWS através de transparência e garantias que ajudem clientes a atender suas necessidades de soberania em evolução. Todas essas garantias foram projetadas, implementadas e validadas inteiramente dentro da UE.

    Dentro do framework, clientes podem construir soluções na Nuvem Soberana Europeia com confiança e compreensão clara de como atingir seus objetivos de soberania usando a plataforma da AWS. Para mais informações sobre a Nuvem Soberana Europeia, é possível consultar aws.eu.

    Fonte

    Exploring the new AWS European Sovereign Cloud: Sovereign Reference Framework (https://aws.amazon.com/blogs/security/exploring-the-new-aws-european-sovereign-cloud-sovereign-reference-framework/)

  • Testes de Validação Automatizados com Amazon Nova Act em Modo Sem Interface Gráfica

    Validação Ágil de Funcionalidades Críticas com Inteligência Artificial

    A automação de testes é fundamental para equipes de desenvolvimento que realizam múltiplas implantações diárias. Os testes de validação rápida (conhecidos como smoke tests) representam uma alternativa prática aos testes de ponta a ponta tradicionais, que frequentemente demandam horas para execução e criam gargalos nas linhas de produção.

    O conceito de smoke test concentra-se em validar as funcionalidades mais críticas de uma aplicação logo após sua implantação. Em vez de verificar cada detalhe da interface, esses testes focam em fluxos essenciais como autenticação de usuário, navegação principal e transações-chave. A execução típica ocorre em minutos, não em horas, tornando-os ideais para pipelines CI/CD que dependem de feedback rápido sobre mudanças no código.

    Uma Abordagem Inteligente para Automação de Testes

    Amazon Nova Act introduz uma mudança significativa na forma como testes de interface são construídos. Em vez de depender de seletores CSS frágeis e scripts de teste complexos, a plataforma utiliza compreensão de interface baseada em inteligência artificial e processamento de linguagem natural. Isso permite escrever testes com instruções em inglês simples que se adaptam automaticamente a mudanças na interface, eliminando a fragilidade dos métodos tradicionais.

    A solução apresentada integra um executor de testes em Python, validação de fluxos de comércio eletrônico para jornadas completas do usuário, integração com GitLab CI/CD para automação nativa, e execução paralela para potencializar a eficiência dos recursos. O modo headless (sem interface gráfica) permite que os testes rodem em segundo plano, um requisito essencial para ambientes automatizados.

    Construindo a Solução Passo a Passo

    Preparação do Projeto e Dependências

    O primeiro passo envolve criar um projeto Python e instalar as dependências necessárias. A abordagem utiliza UV, um gerenciador de pacotes Python moderno que oferece funcionalidade similar ao npm para projetos Node.js:

    uv init nova-act-smoke-tests
    code nova-act-smoke-tests
    uv add nova-act

    UV é particularmente eficiente pois gerencia automaticamente a instalação de dependências e criação de ambientes virtuais. Para completar a configuração, é necessário ter acesso ao Amazon Nova Act com chave de API, um repositório no GitLab, e familiaridade com Python e CI/CD.

    Implementação do Teste de Autenticação

    O primeiro teste valida o fluxo completo de login. A solução utiliza uma aplicação de demonstração chamada SauceDemo, um aplicativo de comércio eletrônico adequado para exemplos educacionais:

    import os
    from nova_act import NovaAct
    
    SAUCEDEMO_URL = "https://www.saucedemo.com/"
    
    def test_login_flow():
        """Test complete login flow and product page verification"""
        with NovaAct(starting_page=SAUCEDEMO_URL) as nova:
            nova.act("Enter 'standard_user' in the username field")
            nova.act("Enter 'secret_sauce' in the password field")
            nova.act("Click the login button")
            nova.act("Verify Products appear on the page")
    
    def main():
        if not os.getenv("NOVA_ACT_API_KEY"):
            exit("❌ Set NOVA_ACT_API_KEY environment variable")
        
        print("🚀 Starting Nova Act Smoke Test")
        try:
            test_login_flow()
            print("✅ Login test: PASS")
        except Exception as e:
            print(f"❌ Login test: FAIL - {e}")
            exit(1)
        
        print("🎉 All tests passed!")
    
    if __name__ == "__main__":
        main()

    Observe que as chaves de API são armazenadas em variáveis de ambiente, nunca no código-fonte, mantendo informações sensíveis separadas da base de código e fora do controle de versão.

    Expandindo para Fluxos Completos de Negócio

    Um teste prático deve validar jornadas completas do usuário, não apenas funcionalidades isoladas. A solução expande o escopo para incluir todo o fluxo de comércio eletrônico:

    def test_ecommerce_workflow():
        """Test complete e-commerce workflow: login → shop → checkout → logout"""
        with NovaAct(starting_page=SAUCEDEMO_URL, headless=False) as nova:
            # Login
            nova.act("Enter 'standard_user' in the username field")
            nova.act("Enter 'secret_sauce' in the password field")
            nova.act("Click the login button")
            nova.act("Verify Products appear on the page")
            
            # Shopping
            nova.act("Select Sauce Labs Backpack")
            nova.act("Add Sauce Labs Backpack to the cart")
            nova.act("Navigate back to products page")
            nova.act("Select Sauce Labs Onesie")
            nova.act("Add Sauce Labs Onesie to the cart")
            
            # Cart verification
            nova.act("Click cart and Navigate to the cart page")
            nova.act("Verify 2 items are in the cart")
            
            # Checkout
            nova.act("Click the Checkout button")
            nova.act("Enter 'John' in the First Name field")
            nova.act("Enter 'Doe' in the Last Name field")
            nova.act("Enter '12345' in the Zip/Postal Code field")
            nova.act("Click the Continue button")
            
            # Order completion
            nova.act("Verify Checkout:Overview page appears")
            nova.act("Click the Finish button")
            nova.act("Verify 'THANK YOU FOR YOUR ORDER' appears on the page")
            
            # Logout
            nova.act("Click the Back Home button")
            nova.act("Click the hamburger menu on the left")
            nova.act("Click the Logout link")
            nova.act("Verify the user is on the login page")

    Este teste abrangente valida autenticação, descoberta de produtos, adição ao carrinho, preenchimento de informações de envio, conclusão de pedido e logout—essencialmente, toda a experiência crítica do cliente.

    Imagem original — fonte: Aws

    Integração com Pipeline CI/CD

    Configurando o GitLab CI/CD

    O verdadeiro valor dos testes aparece quando são executados automaticamente em cada mudança de código. A integração com GitLab CI/CD transforma a execução manual em automação contínua:

    stages:
      - test
    
    smoke-tests:
      stage: test
      image: mcr.microsoft.com/playwright/python:v1.40.0-jammy
      rules:
        - if: $CI_COMMIT_BRANCH == "main"
        - if: $CI_COMMIT_BRANCH == "develop"
        - if: $CI_PIPELINE_SOURCE == "merge_request_event"
        - if: $CI_PIPELINE_SOURCE == "web"
      before_script:
        - pip install uv
        - uv sync
        - uv run playwright install chromium
      script:
        - uv run python smoke_tests.py
      variables:
        HEADLESS: 'true'
        NOVA_ACT_SKIP_PLAYWRIGHT_INSTALL: 'true'

    Esta configuração define regras que acionam os testes automaticamente quando código é enviado para branches principais, durante solicitações de merge, ou quando disparados manualmente. O modo headless é ativado definindo HEADLESS: 'true', permitindo que testes rodem em ambiente sem interface gráfica.

    As chaves de API são gerenciadas através de variáveis seguras do GitLab CI/CD. O processo envolve acessar Configurações > CI/CD > Variáveis, adicionar uma nova variável chamada NOVA_ACT_API_KEY, marcar a opção de mascarar o valor nos logs, e salvar. Essa abordagem mantém credenciais sensíveis criptografadas e acessíveis apenas ao pipeline.

    Imagem original — fonte: Aws

    Modo Headless para Ambientes Automatizados

    A diferença entre modo headless e modo visual é crucial. Durante desenvolvimento local, a interface gráfica fornece feedback valioso para depuração. Em ambientes de CI/CD, browsers sem interface gráfica executam com eficiência sem overhead visual:

    headless = os.getenv("HEADLESS", "false").lower() == "true"
    with NovaAct(starting_page=SAUCEDEMO_URL, headless=headless) as nova:
        # test code

    Quando a variável de ambiente não está definida durante desenvolvimento local, headless é False, abrindo a janela do browser. Em CI/CD, definir HEADLESS=true executa tudo em background, otimizando recursos computacionais.

    Otimização através de Execução Paralela

    Conforme a suite de testes cresce, execução sequencial cria gargalos. A solução implementa execução paralela usando ThreadPoolExecutor do Python:

    from concurrent.futures import ThreadPoolExecutor, as_completed
    
    def main():
        if not os.getenv("NOVA_ACT_API_KEY"):
            exit("❌ Set NOVA_ACT_API_KEY environment variable")
        
        print("🚀 Starting Nova Act Tests (Parallel)")
        tests = [
            ("Login Flow", test_login_flow),
            ("E-commerce Workflow", test_ecommerce_workflow)
        ]
        
        max_workers = int(os.getenv("MAX_WORKERS", "2"))
        
        results = []
        with ThreadPoolExecutor(max_workers=max_workers) as executor:
            future_to_test = {
                executor.submit(run_test, name, func): name 
                for name, func in tests
            }
            for future in as_completed(future_to_test):
                results.append(future.result())
        
        passed = sum(results)
        total = len(results)
        print(f"\n📊 Results: {passed}/{total} tests passed")
        
        if passed == total:
            print("🎉 All tests passed!")
        else:
            exit(1)

    ThreadPoolExecutor gerencia um pool de threads de trabalho, permitindo múltiplas instâncias de browser executarem simultaneamente. Cada thread roda um teste separado, reduzindo significativamente o tempo total de execução. Com dois workers, testes que levariam 10 minutos sequencialmente podem executar em aproximadamente 5 minutos.

    O número de workers é configurável através da variável de ambiente MAX_WORKERS. Começar com dois workers e ajustar com base na capacidade do ambiente é a prática recomendada. Cada instância paralela consome recursos significativos e incorre em uso de API, portanto, o equilíbrio entre velocidade e custos deve ser monitorado.

    Práticas Recomendadas para Produção

    A implementação robusta requer atenção a alguns princípios fundamentais:

    • Testes independentes: Cada teste deve funcionar corretamente independentemente da ordem de execução ou de outros testes rodando simultaneamente
    • Lógica de retry: Wrapping de funções de teste com try-catch e mecanismos de retry reduzem falhas causadas por problemas transitórios de rede
    • Timeouts apropriados: Configurar timeouts razoáveis no pipeline CI/CD previne travamentos indefinidos
    • Rotação de chaves: Implementar rotação de chaves de API a cada 90 dias mantém padrões de segurança
    • Monitoramento de performance: Rastrear tempos de execução ajuda identificar regressões de performance cedo

    Após implementação e testes bem-sucedidos, é importante limpar recursos para evitar custos futuros. Isso inclui remover ou desabilitar pipelines não utilizados, rotacionar chaves API e revogar chaves não utilizadas, deletar repositórios de demonstração, e limpar credenciais armazenadas em cache.

    Recursos Complementares

    Para aprofundamento em tópicos relacionados, a AWS disponibiliza documentação adicional:

    Conclusão

    A implementação de testes de validação automatizados usando Amazon Nova Act em modo headless oferece uma alternativa moderna e eficiente aos frameworks tradicionais. A abordagem de linguagem natural reduz significativamente a manutenção comparada a frameworks baseados em seletores CSS. Combinada com gerenciamento moderno de pacotes como UV e integração nativa com GitLab CI/CD, essa solução fornece execução rápida e confiável de testes que escala com o fluxo de desenvolvimento.

    O modelo apresentado não apenas detecta problemas antes deles atingirem produção, mas também fornece o feedback rápido que é essencial para implantação contínua confiante, mantendo padrões elevados de qualidade da aplicação. Equipes de desenvolvimento podem adaptar esse framework para cenários específicos de suas aplicações, estendendo-o com testes adicionais que correspondam a jornadas críticas de usuário únicas do seu negócio.

    Fonte

    Implement automated smoke testing using Amazon Nova Act headless mode (https://aws.amazon.com/blogs/machine-learning/implement-automated-smoke-testing-using-amazon-nova-act-headless-mode/)