

# Pola arsitektur dan perangkat lunak
<a name="a-sus-software-architecture-patterns"></a>

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

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

Implementasikan pola untuk melancarkan beban dan mempertahankan penggunaan sumber daya yang di-deploy secara sangat konsisten untuk meminimalkan sumber daya yang dipakai. Komponen dapat menjadi tidak aktif dari kurangnya penggunaan karena perubahan dalam perilaku pengguna seiring waktu. Revisi pola dan arsitektur untuk mengonsolidasikan komponen yang kurang digunakan guna meningkatkan penggunaan secara keseluruhan. Pensiunkan komponen yang tidak lagi diperlukan. Pahami performa komponen beban kerja Anda, dan optimalkan komponen yang paling banyak menghabiskan sumber daya. Ketahui perangkat yang digunakan pelanggan untuk mengakses layanan Anda, dan implementasikan pola untuk meminimalkan kebutuhan akan pemutakhiran perangkat. 

 Praktik terbaik: 

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

 Gunakan desain dan arsitektur perangkat lunak yang efisien untuk meminimalkan sumber daya rata-rata yang diperlukan per unit kerja. Implementasikan mekanisme yang menghasilkan pemanfaatan komponen yang merata untuk mengurangi sumber daya yang tidak aktif di antara tugas dan meminimalkan dampak lonjakan beban. 

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

## Panduan implementasi
<a name="implementation-guidance"></a>
+  Buat antrean permintaan yang tidak memerlukan pemrosesan segera. 
+  Tingkatkan serialisasi untuk meratakan pemanfaatan di seluruh pipeline Anda. 
+  Ubah kapasitas masing-masing komponen untuk menghindari sumber daya yang tidak aktif karena menunggu input. 
+  Buat buffer dan tetapkan pembatasan laju untuk memudahkan pemakaian layanan eksternal. 
+  Gunakan perangkat keras paling efisien yang tersedia untuk optimasi perangkat lunak Anda. 
+  Gunakan arsitektur yang didorong antrean, manajemen pipeline, dan pekerja Instans Sesuai Permintaan untuk memaksimalkan pemanfaatan untuk pemrosesan batch. 
+  Jadwalkan tugas untuk menghindari lonjakan beban dan permasalahan sumber daya dari eksekusi serentak. 
+  Jadwalkan tugas di siang hari saat intensitas karbon untuk daya dinilai paling rendah. 

## 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) 
+  [Menskalakan 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) 

 **Video terkait:** 
+  [Membangun Pelestarian Lingkungan di AWS](https://www.youtube.com/watch?v=ARAitMSIxc8) 
+  [Arsitektur yang didorong peristiwa.](https://www.youtube.com/watch?v=h46IquqjF3E) 

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

 Pantau aktivitas beban kerja untuk mengidentifikasi perubahan dalam hal pemanfaatan setiap komponen seiring waktu. Singkirkan komponen yang tidak digunakan dan sudah tidak diperlukan, dan faktor ulang komponen dengan sedikit pemanfaatan, untuk membatasi sumber daya yang terbuang. 

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

## Panduan implementasi
<a name="implementation-guidance"></a>
+  Analisis beban (menggunakan indikator seperti alur transaksi dan panggilan API) pada komponen fungsional untuk mengidentifikasi komponen yang tidak digunakan atau pemanfaatannya rendah. 
+  Pensiunkan komponen yang tidak lagi diperlukan. 
+  Faktorkan ulang komponen yang pemanfaatannya rendah. 
+  Gabungkan komponen yang pemanfaatannya rendah dengan sumber daya lain untuk meningkatkan efisiensi pemanfaatan. 

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

 **Dokumen terkait:** 
+  [Apa itu AWS X-Ray?](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [Apa itu Amazon CloudWatch?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [Menggunakan ServiceLens untuk memantau kondisi aplikasi Anda](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ServiceLens.html) 
+  [Pembersihan Otomatis Gambar yang Tidak Digunakan di Amazon ECR](https://aws.amazon.com/blogs/compute/automated-cleanup-of-unused-images-in-amazon-ecr/) 

 **Video terkait:** 
+  [Membangun Pelestarian Lingkungan di AWS](https://www.youtube.com/watch?v=ARAitMSIxc8) 

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

 Pantau aktivitas beban kerja untuk mengidentifikasi komponen aplikasi yang memakai sumber daya paling banyak. Optimalkan kode yang berjalan di dalam komponen-komponen tersebut untuk meminimalkan penggunaan sumber daya sambil memaksimalkan kinerja. 

 **Tingkat risiko yang terjadi jika praktik terbaik ini tidak dijalankan:** Rendah 

## Panduan implementasi
<a name="implementation-guidance"></a>
+  Pantau kinerja sebagai fungsi penggunaan sumber daya untuk mengidentifikasi komponen dengan kebutuhan sumber daya yang tinggi per unit kerja sebagai target untuk optimasi. 
+  Gunakan profiler kode untuk mengidentifikasi area kode yang menggunakan waktu atau sumber daya paling banyak sebagai target optimasi. 
+  Ganti algoritme dengan versi lebih efisien yang memberikan hasil yang sama. 
+  Gunakan akselerasi perangkat keras untuk meningkatkan efisiensi blok kode dengan waktu eksekusi yang panjang. 
+  Gunakan sistem operasi dan bahasa pemrograman paling efisien untuk beban kerja. 
+  Hilangkan penyortiran dan pemformatan yang tidak diperlukan. 
+  Gunakan pola transfer data yang meminimalkan sumber daya yang digunakan berdasarkan tingkat keseringan perubahan data dan bagaimana data digunakan. Misalnya, dorong informasi perubahan status ke klien, alih-alih membuat klien menggunakan sumber daya untuk memeriksa dan menerima pesan ‘tidak ada perubahan’ yang tidak bernilai. 

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

 **Dokumen terkait:** 
+  [Apa itu Amazon CloudWatch?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [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:** 
+  [Membangun dengan Pelestarian Lingkungan di AWS](https://www.youtube.com/watch?v=ARAitMSIxc8) 

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

 Pahami perangkat dan perlengkapan yang digunakan pelanggan Anda untuk menggunakan layanan, siklus hidup yang diharapkan, serta dampak finansial dan pelestarian lingkungan dari penggantian komponen tersebut. Implementasikan pola dan arsitektur perangkat lunak guna meminimalkan kebutuhan pelanggan untuk mengganti perangkat dan memutakhirkan perlengkapan. Misalnya, implementasikan fitur baru menggunakan kode yang kompatibel dengan versi perangkat keras dan sistem operasi yang lebih lama, atau kelola ukuran payload agar tidak melebihi kapasitas penyimpanan perangkat target. 

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

## Panduan implementasi
<a name="implementation-guidance"></a>
+  Inventarisasikan perangkat yang digunakan pelanggan Anda. 
+  Uji menggunakan farm perangkat terkelola dengan set perangkat keras yang representatif untuk memahami dampak perubahan, dan iterasikan pengembangan untuk memaksimalkan perangkat yang didukung. 
+  Perhitungkan bandwidth jaringan dan latensi saat membangun payload, dan implementasikan kemampuan yang membantu aplikasi bekerja dengan baik pada tautan yang memiliki bandwidth rendah dan latensi tinggi. 
+  Jalankan pemrosesan awal payload data untuk mengurangi persyaratan pemrosesan lokal dan membatasi persyaratan transfer data. 
+  Lakukan aktivitas yang membutuhkan banyak komputasi di sisi server (seperti render gambar), atau gunakan streaming aplikasi untuk meningkatkan pengalaman pengguna pada perangkat yang lebih lama. 
+  Pisahkan dan bagi keluaran, terutama untuk sesi interaktif, guna mengelola payload dan membatasi persyaratan penyimpanan lokal. 

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

 **Dokumen terkait:** 
+  [Apa itu AWS Device Farm?](https://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html) 
+  [Dokumentasi Amazon AppStream 2.0](https://docs.aws.amazon.com/appstream2/) 
+  [NICE DCV](https://docs.aws.amazon.com/dcv/) 
+  [Dokumentasi Amazon Elastic Transcoder](https://docs.aws.amazon.com/elastic-transcoder/) 

 **Video terkait:** 
+  [Membangun Pelestarian Lingkungan di AWS](https://www.youtube.com/watch?v=ARAitMSIxc8) 

# 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, digunakan oleh pengguna Anda, ditransfer, dan disimpan. Seleksi teknologi untuk meminimalkan persyaratan pemrosesan dan penyimpanan data. 

 **Tingkat risiko yang terjadi jika praktik terbaik ini tidak dijalankan:** Rendah 

## Panduan implementasi
<a name="implementation-guidance"></a>
+  Analisis pola akses dan penyimpanan data Anda. 
+  Simpan file data dalam format file yang efisien seperti Parquet untuk mencegah pemrosesan yang tidak diperlukan (misalnya, saat menjalankan analitik) dan untuk mengurangi total penyimpanan yang disediakan. 
+  Gunakan teknologi yang berjalan secara native dengan data terkompresi: 
+  Gunakan mesin basis data yang paling mendukung pola kueri dominan Anda. 
+  Kelola indeks basis data Anda untuk memastikan desain indeks mendukung eksekusi kueri yang efisien. 
+  Seleksi protokol jaringan yang mengurangi jumlah kapasitas jaringan yang dipakai. 

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

 **Dokumen terkait:** 
+  [Format file Dukungan Kompresi Athena](https://docs.aws.amazon.com/athena/latest/ug/compression-formats.html) 
+  [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 Rekaman Input Anda di Firehose](https://docs.aws.amazon.com/firehose/latest/dev/record-format-conversion.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) 
+  [Meningkatkan kinerja kueri di Amazon Athena dengan Mengonversi ke Format Kolom](https://docs.aws.amazon.com/athena/latest/ug/convert-to-columnar.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) 
+  [Memantau beban DB dengan Wawasan Kinerja di Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights.html) 
+  [Memantau beban DB dengan Wawasan Kinerja di Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) 
+  [AWS IoT FleetWise](https://aws.amazon.com/about-aws/whats-new/2021/11/aws-iot-fleetwise-transferring-vehicle-data-cloud/) 

 **Video terkait:** 
+  [Membangun dengan Pelestarian Lingkungan di AWS](https://www.youtube.com/watch?v=ARAitMSIxc8) 