SUS03-BP01 Optimalkan perangkat lunak dan arsitektur untuk tugas yang asinkron dan terjadwal - Kerangka Kerja AWS Well-Architected

SUS03-BP01 Optimalkan perangkat lunak dan arsitektur untuk tugas yang asinkron dan terjadwal

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

Gunakan pola arsitektur yang efisien seperti arsitektur berbasis peristiwa 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

  • 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:

    Mekanisme antrean Deskripsi

    Antrean tugas AWS Batch

    Tugas AWS Batch dikirimkan ke antrean tugas dan menunggu untuk dijadwalkan berjalan di sebuah lingkungan komputasi.

    Layanan Antrian Sederhana Amazon dan Instans Spot Amazon EC2

    Memasangkan Amazon SQS dan Instans Spot untuk membangun arsitektur yang efisien dan tahan terhadap kesalahan.

  • 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:

    Mekanisme penjadwalan Deskripsi

    Penjadwal Amazon EventBridge

    Kemampuan dari Amazon EventBridge yang memungkinkan Anda untuk membuat, menjalankan, dan mengelola tugas terjadwal dalam skala besar.

    jadwal berbasis waktu AWS Glue

    Tentukan jadwal berbasis waktu untuk perayap dan tugas Anda di AWS Glue.

    Tugas yang dijadwalkan Amazon Elastic Container Service (Amazon ECS)

    Amazon ECS mendukung pembuatan tugas terjadwal. Tugas terjadwal menggunakan aturan Amazon EventBridge untuk menjalankan tugas entah sesuai jadwal atau untuk menanggapi peristiwa EventBridge.

    Penjadwal Instans

    Konfigurasikan jadwal mulai dan berhenti untuk instans Amazon EC2 dan Amazon Relational Database Service.

  • Jika Anda menggunakan mekanisme polling dan webhook dalam arsitektur Anda, maka gantilah dengan mekanisme peristiwa. Gunakan arsitektur berbasis peristiwa untuk membangun beban kerja yang sangat efisien.

  • Manfaatkan nirserver di AWS 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.

Sumber daya

Dokumen terkait:

Video terkait:

Contoh terkait: