View a markdown version of this page

SEC11-BP05 Pusatkan layanan untuk paket dan dependensi - AWS Well-Architected Framework

SEC11-BP05 Pusatkan layanan untuk paket dan dependensi

Berikan layanan terpusat agar tim builder dapat memperoleh paket perangkat lunak dan dependensi lainnya. Hal ini memungkinkan validasi paket sebelum paket disertakan dalam perangkat lunak yang Anda tulis, dan memberikan sumber data untuk analisis perangkat lunak yang digunakan dalam organisasi Anda.

Hasil yang diinginkan: Perangkat lunak yang terdiri dari sekumpulan paket perangkat lunak lainnya selain kode yang ditulis. Ini mempermudah untuk menggunakan implementasi fungsionalitas yang berulang kali digunakan, seperti pengurai JSON atau pustaka enkripsi. Memusatkan secara logis sumber untuk paket dan dependensi ini memberikan mekanisme bagi tim keamanan untuk memvalidasi karakteristik paket sebelum paket digunakan. Pendekatan ini juga menurunkan risiko masalah tidak terduga yang disebabkan oleh perubahan dalam paket yang ada, atau oleh tim builder, termasuk paket arbitrer langsung dari internet. Gunakan pendekatan ini sehubungan dengan alur pengujian manual dan otomatis untuk meningkatkan kredibilitas kualitas perangkat lunak yang dikembangkan.

Antipola umum:

  • Menarik paket dari repositori arbitrer di internet.

  • Tidak menguji paket baru sebelum menyediakannya kepada builder.

Manfaat menjalankan praktik terbaik ini:

  • Pemahaman lebih baik mengenai paket apa yang digunakan di perangkat lunak yang dibangun.

  • Dapat memberi tahu tim beban kerja saat paket perlu diperbarui berdasarkan pemahaman siapa yang menggunakan apa.

  • Menurunkan risiko penyertaan paket bermasalah di perangkat lunak Anda.

Tingkat risiko yang terjadi jika praktik terbaik ini tidak dijalankan: Sedang

Panduan implementasi

Sediakan layanan terpusat untuk paket dan dependensi dengan cara yang mudah digunakan bagi builder. Layanan terpusat dapat dipusatkan secara logis daripada diimplementasikan sebagai sistem monolitik. Pendekatan ini memungkinkan Anda menyediakan layanan dengan cara yang memenuhi kebutuhan builder Anda. Anda harus mengimplementasikan cara yang efisien untuk menambahkan paket ke repositori saat pembaruan terjadi atau persyaratan baru muncul. Layanan AWS seperti AWS CodeArtifact atau solusi partner AWS serupa menyediakan cara untuk mengirim kapabilitas ini.

Langkah Implementasi:

  • Implementasikan layanan repositori terpusat secara logis yang tersedia di semua lingkungan tempat perangkat lunak dikembangkan.

  • Sertakan akses ke repositori sebagai bagian dari proses vending Akun AWS.

  • Buat otomatisasi untuk menguji paket sebelum paket dipublikasikan ke repositori.

  • Pertahankan metrik paket yang paling sering digunakan, bahasa, dan tim dengan jumlah perubahan tertinggi.

  • Sediakan mekanisme otomatis untuk tim builder guna meminta paket baru dan memberikan umpan balik.

  • Pindai paket secara rutin di repositori Anda untuk mengidentifikasi potensi dampak masalah yang baru ditemukan.

Sumber daya

Praktik Terbaik Terkait:

Dokumen terkait:

Video terkait:

Contoh terkait: