

# SUS 3 Como aproveitar os padrões de software e arquitetura para apoiar as metas de sustentabilidade?
<a name="sus-03"></a>

Implemente padrões que suavizem os picos de carga e mantenham a alta utilização consistente de recursos implantados para minimizar os recursos consumidos. Os componentes podem ficar ociosos devido à falta de uso por conta das mudanças no comportamento do usuário ao longo do tempo. Revise os padrões e a arquitetura para consolidar os componentes subutilizados a fim de aumentar a utilização geral. Retire os componentes que não são mais necessários. Saiba qual é a performance dos componentes de sua workload e otimize os componentes que consomem a maioria dos recursos. Esteja ciente dos dispositivos que seus clientes usam para acessar seus serviços e implemente padrões a fim de minimizar a necessidade de upgrades de dispositivos. 

**Topics**
+ [SUS03-BP01 Otimizar o software e a arquitetura para trabalhos assíncronos e agendados](sus_sus_software_a2.md)
+ [SUS03-BP02 Remover ou refatorar componentes da workload com pouco ou nenhum uso](sus_sus_software_a3.md)
+ [SUS03-BP03 Otimizar áreas de código que consomem mais tempo ou recursos](sus_sus_software_a4.md)
+ [SUS03-BP04 Otimizar o impacto sobre dispositivos e equipamentos](sus_sus_software_a5.md)
+ [SUS03-BP05 Usar padrões e arquiteturas de software que atendam melhor aos padrões de armazenamento e acesso a dados](sus_sus_software_a6.md)

# SUS03-BP01 Otimizar o software e a arquitetura para trabalhos assíncronos e agendados
<a name="sus_sus_software_a2"></a>

Use software eficiente e padrões de arquitetura, como orientado a filas, para manter uma alta e consistente utilização dos recursos implantados.

 **Práticas comuns que devem ser evitadas:** 
+  Provisione em excesso os recursos em sua workload na nuvem para atender a picos imprevistos na demanda. 
+  Sua arquitetura não separa remetentes e destinatários de mensagens assíncronas por um componente de sistema de mensagens. 

 **Benefícios de implementar esta prática recomendada:** 
+  Padrões eficientes de software e arquitetura minimizam os recursos não utilizados em sua workload e melhoram a eficiência geral. 
+  Você pode dimensionar o processamento independentemente do recebimento de mensagens assíncronas. 
+  Por meio de um componente de mensagens, você relaxou os requisitos de disponibilidade que podem ser atendidos com menos recursos. 

 **Nível de risco exposto se esta prática recomendada não for estabelecida:** Médio 

## Orientação para implementação
<a name="implementation-guidance"></a>

 Use padrões de arquitetura eficientes, como [arquitetura orientada por eventos](https://aws.amazon.com/event-driven-architecture/), que resultam na utilização uniforme dos componentes e minimizam o excesso de provisionamento em sua workload. A utilização de padrões de arquitetura eficientes minimiza recursos ociosos por falta de uso devido a mudanças na demanda ao longo do tempo. 

 Entenda os requisitos de seus componentes de workload e adote padrões de arquitetura que aumentam a utilização geral dos recursos. Retire os componentes que não são mais necessários. 

### Etapas de implementação
<a name="implementation-steps"></a>
+  Analise a demanda da sua workload para determinar como responder a ela. 
+  Para solicitações ou trabalhos que não exigem respostas síncronas, use arquiteturas orientadas por filas e operadores de escalação automática para maximizar a utilização. Aqui estão alguns exemplos de quando você pode considerar a arquitetura orientada por filas:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/wellarchitected/2024-06-27/framework/sus_sus_software_a2.html)
+  Para solicitações ou trabalhos que podem ser processados a qualquer momento, use mecanismos de agendamento para processar trabalhos em lote para maior eficiência. Aqui estão alguns exemplos de mecanismos de agendamento no AWS:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/wellarchitected/2024-06-27/framework/sus_sus_software_a2.html)
+  Se você usa mecanismos de pesquisa e webhooks em sua arquitetura, substitua-os por eventos. Use [arquiteturas orientadas por eventos](https://docs.aws.amazon.com/lambda/latest/operatorguide/event-driven-architectures.html) para criar workloads altamente eficientes. 
+  Aproveite a [tecnologia sem servidor na AWS](https://aws.amazon.com/serverless/) para eliminar a infraestrutura provisionada em excesso. 
+  Dimensione corretamente componentes individuais da sua arquitetura para evitar recursos ociosos aguardando entrada. 
  +  As [Recomendações de dimensionamento correto em no AWS Cost Explorer](https://docs.aws.amazon.com/cost-management/latest/userguide/ce-rightsizing.html) ou o [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) podem ser usados para identificar oportunidades de dimensionamento correto. 
  +  Para obter mais detalhes, consulte [Dimensionamento correto: provisionamento de instâncias para corresponder a workloads](https://docs.aws.amazon.com/whitepapers/latest/cost-optimization-right-sizing/cost-optimization-right-sizing.html). 

## Recursos
<a name="resources"></a>

 **Documentos relacionados:** 
+  [O que é o Amazon Simple Queue Service?](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html) 
+  [O que é o Amazon MQ?](https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/welcome.html) 
+  [Ajuste de escala baseado no Amazon SQS](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-using-sqs-queue.html) 
+  [O que é o AWS Step Functions?](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) 
+  [O que é o AWS Lambda?](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) 
+  [Usar o AWS Lambda com o Amazon SQS](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html) 
+  [O que é o Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) 
+ [Gerenciara fluxos de trabalho assíncronos com uma API REST](https://aws.amazon.com/blogs/architecture/managing-asynchronous-workflows-with-a-rest-api/)

 **Vídeos relacionados:** 
+ [AWS re:Invent 2023: Navegar na jornada rumo à arquitetura orientada a eventos sem servidor](https://www.youtube.com/watch?v=hvGuqHp051c)
+ [AWS re:Invent 2023: Usar a tecnologia sem servidor para arquitetura orientada a eventos e design orientado por domínio](https://www.youtube.com/watch?v=3foMZJSPMI4)
+ [AWS re:Invent 2023: Padrões avançados orientados a eventos com o Amazon EventBridge](https://www.youtube.com/watch?v=6X4lSPkn4ps)
+ [AWS re:Invent 2023: Arquitetura sustentável: passado, presente e futuro](https://www.youtube.com/watch?v=2xpUQ-Q4QcM)
+ [Padrões de mensagens assíncronas \$1 Eventos da AWS](https://www.youtube.com/watch?v=-yJqBuwouZ4)

 **Exemplos relacionados:** 
+ [Arquitetura orientada a eventos com processadores AWS Graviton e instâncias spot do Amazon EC2](https://catalog.workshops.aws/well-architected-sustainability/en-US/2-software-and-architecture/event-driven-architecture-with-graviton-spot)

# SUS03-BP02 Remover ou refatorar componentes da workload com pouco ou nenhum uso
<a name="sus_sus_software_a3"></a>

Remova os componentes que não são mais utilizados nem necessários e refatore os componentes pouco usados para minimizar o desperdício em sua workload.

 **Práticas comuns que devem ser evitadas:** 
+  Você não verifica regularmente o nível de utilização de componentes individuais da sua workload. 
+  Você não verifica as recomendações de ferramentas de dimensionamento correta da AWS, como o [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/). 

 **Benefícios de implementar esta prática recomendada:** a remoção de componentes não utilizados minimiza o desperdício e melhora a eficiência geral da sua workload na nuvem. 

 **Nível de risco exposto se esta prática recomendada não for estabelecida:** Médio 

## Orientação para implementação
<a name="implementation-guidance"></a>

Componentes não utilizados ou subutilizados em uma workload na nuvem consomem recursos desnecessários de computação, armazenamento ou rede. Remova ou refatore esses componentes para reduzir diretamente o desperdício e melhorar a eficiência geral de uma workload na nuvem. Esse é um processo de melhoria interativo que pode ser iniciado por alterações na demanda ou pelo lançamento de um novo serviço de nuvem. Por exemplo, uma queda significativa no tempo de execução da função do [AWS Lambda](https://docs.aws.amazon.com/lambda/) pode indicar a necessidade de reduzir o tamanho da memória. Além disso, à medida que a AWS lança novos serviços e recursos, a arquitetura e os serviços ideais para sua workload podem mudar.

 Monitore continuamente a atividade da workload e procure oportunidades para melhorar o nível de utilização de componentes individuais. Com a remoção de componentes ociosos e a execução de atividades de dimensionamento correto, você atende aos seus requisitos empresariais com menos recursos de nuvem. 

### Etapas de implementação
<a name="implementation-steps"></a>
+  **Faça um inventário dos recursos da AWS:** crie um inventário dos recursos da AWS. Na AWS, é possível ativar o [Explorador de recursos da AWS](https://docs.aws.amazon.com/resource-explorer/latest/userguide/welcome.html) para explorar e organizar seus recursos da AWS. Para obter mais detalhes, consulte [AWS re:Invent 2022: Como gerenciar recursos e aplicações em grande escala AWS](https://www.youtube.com/watch?v=bbgUnKq6PAU). 
+  **Monitore a utilização:** monitore e capture as métricas de utilização de componentes críticos da workload (como utilização de CPU, utilização de memória ou throughput de rede nas [métricas do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html)). 
+  **Identifique componentes não utilizados:** identifique componentes não utilizados ou subutilizados na arquitetura. 
  +  Para workloads estáveis, verifique as ferramentas de dimensionamento correto da AWS, como o [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/), em intervalos regulares para identificar componentes ociosos, não utilizados ou subutilizados. 
  +  Para workloads efêmeras, avalie as métricas de utilização para identificar componentes ociosos, não usados ou subutilizados. 
+  **Remova componentes não utilizados:** retire componentes e ativos associados (como imagens do Amazon ECR) que não são mais necessários. 
  + [ Limpeza automatizada de imagens não utilizadas no Amazon ECR ](https://aws.amazon.com/blogs/compute/automated-cleanup-of-unused-images-in-amazon-ecr/)
  + [Excluir volumes não utilizados do Amazon Elastic Block Store (Amazon EBS) usando AWS Config e AWS Systems Manager](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/delete-unused-amazon-elastic-block-store-amazon-ebs-volumes-by-using-aws-config-and-aws-systems-manager.html)
+  **Refatore os componentes subutilizados:** refatore ou consolide os componentes subutilizados com outros recursos para melhorar a eficiência da utilização. Por exemplo, é possível provisionar vários bancos de dados pequenos em uma única instância de banco de dados do [Amazon RDS](https://aws.amazon.com/rds/) em vez de executar bancos de dados em instâncias individuais subutilizadas. 
+  **Avalie as melhorias:** entenda os [recursos provisionados pela workload para concluir uma unidade de trabalho](https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/evaluate-specific-improvements.html). Use essas informações para avaliar as melhorias obtidas com a remoção ou refatoração de componentes. 
  + [Measure and track cloud efficiency with sustainability proxy metrics, Part I: What are proxy metrics?](https://aws.amazon.com/blogs/aws-cloud-financial-management/measure-and-track-cloud-efficiency-with-sustainability-proxy-metrics-part-i-what-are-proxy-metrics/)
  + [Measure and track cloud efficiency with sustainability proxy metrics, Part II: Establish a metrics pipeline](https://aws.amazon.com/blogs/aws-cloud-financial-management/measure-and-track-cloud-efficiency-with-sustainability-proxy-metrics-part-ii-establish-a-metrics-pipeline/)

## Recursos
<a name="resources"></a>

 **Documentos relacionados:** 
+ [AWS Trusted Advisor](https://aws.amazon.com/premiumsupport/technology/trusted-advisor/)
+  [O que é o Amazon CloudWatch?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+ [ Dimensionamento correto: provisionamento de instâncias para corresponder às workloads ](https://docs.aws.amazon.com/whitepapers/latest/cost-optimization-right-sizing/cost-optimization-right-sizing.html)
+ [ Como otimizar seus custos com as recomendações de redimensionamento ](https://docs.aws.amazon.com/cost-management/latest/userguide/ce-rightsizing.html)

 **Vídeos relacionados:** 
+ [AWS re:Invent 2023: Capacidade, disponibilidade, eficiência de custos: escolha três ](https://www.youtube.com/watch?v=E0dYLPXrX_w)

# SUS03-BP03 Otimizar áreas de código que consomem mais tempo ou recursos
<a name="sus_sus_software_a4"></a>

Otimize o código que é executado em diferentes componentes de sua arquitetura para minimizar o uso de recursos e, ao mesmo tempo, maximizar a performance.

 **Práticas comuns que devem ser evitadas:** 
+  Você ignora a otimização de seu código para uso de recursos. 
+  Normalmente, você responde a problemas de performance aumentando os recursos. 
+  Seu processo de revisão e desenvolvimento de código não monitora alterações na performance. 

 **Benefícios de implementar esta prática recomendada:** o uso eficiente de código minimiza o uso de recursos e melhora a performance. 

 **Nível de risco exposto se esta prática recomendada não for estabelecida:** Médio 

## Orientação para implementação
<a name="implementation-guidance"></a>

 É essencial examinar toda área funcional, incluindo o código referente a uma aplicação projetada para a nuvem, para otimizar o uso de recursos e a performance. Monitore continuamente a performance da workload em ambientes de compilação e na produção e identifique oportunidades para melhorar os trechos cujo uso de recursos é particularmente alto. Adote um processo de revisão regular para identificar erros ou antipadrões dentro do código que usa os recursos ineficazmente. Utilize algoritmos simples e eficientes que produzem os mesmos resultados para seu caso de uso. 

## Etapas de implementação
<a name="implementation-steps"></a>
+ **Use uma linguagem de programação eficiente:** use um sistema operacional e uma linguagem de programação eficientes para a workload. Para obter detalhes sobre linguagens de programação com eficiência energética (incluindo Rust), consulte [Sustentabilidade com o Rust](https://aws.amazon.com/blogs/opensource/sustainability-with-rust/). 
+  **Use um companheiro de codificação de IA:** considere usar um companheiro de codificação de IA, como o [Amazon Q Developer](https://aws.amazon.com/q/developer/), para escrever código com eficiência. 
+ **Automatize as revisões de código:** ao desenvolver suas workloads, adote um processo de revisão de código automatizado para melhorar a qualidade e identificar erros e práticas não recomendadas. 
  + [Automatize as revisões de código com o Amazon CodeGuru Reviewer](https://aws.amazon.com/blogs/devops/automate-code-reviews-with-amazon-codeguru-reviewer/)
  + [Detectar bugs de simultaneidade com o Amazon CodeGuru](https://aws.amazon.com/blogs/devops/detecting-concurrency-bugs-with-amazon-codeguru/)
  + [Melhorar a qualidade do código para aplicações Python com o Amazon CodeGuru](https://aws.amazon.com/blogs/devops/raising-code-quality-for-python-applications-using-amazon-codeguru/)
+ **Use um criador de perfil de código:** use um criador de perfil de código para identificar as áreas de código que gastam mais tempo ou usam mais recursos e as defina como alvos de otimização. 
  + [Reduzir a pegada de carbono de sua organização com o Amazon CodeGuru Profiler](https://aws.amazon.com/blogs/devops/reducing-your-organizations-carbon-footprint-with-codeguru-profiler/)
  + [Conceitos básicos do uso de memória em sua aplicação Java com o Amazon CodeGuru Profiler](https://aws.amazon.com/blogs/devops/understanding-memory-usage-in-your-java-application-with-amazon-codeguru-profiler/)
  + [Melhorar a experiência do cliente e reduzir os custos com o Amazon CodeGuru Profiler](https://aws.amazon.com/blogs/devops/improving-customer-experience-and-reducing-cost-with-codeguru-profiler/)
+  **Monitore e otimize:** use recursos de monitoramento contínuo para identificar componentes com altos requisitos de recursos ou configuração abaixo do ideal. 
  +  Substitua os algoritmos com uso intenso de computação por uma versão mais simples e mais eficiente que produza o mesmo resultado. 
  +  Remova códigos desnecessários, como classificações e formatações. 
+  **Use refatoração ou transformação de código:** explore a possibilidade da [transformação de código do Amazon Q](https://aws.amazon.com/q/aws/code-transformation/) para manutenção e atualizações de aplicações. 
  + [Atualizar as versões de idioma com o Amazon Q Code Transformation](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/code-transformation.html)
  + [AWS re:Invent 2023: Automatizar as atualizações e a manutenção de aplicações usando o Amazon Q Code Transformation](https://www.youtube.com/watch?v=LY76tak6Z1E)

## Recursos
<a name="resources"></a>

 **Documentos relacionados:** 
+  [O que é o Amazon CodeGuru Profiler?](https://docs.aws.amazon.com/codeguru/latest/profiler-ug/what-is-codeguru-profiler.html) 
+  [Instâncias FPGA](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/fpga-getting-started.html) 
+  [Os AWS SDKs em Ferramentas para desenvolver na AWS](https://aws.amazon.com/tools/) 

 **Vídeos relacionados:** 
+ [Melhorar a eficiência do código usando o Amazon CodeGuru Profiler](https://www.youtube.com/watch?v=1pU4VddsBRw)
+ [ Automatizar revisões de código e recomendações de performance de aplicações com o Amazon CodeGuru ](https://www.youtube.com/watch?v=OD8H63C0E0I)

# SUS03-BP04 Otimizar o impacto sobre dispositivos e equipamentos
<a name="sus_sus_software_a5"></a>

Conheça os dispositivos e equipamentos usados em sua arquitetura e use estratégias para reduzir o respectivo uso. Isso pode minimizar o impacto ambiental de modo geral de sua workload na nuvem. 

 **Práticas comuns que devem ser evitadas:** 
+  Você ignora o impacto ambiental dos dispositivos usados por seus clientes. 
+  Você gerencia e atualiza manualmente os recursos usados pelos clientes. 

 **Benefícios de implementar esta prática recomendada:** a implementação de padrões e recursos de software otimizados para o dispositivo do cliente pode reduzir o impacto ambiental geral da workload na nuvem. 

 **Nível de risco exposto se esta prática recomendada não for estabelecida:** Médio 

## Orientação para implementação
<a name="implementation-guidance"></a>

 Implementar padrões e recursos de software que são otimizados para os dispositivos do clientes pode reduzir o impacto ambiental de variadas maneiras: 
+  Implementar novos recursos que são compatíveis com versões anteriores pode reduzir o número de substituições de hardware. 
+  Otimizar uma aplicação para ser executada com eficiência nos dispositivos pode ajudar a reduzir o consumo de energia e a estender a duração da bateria (se eles forem alimentados por bateria). 
+  Otimizar uma aplicação para dispositivos também pode reduzir a transferência de dados ao longo da rede. 

 Conheça os dispositivos e equipamentos usados em sua arquitetura, o ciclo de vida esperado e o impacto da substituição desses componentes. Implemente padrões e recursos de software que possam ajudar a minimizar o consumo de energia do dispositivo, bem como a necessidade de os clientes substituírem o dispositivo e também atualizá-lo manualmente. 

### Etapas de implementação
<a name="implementation-steps"></a>
+ **Conduza um inventário:** faça um inventário dos dispositivos usados em sua arquitetura. Os dispositivos podem ser celular, tablet, dispositivos IoT, lâmpada inteligente ou até dispositivos inteligentes em uma fábrica. 
+ **Use dispositivos energeticamente eficientes:** considere usar dispositivos com baixo consumo de energia em sua arquitetura. Use as configurações de gerenciamento de energia nos dispositivos para que entrem no modo de baixo consumo quando não estiverem em uso. 
+ **Execute aplicações eficientes:** otimize a aplicação em execução nos dispositivos: 
  +  Use estratégias como execução de tarefas em segundo plano para reduzir o consumo de energia. 
  +  Considere a largura de banda da rede e a latência ao criar cargas úteis, e implemente recursos que ajudem suas aplicações a funcionar bem em links de baixa largura de banda e alta latência. 
  +  Converta cargas úteis e arquivos nos formatos otimizados exigidos pelos dispositivos. Por exemplo, é possível usar o [Amazon Elastic Transcoder](https://docs.aws.amazon.com/elastic-transcoder/) ou o [AWS Elemental MediaConvert](https://aws.amazon.com/mediaconvert/) para converter arquivos de mídia digital grande e de alta qualidade em formatos que podem ser reproduzidos em dispositivos móveis, tablets, navegadores da web e televisões conectadas. 
  +  Realize atividades com computação intensa no lado do servidor (como renderização de imagens) ou use a transmissão de aplicações para melhorar a experiência do usuário em dispositivos mais antigos. 
  +  Faça a segmentação e a paginação dos dados de saída, especialmente para sessões interativas, a fim de gerenciar cargas úteis e limitar os requisitos de armazenamento local. 
+ **Envolva fornecedores:** trabalhe com fornecedores de dispositivos que usam materiais sustentáveis e fornecem transparência em suas cadeias de suprimentos e certificações ambientais. 
+ **Use atualizações sem fios:** use um mecanismo sem fio automatizado para implantar atualizações em um ou mais dispositivos. 
  +  É possível usar um [pipeline de CI/CD](https://aws.amazon.com/blogs/mobile/build-a-cicd-pipeline-for-your-android-app-with-aws-services/) para atualizar aplicações móveis. 
  +  O [AWS IoT Device Management](https://aws.amazon.com/iot-device-management/) também pode ser usado para gerenciar remotamente dispositivos conectados em grande escala. 
+ **Use parques de dispositivos gerenciados:** para testar novos recursos e atualizações, use parques de dispositivos gerenciados com conjuntos representativos de hardware e itere o desenvolvimento para maximizar os dispositivos compatíveis. Para obter mais detalhes, consulte [SUS06-BP05 Usar parques de dispositivos gerenciados para testes](sus_sus_dev_a5.md). 
+ **Continue monitorando e melhorando:** acompanhe o uso de energia dos dispositivos para identificar áreas de melhoria. Use novas tecnologias ou práticas recomendadas para melhorar os impactos ambientais desses dispositivos. 

## Recursos
<a name="resources"></a>

 **Documentos relacionados:** 
+  [O que é o AWS Device Farm?](https://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html) 
+  [Documentação das aplicações do WorkSpaces](https://docs.aws.amazon.com/appstream2/) 
+  [NICE DCV](https://docs.aws.amazon.com/dcv/) 
+ [Tutorial OTA para atualização de firmware em dispositivos que executam o FreeRTOS](https://docs.aws.amazon.com/freertos/latest/userguide/dev-guide-ota-workflow.html)
+ [Otimizando seus dispositivos de IoT para sustentabilidade ambiental](https://aws.amazon.com/blogs/architecture/optimizing-your-iot-devices-for-environmental-sustainability/)

 **Vídeos relacionados:** 
+ [AWS re:Invent 2023: Melhorar a qualidade das suas aplicações móveis e Web com o AWS Device Farm](https://www.youtube.com/watch?v=__93Tm0YCRg)

# SUS03-BP05 Usar padrões e arquiteturas de software que atendam melhor aos padrões de armazenamento e acesso a dados
<a name="sus_sus_software_a6"></a>

Entenda como os dados são usados com sua workload, consumidos pelos usuários, transferidos e armazenados. Use os padrões e arquiteturas de software ideais para acesso e armazenamento de dados a fim de minimizar os recursos de computação, rede e armazenamento necessários para atender à workload.

 **Práticas comuns que devem ser evitadas:** 
+  Você pressupõe que todas as workloads temja, padrões de acesso e armazenamento de dados semelhantes. 
+  Você usa apenas um nível de armazenamento, supondo que todas as workloads se encaixem nesse nível. 
+  Você pressupõe que os padrões de acesso aos dados permanecerão consistentes ao longo do tempo. 
+  Na eventualidade de uma alta expansão no acesso aos dados, sua arquitetura é capaz de comportá-la, mas isso faz com que os recursos fiquem ociosos na maior parte do tempo. 

 **Benefícios de implementar esta prática recomendada:** selecionar e otimizar sua arquitetura com base nos padrões de acesso e armazenamento de dados ajudará a diminuir a complexidade do desenvolvimento e aumentar a utilização geral. Compreender quando usar tabelas globais, provisionamento de dados e armazenamento em cache ajuda a reduzir a despesas operacionais indiretas e a escalar com base nas necessidades da workload. 

 **Nível de risco exposto se esta prática recomendada não for estabelecida:** Médio 

## Orientação para implementação
<a name="implementation-guidance"></a>

 Para melhorar a sustentabilidade da workload a longo prazo, use padrões de arquitetura que ofereçam suporte às características de acesso e armazenamento de dados para a workload. Esses padrões ajudam você a recuperar e processar dados com eficiência. Por exemplo, você pode usar uma [arquitetura de dados moderna na AWS](https://aws.amazon.com/big-data/datalakes-and-analytics/modern-data-architecture/) com serviços personalizados e otimizados para seus casos de uso de analytics exclusivos. Esses padrões de arquitetura possibilitam um processamento de dados eficiente e reduzem o uso de recursos. 

### Etapas de implementação
<a name="implementation-steps"></a>
+  **Entenda as características dos dados:** analise as características dos dados e os padrões de acesso para identificar a configuração correta para os recursos de nuvem. Principais características a serem consideradas: 
  +  **Tipos de dados:** estruturados, semiestruturados e não estruturados 
  +  **Crescimento de dados:** limitado, ilimitado 
  +  **Durabilidade dos dados:** persistentes, efêmeros, transitórios 
  +  **Padrões de acesso:** leituras ou gravações, frequência, com picos ou consistente 
+  **Use padrões de arquitetura otimizados:** use padrões de arquitetura que comportem melhor os padrões de armazenamento e acesso aos dados. 
  + [ Padrões para permitir a persistência de dados ](https://docs.aws.amazon.com/prescriptive-guidance/latest/modernization-data-persistence/enabling-patterns.html)
  + [ Vamos arquitetar\$1 Arquiteturas de dados modernas ](https://aws.amazon.com/blogs/architecture/lets-architect-modern-data-architectures/)
  + [Bancos de dados na AWS: a ferramenta certa para o trabalho certo](https://www.youtube.com/watch?v=-pb-DkD6cWg)
+  **Use serviços específicos:** use tecnologias que sejam adequadas à finalidade. 
  +  Use tecnologias que funcionam nativamente com dados compactados. 
    + [ Formatos de arquivos compactados compatíveis com o Athena ](https://docs.aws.amazon.com/athena/latest/ug/compression-formats.html)
    + [ Opções de formato para entradas e saídas de ETL no AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-format.html)
    + [ Carregar arquivos de dados compactados do Amazon S3 com o Amazon Redshift ](https://docs.aws.amazon.com/redshift/latest/dg/t_loading-gzip-compressed-data-files-from-S3.html)
  +  Use [serviços de análise](https://aws.amazon.com/big-data/datalakes-and-analytics/?nc2=h_ql_prod_an_a) específicos para processamento de dados em sua arquitetura. Para obter detalhes sobre serviços de análise da AWS com propósitos específicos, consulte [AWS re:Invent 2022: construir arquiteturas de dados modernas na AWS](https://www.youtube.com/watch?v=Uk2CqEt5f0o). 
  +  Use o mecanismo de banco de dados que melhor comporta seu padrão de consulta dominante. Gerencie os índices de bancos de dados para fazer consultas eficientes. Para obter mais detalhes, consulte [Bancos de dados da AWS](https://aws.amazon.com/products/databases/) e [AWS re:Invent 2022: Modernizar aplicações com bancos de dados com propósitos específicos](https://www.youtube.com/watch?v=V-DiplATdi0). 
+  **Minimize a transferência de dados:** escolha protocolos de rede que reduzam a quantidade de capacidade de rede consumida na arquitetura. 

## Recursos
<a name="resources"></a>

 **Documentos relacionados:** 
+  [COPY de formatos de dados colunares com o Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/copy-usage_notes-copy-from-columnar.html) 
+  [Converter formato de registros recebidos no Firehose](https://docs.aws.amazon.com/firehose/latest/dev/record-format-conversion.html) 
+  [Melhorar a performance de consultas no Amazon Athena fazendo a conversão para formatos colunares](https://docs.aws.amazon.com/athena/latest/ug/convert-to-columnar.html) 
+  [Monitorar a workload de banco de dados com o Performance Insights no Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights.html) 
+  [Monitorar a workload de banco de dados com o Performance Insights no Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) 
+ [ Classe de armazenamento do Amazon S3 Intelligent-Tiering ](https://aws.amazon.com/s3/storage-classes/intelligent-tiering/)
+ [ Criar uma loja de eventos CQRS com o Amazon DynamoDB ](https://aws.amazon.com/blogs/database/build-a-cqrs-event-store-with-amazon-dynamodb/)

 **Vídeos relacionados:** 
+ [AWS re:Invent 2022: Construir arquiteturas de data mesh na AWS](https://www.youtube.com/watch?v=nGRvlobeM_U)
+ [AWS re:Invent 2023: Mergulho profundo no Amazon Aurora e suas inovações ](https://www.youtube.com/watch?v=je6GCOZ22lI)
+ [AWS re:Invent 2023: Melhorar a eficiência do Amazon EBS e ser mais econômico ](https://www.youtube.com/watch?v=7-CB02rqiuw)
+ [AWS re:Invent 2023: Otimizar o preço e a performance do armazenamento com o Amazon S3 ](https://www.youtube.com/watch?v=RxgYNrXPOLw)
+ [AWS re:Invent 2023: Criar e otimizar data lakes no Amazon S3 ](https://www.youtube.com/watch?v=mpQa_Zm1xW8)
+ [AWS re:Invent 2023: Padrões avançados orientados a eventos com o Amazon EventBridge ](https://www.youtube.com/watch?v=6X4lSPkn4ps)

 **Exemplos relacionados:** 
+ [AWS Workshop de bancos de dados com propósito específico na ](https://catalog.us-east-1.prod.workshops.aws/workshops/93f64257-52be-4c12-a95b-c0a1ff3b7e2b/en-US)
+ [AWS Dia de imersão na arquitetura de dados moderna na ](https://catalog.us-east-1.prod.workshops.aws/workshops/32f3e732-d67d-4c63-b967-c8c5eabd9ebf/en-US)
+ [ Criar um data mesh na AWS](https://catalog.us-east-1.prod.workshops.aws/workshops/23e6326b-58ee-4ab0-9bc7-3c8d730eb851/en-US)