

# Perangkat lunak dan arsitektur
<a name="a-sus-software-architecture"></a>

**Topics**
+ [SUS 3 Bagaimana cara memanfaatkan pola arsitektur dan perangkat lunak untuk mendukung tujuan berkelanjutan Anda?](sus-03.md)

# SUS 3 Bagaimana cara memanfaatkan pola arsitektur dan perangkat lunak untuk mendukung tujuan berkelanjutan Anda?
<a name="sus-03"></a>

Implementasikan pola untuk melancarkan beban dan mempertahankan penggunaan yang tinggi dan konsisten atas sumber daya yang di-deploy guna meminimalkan sumber daya yang dipakai. Komponen dapat menjadi tidak aktif akibat kurangnya pemakaian, karena adanya perubahan perilaku pengguna dari waktu ke waktu. Revisi pola dan arsitektur untuk menggabungkan komponen dengan pemanfaatan rendah guna meningkatkan pemanfaatan secara keseluruhan. Pensiunkan komponen-komponen yang tidak lagi diperlukan. Pahami kinerja dari komponen-komponen beban kerja Anda, dan optimalkan komponen yang memakai sumber daya terbanyak. Ketahui perangkat yang digunakan pelanggan untuk mengakses layanan Anda, dan implementasikan pola untuk meminimalkan kebutuhan pemutakhiran perangkat. 

**Topics**
+ [SUS03-BP01 Optimalkan perangkat lunak dan arsitektur untuk tugas yang asinkron dan terjadwal](sus_sus_software_a2.md)
+ [SUS03-BP02 Menyingkirkan atau memfaktor ulang komponen beban kerja yang jarang atau tidak pernah digunakan](sus_sus_software_a3.md)
+ [SUS03-BP03 Mengoptimalkan area kode yang memakai waktu atau sumber daya paling banyak](sus_sus_software_a4.md)
+ [SUS03-BP04 Mengoptimalkan dampak pada perangkat dan perlengkapan](sus_sus_software_a5.md)
+ [SUS03-BP05 Gunakan pola perangkat lunak dan arsitektur yang paling mendukung pola akses dan penyimpanan data](sus_sus_software_a6.md)

# SUS03-BP01 Optimalkan perangkat lunak dan arsitektur untuk tugas yang asinkron dan terjadwal
<a name="sus_sus_software_a2"></a>

Gunakan pola arsitektur dan perangkat lunak yang efisien seperti berbasis antrean untuk mempertahankan pemanfaatan sumber daya ter-deploy yang terus-menerus tinggi.

 **Anti-pola umum:** 
+  Anda melakukan pengadaan sumber daya secara berlebihan di beban kerja cloud Anda untuk memenuhi lonjakan permintaan yang tidak terduga. 
+  Arsitektur Anda tidak memisahkan pengirim dan penerima pesan tak selaras berdasarkan komponen pesan. 

 **Manfaat menjalankan praktik terbaik ini:** 
+  Pola arsitektur dan perangkat lunak yang efisien dapat meminimalkan sumber daya tidak terpakai di dalam beban kerja Anda dan akan meningkatkan efisiensi secara keseluruhan. 
+  Anda dapat menskalakan pemrosesan tanpa terikat penerimaan pesan tak selaras. 
+  Melalui sebuah komponen perpesanan, Anda memiliki persyaratan ketersediaan yang longgar yang dapat Anda penuhi dengan sumber daya yang lebih sedikit. 

 **Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan:** Sedang 

## Panduan implementasi
<a name="implementation-guidance"></a>

 Gunakan pola arsitektur yang efisien seperti [arsitektur berbasis peristiwa](https://aws.amazon.com/event-driven-architecture/) yang dapat menghasilkan pemanfaatan komponen yang merata dan meminimalkan penyediaan berlebihan dalam beban kerja Anda. Menggunakan pola-pola arsitektur yang efisien akan meminimalkan sumber daya tidak aktif akibat kurangnya pemakaian yang disebabkan oleh perubahan permintaan seiring berjalannya waktu. 

 Pahami persyaratan-persyaratan komponen beban kerja Anda dan adopsi pola-pola arsitektur yang dapat meningkatkan pemanfaatan sumber daya secara keseluruhan. Pensiunkan komponen-komponen yang tidak lagi diperlukan. 

### Langkah-langkah implementasi
<a name="implementation-steps"></a>
+  Analisis permintaan untuk beban kerja Anda guna menentukan cara meresponsnya. 
+  Untuk permintaan atau tugas-tugas yang tidak memerlukan respons selaras, gunakan arsitektur berbasis antrean dan pekerja penskalaan otomatis untuk memaksimalkan pemanfaatan. Berikut ini adalah beberapa contoh kapan Anda mungkin perlu mempertimbangkan arsitektur berbasis antrean:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/wellarchitected/latest/framework/sus_sus_software_a2.html)
+  Untuk permintaan atau tugas yang dapat diproses kapan saja, gunakan mekanisme penjadwalan untuk memproses tugas-tugas yang ada dalam batch untuk mendapatkan efisiensi yang lebih tinggi. Berikut beberapa contoh mekanisme penjadwalan di AWS:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/wellarchitected/latest/framework/sus_sus_software_a2.html)
+  Jika Anda menggunakan mekanisme polling dan webhook dalam arsitektur Anda, maka gantilah dengan mekanisme peristiwa. Gunakan [arsitektur berbasis peristiwa](https://docs.aws.amazon.com/lambda/latest/operatorguide/event-driven-architectures.html) untuk membangun beban kerja yang sangat efisien. 
+  Manfaatkan [nirserver di AWS](https://aws.amazon.com/serverless/) untuk menghilangkan infrastruktur yang disediakan secara berlebihan. 
+  Sesuaikan ukuran dari setiap komponen yang ada dalam arsitektur Anda untuk menghindari sumber daya yang tidak aktif karena menunggu input. 
  +  Anda dapat menggunakan [Rekomendasi Penyesuaian Ukuran di AWS Cost Explorer](https://docs.aws.amazon.com/cost-management/latest/userguide/ce-rightsizing.html) atau [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) untuk mengidentifikasi peluang penyesuaian ukuran. 
  +  Untuk detail selengkapnya, lihat [Penentuan Ukuran yang Tepat: Menyediakan Instans yang Sesuai dengan Beban Kerja](https://docs.aws.amazon.com/whitepapers/latest/cost-optimization-right-sizing/cost-optimization-right-sizing.html). 

## Sumber daya
<a name="resources"></a>

 **Dokumen terkait:** 
+  [Apa itu Amazon Simple Queue Service?](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html) 
+  [Apa itu Amazon MQ?](https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/welcome.html) 
+  [Penskalaan berdasarkan Amazon SQS](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-using-sqs-queue.html) 
+  [Apa itu AWS Step Functions?](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) 
+  [Apa itu AWS Lambda?](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) 
+  [Menggunakan AWS Lambda dengan Amazon SQS](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html) 
+  [Apa itu Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) 
+ [ Mengelola Alur Kerja Tak Selaras dengan API REST ](https://aws.amazon.com/blogs/architecture/managing-asynchronous-workflows-with-a-rest-api/)

 **Video terkait:** 
+ [AWS re:Invent 2023 - Menavigasi perjalanan ke arsitektur berbasis peristiwa nirserver](https://www.youtube.com/watch?v=hvGuqHp051c)
+ [AWS re:Invent 2023 - Menggunakan nirserver untuk arsitektur berbasis peristiwa & desain berbasis domain ](https://www.youtube.com/watch?v=3foMZJSPMI4)
+ [AWS re:Invent 2023 - Pola yang didorong peristiwa tingkat lanjut dengan Amazon EventBridge](https://www.youtube.com/watch?v=6X4lSPkn4ps)
+ [AWS re:Invent 2023 - Arsitektur berkelanjutan: Masa lalu, sekarang, dan masa depan](https://www.youtube.com/watch?v=2xpUQ-Q4QcM)
+ [ Pola Pesan Asinkron \$1 Peristiwa AWS](https://www.youtube.com/watch?v=-yJqBuwouZ4)

 **Contoh terkait:** 
+ [ Arsitektur berbasis peristiwa dengan Prosesor AWS Graviton dan Instans Spot Amazon EC2 ](https://catalog.workshops.aws/well-architected-sustainability/en-US/2-software-and-architecture/event-driven-architecture-with-graviton-spot)

# SUS03-BP02 Menyingkirkan atau memfaktor ulang komponen beban kerja yang jarang atau tidak pernah digunakan
<a name="sus_sus_software_a3"></a>

Singkirkan komponen yang tidak digunakan dan sudah tidak diperlukan, dan faktorkan ulang komponen dengan sedikit pemanfaatan, untuk meminimalkan limbah di beban kerja Anda.

 **Anti-pola umum:** 
+  Anda tidak secara rutin memeriksa tingkat penggunaan masing-masing komponen beban kerja Anda. 
+  Anda tidak memeriksa dan menganalisis rekomendasi dari alat perampingan AWS seperti [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/). 

 **Manfaat menjalankan praktik terbaik ini:** Menghapus komponen yang tidak terpakai dapat meminimalkan pemborosan dan meningkatkan efisiensi keseluruhan beban kerja cloud Anda. 

 **Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan:** Sedang 

## Panduan implementasi
<a name="implementation-guidance"></a>

Komponen yang tidak digunakan atau kurang dimanfaatkan dalam beban kerja cloud akan mengonsumsi sumber daya komputasi, penyimpanan, atau jaringan yang tidak perlu. Hapus atau faktor ulang komponen ini untuk mengurangi pemborosan secara langsung dan meningkatkan efisiensi keseluruhan beban kerja cloud. Tindakan ini adalah proses peningkatan yang berulang, yang dapat diinisiasi oleh perubahan-perubahan yang terjadi dalam permintaan atau rilis layanan cloud baru. Misalnya, penurunan waktu fungsi [AWS Lambda](https://docs.aws.amazon.com/lambda/) yang signifikan dapat menunjukkan perlunya menurunkan ukuran memori. Selain itu, ketika AWS merilis layanan dan fitur baru, arsitektur dan layanan optimal untuk beban kerja Anda mungkin berubah.

 Lakukan pemantauan terus menerus terhadap aktivitas beban kerja Anda dan carilah peluang untuk meningkatkan tingkat pemanfaatan masing-masing komponen. Dengan menyingkirkan komponen-komponen yang tidak terpakai dan melakukan aktivitas perampingan, Anda akan memenuhi persyaratan bisnis dengan menggunakan sumber daya cloud sesedikit mungkin. 

### Langkah-langkah implementasi
<a name="implementation-steps"></a>
+  **Inventarisasi sumber daya AWS Anda:** Buat inventaris sumber daya AWS Anda. Di AWS, Anda dapat mengaktifkan [Penjelajah Sumber Daya AWS](https://docs.aws.amazon.com/resource-explorer/latest/userguide/welcome.html) untuk menjelajahi dan mengatur sumber daya AWS Anda. Untuk detail selengkapnya, lihat [AWS re:Invent 2022 - Cara mengelola sumber daya dan aplikasi](https://www.youtube.com/watch?v=bbgUnKq6PAU) dalam skala besar di AWS. 
+  **Pantau pemanfaatan:** Pantau dan rekam metrik pemanfaatan untuk komponen penting beban kerja Anda (seperti pemanfaatan CPU, pemanfaatan memori, atau throughput jaringan dalam [metrik Amazon CloudWatch)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html). 
+  **Identifikasi komponen yang tidak digunakan:** Identifikasi komponen-komponen yang tidak digunakan atau kurang dimanfaatkan dalam arsitektur Anda. 
  +  Untuk beban kerja yang stabil, periksa alat-alat perampingan AWS seperti [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) secara berkala untuk mengidentifikasi komponen yang idle, tidak digunakan, atau kurang dimanfaatkan. 
  +  Untuk beban kerja sementara, lakukan evaluasi terhadap metrik-metrik pemanfaatan untuk mengidentifikasi komponen yang idle, tidak digunakan, atau kurang dimanfaatkan. 
+  **Hapus komponen yang tidak digunakan:** Pensiunkan komponen dan aset terkait (seperti image Amazon ECR) yang tidak diperlukan lagi. 
  + [ Pembersihan Otomatis Image yang Tidak Digunakan di Amazon ECR ](https://aws.amazon.com/blogs/compute/automated-cleanup-of-unused-images-in-amazon-ecr/)
  + [ Hapus volume Amazon Elastic Block Store (Amazon EBS) yang tidak terpakai dengan menggunakan AWS Config dan 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)
+  **Faktor ulang komponen yang kurang dimanfaatkan:** Faktor ulang atau gabungkan komponen-komponen yang kurang dimanfaatkan dengan sumber daya lain untuk meningkatkan efisiensi pemanfaatan. Misalnya, Anda dapat menyediakan beberapa basis data kecil pada satu instans basis data [Amazon RDS](https://aws.amazon.com/rds/) alih-alih menjalankan basis data pada instans individual yang kurang dimanfaatkan. 
+  **Evaluasi peningkatan:** Pahami [sumber daya yang disediakan oleh beban kerja Anda untuk menyelesaikan sebuah unit kerja](https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/evaluate-specific-improvements.html). Gunakan informasi ini untuk mengevaluasi peningkatan yang dicapai dengan menghapus atau memfaktor ulang komponen. 
  + [ Ukur dan lacak efisiensi cloud dengan metrik proksi keberlanjutan, Bagian I: Apa itu metrik proksi? ](https://aws.amazon.com/blogs/aws-cloud-financial-management/measure-and-track-cloud-efficiency-with-sustainability-proxy-metrics-part-i-what-are-proxy-metrics/)
  + [ Ukur dan lacak efisiensi cloud dengan metrik proksi keberlanjutan, Bagian II: Buat pipeline metrik ](https://aws.amazon.com/blogs/aws-cloud-financial-management/measure-and-track-cloud-efficiency-with-sustainability-proxy-metrics-part-ii-establish-a-metrics-pipeline/)

## Sumber daya
<a name="resources"></a>

 **Dokumen terkait:** 
+ [AWS Trusted Advisor](https://aws.amazon.com/premiumsupport/technology/trusted-advisor/)
+  [Apa itu Amazon CloudWatch?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+ [ Penentuan Ukuran yang Tepat: Menyediakan Instans yang Sesuai dengan Beban Kerja ](https://docs.aws.amazon.com/whitepapers/latest/cost-optimization-right-sizing/cost-optimization-right-sizing.html)
+ [ Mengoptimalkan biaya Anda dengan Rekomendasi Perampingan yang Tepat ](https://docs.aws.amazon.com/cost-management/latest/userguide/ce-rightsizing.html)

 **Video terkait:** 
+ [AWS re:Invent 2023 - Kapasitas, ketersediaan, efisiensi biaya: Pilih ketiganya ](https://www.youtube.com/watch?v=E0dYLPXrX_w)

# SUS03-BP03 Mengoptimalkan area kode yang memakai waktu atau sumber daya paling banyak
<a name="sus_sus_software_a4"></a>

Optimalkan kode Anda yang dijalankan di dalam berbagai macam komponen arsitektur Anda untuk meminimalkan penggunaan sumber daya sambil memaksimalkan performa.

 **Anti-pola umum:** 
+  Anda mengabaikan optimalisasi kode Anda untuk penggunaan sumber daya. 
+  Anda biasanya merespons masalah-masalah performa dengan meningkatkan sumber daya. 
+  Proses pengembangan dan peninjauan kode Anda tidak melacak perubahan-perubahan performa. 

 **Manfaat menjalankan praktik terbaik ini:** Menggunakan kode yang efisien dapat meminimalkan penggunaan sumber daya dan meningkatkan kinerja. 

 **Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan:** Sedang 

## Panduan implementasi
<a name="implementation-guidance"></a>

 Setiap area fungsional harus diperiksa, termasuk kode untuk aplikasi dengan arsitektur cloud, untuk mengoptimalkan penggunaan sumber daya dan performanya. Lakukan pemantauan terhadap performa beban kerja Anda secara terus menerus di lingkungan pembangunan dan produksi dan identifikasi peluang-peluang untuk meningkatkan snippet kode yang memiliki penggunaan sumber daya sangat tinggi. Adopsi proses peninjauan secara teratur untuk mengidentifikasi bug atau anti-pola yang ada di dalam kode Anda yang menggunakan sumber daya secara tidak efisien. Manfaatkan algoritma sederhana dan efisien yang memberikan hasil yang sama untuk kasus penggunaan Anda. 

## Langkah-langkah implementasi
<a name="implementation-steps"></a>
+ **Gunakan bahasa pemrograman yang efisien:** Gunakan sistem operasi dan bahasa pemrograman yang efisien untuk beban kerja. Untuk informasi mendetail tentang bahasa pemrograman yang hemat energi (termasuk Rust), lihat [Keberlanjutan dengan Rust](https://aws.amazon.com/blogs/opensource/sustainability-with-rust/). 
+  **Gunakan pendamping pengodean AI:** Pertimbangkan menggunakan pendamping pengodean AI seperti [Amazon Q Developer](https://aws.amazon.com/q/developer/) untuk menulis kode secara efisien. 
+ **Lakukan otomatisasi peninjauan kode:** Saat mengembangkan beban kerja Anda, adopsi proses peninjauan kode otomatis untuk meningkatkan kualitas dan mengidentifikasi bug dan antipola. 
  + [ Lakukan otomatisasi peninjauan kode dengan Amazon CodeGuru Reviewer ](https://aws.amazon.com/blogs/devops/automate-code-reviews-with-amazon-codeguru-reviewer/)
  + [ Mendeteksi bug konkurensi dengan Amazon CodeGuru ](https://aws.amazon.com/blogs/devops/detecting-concurrency-bugs-with-amazon-codeguru/)
  + [ Meningkatkan kualitas kode untuk aplikasi Python menggunakan Amazon CodeGuru ](https://aws.amazon.com/blogs/devops/raising-code-quality-for-python-applications-using-amazon-codeguru/)
+ **Gunakan profiler kode:** Gunakan profiler kode untuk mengidentifikasi area kode yang menggunakan waktu atau sumber daya paling banyak sebagai target optimasi. 
  + [ Mengurangi jejak karbon organisasi Anda dengan Amazon CodeGuru Profiler ](https://aws.amazon.com/blogs/devops/reducing-your-organizations-carbon-footprint-with-codeguru-profiler/)
  + [ Memahami penggunaan memori di aplikasi Java Anda dengan Amazon CodeGuru Profiler ](https://aws.amazon.com/blogs/devops/understanding-memory-usage-in-your-java-application-with-amazon-codeguru-profiler/)
  + [ Meningkatkan pengalaman pelanggan dan mengurangi biaya dengan Amazon CodeGuru Profiler ](https://aws.amazon.com/blogs/devops/improving-customer-experience-and-reducing-cost-with-codeguru-profiler/)
+  **Pantau dan optimalkan:** Gunakan sumber daya pemantauan berkelanjutan untuk mengidentifikasi komponen dengan persyaratan sumber daya yang tinggi atau konfigurasi mendekati optimal. 
  +  Ganti algoritma yang banyak memerlukan komputasi dengan versi algoritma yang lebih sederhana dan lebih efisien, yang akan memberikan hasil yang sama. 
  +  Singkirkan kode yang tidak perlu, seperti kode penyortiran dan pemformatan. 
+  **Gunakan pemfaktoran ulang kode atau transformasi:** Jelajahi kemungkinan [transformasi kode Amazon Q](https://aws.amazon.com/q/aws/code-transformation/) untuk pemeliharaan dan peningkatan aplikasi. 
  + [ Tingkatkan versi bahasa dengan Transformasi Kode Amazon Q ](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/code-transformation.html)
  + [AWS re:Invent 2023 - Otomatiskan peningkatan & pemeliharaan aplikasi menggunakan Transformasi Kode Amazon Q](https://www.youtube.com/watch?v=LY76tak6Z1E)

## Sumber daya
<a name="resources"></a>

 **Dokumen terkait:** 
+  [Apa itu Amazon CodeGuru Profiler?](https://docs.aws.amazon.com/codeguru/latest/profiler-ug/what-is-codeguru-profiler.html) 
+  [Instans FPGA](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/fpga-getting-started.html) 
+  [SDK AWS di Alat-alat untuk Membangun di AWS](https://aws.amazon.com/tools/) 

 **Video terkait:** 
+ [ Tingkatkan Efisiensi Kode Menggunakan Amazon CodeGuru Profiler ](https://www.youtube.com/watch?v=1pU4VddsBRw)
+ [ Lakukan Otomatisasi Peninjauan Kode dan Rekomendasi Kinerja Aplikasi dengan Amazon CodeGuru ](https://www.youtube.com/watch?v=OD8H63C0E0I)

# SUS03-BP04 Mengoptimalkan dampak pada perangkat dan perlengkapan
<a name="sus_sus_software_a5"></a>

Pahami perangkat dan perlengkapan yang digunakan dalam arsitektur Anda dan gunakan strategi untuk mengurangi penggunaannya. Tindakan ini dapat meminimalkan dampak beban kerja cloud Anda pada lingkungan secara keseluruhan. 

 **Anti-pola umum:** 
+  Anda mengabaikan dampak yang ditimbulkan oleh perangkat yang digunakan oleh pelanggan Anda terhadap lingkungan. 
+  Anda mengelola dan memperbarui sumber daya yang digunakan oleh pelanggan secara manual. 

 **Manfaat menerapkan praktik terbaik ini:** Menerapkan pola dan fitur perangkat lunak yang sudah dioptimalkan untuk perangkat pelanggan dapat mengurangi dampak lingkungan yang ditimbulkan beban kerja cloud Anda secara keseluruhan. 

 **Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan:** Sedang 

## Panduan implementasi
<a name="implementation-guidance"></a>

 Mengimplementasikan fitur dan pola perangkat lunak yang dioptimalkan untuk perangkat pelanggan dapat mengurangi dampaknya terhadap lingkungan dengan beberapa cara: 
+  Mengimplementasikan fitur baru yang kompatibel dengan versi lama dapat mengurangi jumlah penggantian perangkat keras. 
+  Mengoptimalkan aplikasi untuk beroperasi secara efisien di perangkat dapat membantu Anda mengurangi pemakaian energi dan memperpanjang masa pakai baterai (jika menggunakan tenaga baterai). 
+  Mengoptimalkan aplikasi untuk perangkat dapat juga mengurangi transfer data lewat jaringan. 

 Pahami perangkat dan perlengkapan yang digunakan dalam arsitektur Anda, siklus hidupnya yang diharapkan, dan dampak dari penggantian komponen-komponen tersebut. Implementasikan fitur dan pola perangkat lunak yang dapat membantu Anda meminimalkan pemakaian energi perangkat, keharusan pelanggan untuk mengganti perangkat dan melakukan pemutakhiran perangkat secara manual. 

### Langkah-langkah implementasi
<a name="implementation-steps"></a>
+ **Lakukan inventarisasi:** Buatlah inventarisasi perangkat yang digunakan dalam arsitektur Anda. Perangkat dapat berupa perangkat seluler, tablet, perangkat IOT, lampu pintar, atau bahkan perangkat pintar yang dalam sebuah pabrik. 
+ **Gunakan perangkat hemat energi:** Pertimbangkan untuk menggunakan perangkat hemat energi dalam arsitektur Anda. Gunakan konfigurasi manajemen daya pada perangkat untuk masuk ke mode daya rendah saat tidak digunakan. 
+ **Jalankan aplikasi yang efisien:** Optimalkan aplikasi yang berjalan di perangkat: 
  +  Gunakan strategi seperti menjalankan tugas di latar belakang untuk mengurangi pemakaian energi. 
  +  Perhitungkan bandwidth jaringan dan latensi saat membangun payload, dan implementasikan kemampuan yang dapat membantu aplikasi bekerja dengan baik pada tautan yang memiliki bandwidth rendah dan latensi tinggi. 
  +  Ubah format payload dan file ke format optimal yang diperlukan oleh perangkat. Misalnya, Anda dapat menggunakan [Amazon Elastic Transcoder](https://docs.aws.amazon.com/elastic-transcoder/) atau [AWS Elemental MediaConvert](https://aws.amazon.com/mediaconvert/) untuk mengonversi file media digital yang besar dan berkualitas tinggi ke dalam format yang dapat diputar ulang pengguna di perangkat seluler, tablet, browser web, dan televisi yang terhubung. 
  +  Lakukan aktivitas yang membutuhkan banyak komputasi di sisi server (seperti melakukan rendering gambar), atau gunakan streaming aplikasi untuk meningkatkan pengalaman pengguna pada perangkat yang lebih lama. 
  +  Segmentasikan dan beri nomor halaman pada output, terutama untuk sesi-sesi interaktif, guna mengelola payload dan membatasi persyaratan penyimpanan lokal. 
+ **Libatkan pemasok:** Bekerja samalah dengan pemasok perangkat yang menggunakan bahan berkelanjutan dan memberikan transparansi dalam rantai pasokan dan sertifikasi lingkungan mereka. 
+ **Gunakan pembaruan lewat udara (OTA):** Gunakan mekanisme otomatis lewat udara (OTA) untuk melakukan deployment pembaruan ke satu atau beberapa perangkat. 
  +  Anda dapat menggunakan sebuah [pipeline CI/CD](https://aws.amazon.com/blogs/mobile/build-a-cicd-pipeline-for-your-android-app-with-aws-services/) untuk memperbarui aplikasi seluler. 
  +  Anda dapat menggunakan [AWS IoT Device Management](https://aws.amazon.com/iot-device-management/) untuk mengelola perangkat yang terhubung dari jarak jauh dalam skala besar. 
+ **Gunakan device farm terkelola:** Untuk menguji fitur baru dan pembaruan, gunakan device farm terkelola dengan set perangkat keras representatif dan ulang pengembangan untuk memaksimalkan perangkat yang didukung. Untuk detail selengkapnya, lihat [SUS06-BP05 Menggunakan device farm terkelola untuk pengujian](sus_sus_dev_a5.md). 
+ **Pemantau dan peningkatan terus-menerus:** Lacak penggunaan energi perangkat untuk mengidentifikasi area-area yang bisa diperbaiki. Gunakan teknologi atau praktik terbaik terbaru untuk memperbaiki dampak lingkungan yang ditimbulkan oleh perangkat-perangkat tersebut. 

## Sumber daya
<a name="resources"></a>

 **Dokumen terkait:** 
+  [Apa itu AWS Device Farm?](https://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html) 
+  [Dokumentasi Aplikasi WorkSpaces](https://docs.aws.amazon.com/appstream2/) 
+  [NICE DCV](https://docs.aws.amazon.com/dcv/) 
+ [ Tutorial OTA untuk memperbarui firmware pada perangkat yang menjalankan FreeRTOS ](https://docs.aws.amazon.com/freertos/latest/userguide/dev-guide-ota-workflow.html)
+ [ Mengoptimalkan Perangkat IoT Anda untuk Kelestarian Lingkungan ](https://aws.amazon.com/blogs/architecture/optimizing-your-iot-devices-for-environmental-sustainability/)

 **Video terkait:** 
+ [AWS re:Invent 2023 - Tingkatkan kualitas aplikasi seluler dan web Anda dengan menggunakan AWS Device Farm](https://www.youtube.com/watch?v=__93Tm0YCRg)

# SUS03-BP05 Gunakan pola perangkat lunak dan arsitektur yang paling mendukung pola akses dan penyimpanan data
<a name="sus_sus_software_a6"></a>

Pahami bagaimana data digunakan di dalam beban kerja Anda, dipakai oleh pengguna Anda, ditransfer, dan disimpan. Gunakan pola perangkat lunak dan arsitektur yang paling mendukung akses dan penyimpanan data untuk meminimalkan sumber daya komputasi, jaringan, dan penyimpanan yang diperlukan untuk mendukung beban kerja.

 **Anti-pola umum:** 
+  Anda berasumsi bahwa semua beban kerja memiliki pola penyimpanan data dan akses data yang serupa. 
+  Anda hanya menggunakan satu tingkat penyimpanan, dengan anggapan semua beban kerja masuk dalam tingkat tersebut. 
+  Anda berasumsi bahwa pola akses data tidak akan berubah. 
+  Arsitektur Anda mendukung potensi lonjakan akses data yang tinggi, sehingga dapat mengakibatkan sumber daya tetap idle dalam sebagian besar waktu. 

 **Manfaat menjalankan praktik terbaik ini:** Memilih dan mengoptimalkan arsitektur Anda berdasarkan pola akses data dan pola penyimpanan data akan membantu Anda untuk mengurangi kompleksitas pengembangan dan meningkatkan pemanfaatan secara keseluruhan. Memahami kapan harus menggunakan tabel global, partisi data, dan caching akan membantu Anda untuk mengurangi biaya operasional dan menskalakan sesuai kebutuhan beban kerja Anda. 

 **Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan:** Sedang 

## Panduan implementasi
<a name="implementation-guidance"></a>

 Untuk meningkatkan keberlanjutan beban kerja jangka panjang, gunakan pola arsitektur yang mendukung akses data dan karakteristik penyimpanan untuk beban kerja Anda. Pola-pola ini membantu Anda mengambil dan memproses data secara efisien. Misalnya, gunakan [arsitektur data modern di AWS](https://aws.amazon.com/big-data/datalakes-and-analytics/modern-data-architecture/) dengan layanan yang dibuat khusus yang dioptimalkan untuk kasus penggunaan analitik unik Anda. Pola-pola arsitektur ini akan memungkinkan pemrosesan data yang efisien dan mengurangi penggunaan sumber daya. 

### Langkah-langkah implementasi
<a name="implementation-steps"></a>
+  **Pahami karakteristik data:** Lakukan analisis terhadap karakteristik data dan pola akses Anda guna mengidentifikasi konfigurasi yang tepat untuk sumber daya cloud Anda. Karakteristik utama yang perlu dipertimbangkan antara lain: 
  +  **Jenis data:** terstruktur, semi-terstruktur, tidak terstruktur 
  +  **Pertumbuhan data:** terbatas, tidak terbatas 
  +  **Ketahanan data:** persisten, sementara, transien 
  +  **Pola akses**: baca atau tulis, frekuensi pembaruan, berfluktuasi, atau konsisten 
+  **Gunakan pola arsitektur yang optimal:** Gunakan pola-pola arsitektur yang paling mendukung pola akses dan penyimpanan data. 
  + [ Pola untuk memungkinkan persistensi data ](https://docs.aws.amazon.com/prescriptive-guidance/latest/modernization-data-persistence/enabling-patterns.html)
  + [ Mari Merancang\$1 Arsitektur data modern ](https://aws.amazon.com/blogs/architecture/lets-architect-modern-data-architectures/)
  + [ Basis data di AWS: Alat yang Tepat untuk Tugas yang Tepat ](https://www.youtube.com/watch?v=-pb-DkD6cWg)
+  **Gunakan layanan yang dibuat khusus:** Gunakan teknologi yang sesuai untuk tujuannya. 
  +  Gunakan teknologi yang berfungsi secara native dengan data terkompresi. 
    + [ Format file Dukungan Kompresi Athena ](https://docs.aws.amazon.com/athena/latest/ug/compression-formats.html)
    + [ Opsi Format untuk Input dan Output ETL di AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-format.html)
    + [ Memuat file data terkompresi dari Amazon S3 dengan Amazon Redshift ](https://docs.aws.amazon.com/redshift/latest/dg/t_loading-gzip-compressed-data-files-from-S3.html)
  +  Gunakan [layanan analitik](https://aws.amazon.com/big-data/datalakes-and-analytics/?nc2=h_ql_prod_an_a) yang dibuat khusus untuk pemrosesan data dalam arsitektur Anda. Untuk detail tentang layanan analitik yang dibuat khusus AWS, lihat [AWS re:Invent 2022 - Membangun arsitektur data modern di AWS](https://www.youtube.com/watch?v=Uk2CqEt5f0o). 
  +  Gunakan mesin basis data yang paling mendukung pola-pola kueri dominan Anda. Kelola indeks basis data Anda untuk memastikan pembuatan kueri yang efisien. Untuk detail lebih lanjut, lihat [Basis Data AWS](https://aws.amazon.com/products/databases/) dan [AWS re:Invent 2022 - Melakukan modernisasi aplikasi dengan basis data yang dibuat khusus](https://www.youtube.com/watch?v=V-DiplATdi0). 
+  **Minimalkan transfer data:** Pilihlah protokol-protokol jaringan yang dapat mengurangi jumlah kapasitas jaringan yang dipakai di arsitektur Anda. 

## Sumber daya
<a name="resources"></a>

 **Dokumen terkait:** 
+  [MENYALIN dari format data kolom dengan Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/copy-usage_notes-copy-from-columnar.html) 
+  [Mengonversi Format Catatan Input Anda di Firehose](https://docs.aws.amazon.com/firehose/latest/dev/record-format-conversion.html) 
+  [Meningkatkan kinerja kueri di Amazon Athena dengan Mengonversi ke Format Kolom](https://docs.aws.amazon.com/athena/latest/ug/convert-to-columnar.html) 
+  [Memantau muatan DB dengan Wawasan Performa di Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights.html) 
+  [Memantau muatan DB dengan Wawasan Performa di Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) 
+ [ Kelas penyimpanan Amazon S3 Intelligent-Tiering ](https://aws.amazon.com/s3/storage-classes/intelligent-tiering/)
+ [ Bangun toko peristiwa CQRS dengan Amazon DynamoDB ](https://aws.amazon.com/blogs/database/build-a-cqrs-event-store-with-amazon-dynamodb/)

 **Video terkait:** 
+ [AWS re:Invent 2022 - Membangun arsitektur jala data di AWS](https://www.youtube.com/watch?v=nGRvlobeM_U)
+ [AWS re:Invent 2023 - Memahami lebih dalam tentang Amazon Aurora dan inovasinya ](https://www.youtube.com/watch?v=je6GCOZ22lI)
+ [AWS re:Invent 2023 - Meningkatkan efisiensi Amazon EBS dan menjadi lebih hemat biaya ](https://www.youtube.com/watch?v=7-CB02rqiuw)
+ [AWS re:Invent 2023 - Mengoptimalkan harga dan kinerja penyimpanan dengan Amazon S3 ](https://www.youtube.com/watch?v=RxgYNrXPOLw)
+ [AWS re:Invent 2023 - Membangun dan mengoptimalkan danau data di Amazon S3 ](https://www.youtube.com/watch?v=mpQa_Zm1xW8)
+ [AWS re:Invent 2023 - Pola yang didorong peristiwa tingkat lanjut dengan Amazon EventBridge ](https://www.youtube.com/watch?v=6X4lSPkn4ps)

 **Contoh terkait:** 
+ [AWS Lokakarya Basis Data yang Dibuat Khusus ](https://catalog.us-east-1.prod.workshops.aws/workshops/93f64257-52be-4c12-a95b-c0a1ff3b7e2b/en-US)
+ [AWS Hari Imersi Arsitektur Data Modern ](https://catalog.us-east-1.prod.workshops.aws/workshops/32f3e732-d67d-4c63-b967-c8c5eabd9ebf/en-US)
+ [ Membangun Jala Data di AWS](https://catalog.us-east-1.prod.workshops.aws/workshops/23e6326b-58ee-4ab0-9bc7-3c8d730eb851/en-US)