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

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.

Antipola umum:

  • Anda melakukan pengadaan sumber daya secara berlebihan di beban kerja cloud Anda untuk memenuhi lonjakan permintaan tidak terduga.

  • Arsitektur Anda tidak memisahkan pengirim dan penerima pesan asinkron dengan komponen pesan.

Manfaat menjalankan praktik terbaik ini:

  • Pola arsitektur dan perangkat lunak yang efisien meminimalkan sumber daya tidak terpakai di dalam beban kerja Anda dan meningkatkan keseluruhan efisiensi.

  • Anda dapat menskalakan pemrosesan tanpa terikat penerimaan pesan asinkron.

  • Melalui komponen pesan, 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 dijalankan: Sedang

Panduan implementasi

Gunakan pola arsitektur yang efisien seperti event-driven architecture (arsitektur berbasis peristiwa) yang menghasilkan bahkan pemanfaatan komponen dan meminimalkan pengadaan yang berlebihan dalam beban kerja Anda. Menggunakan pola arsitektur yang efisien meminimalkan sumber daya tidak aktif akibat kurangnya pemakaian yang disebabkan oleh perubahan permintaan seiring berjalannya waktu.

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

Langkah implementasi

  • Analisis permintaan untuk beban kerja Anda guna menentukan cara meresponsnya.

  • Untuk permintaan atau tugas yang tidak memerlukan respons sinkron, gunakan arsitektur berbasis antrean dan pekerja penskalaan otomatis untuk memaksimalkan pemanfaatan. Berikut ini adalah beberapa contoh kapan Anda mungkin perlu mempertimbangkan arsitektur berbasis antrean:

    Queuing mechanism Description

    Antrean tugas AWS Batch

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

    Amazon Simple Queue Service 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 dalam batch untuk mendapatkan efisiensi yang lebih tinggi. Berikut beberapa contoh mekanisme penjadwalan di AWS:

    Scheduling mechanism Description

    Penjadwal Amazon EventBridge

    Sebuah kemampuan dari Amazon EventBridge yang memungkinkan Anda untuk membuat, menjalankan, dan mengelola tugas terjadwal pada skala besar.

    Jadwal berbasis waktu AWS Glue

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

    Tugas terjadwal Amazon Elastic Container Service (Amazon ECS)

    Amazon ECS mendukung pembuatan tugas terjadwal. Tugas terjadwal menggunakan aturan Amazon EventBridge untuk menjalankan tugas baik secara terjadwal atau dalam rangka merespons peristiwa EventBridge.

    Penjadwal Instans

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

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

  • Manfaatkan nirserver di AWS untuk menyingkirkan infrastruktur yang disediakan secara berlebihan.

  • Sesuaikan ukuran setiap komponen arsitektur Anda untuk menghindari sumber daya yang tidak aktif karena menunggu input.

Sumber daya

Dokumen terkait:

Video terkait: