Membangun arsitektur heksagonalAWS - AWS Bimbingan Preskriptif

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Membangun arsitektur heksagonalAWS

Furkan Oruc, Dominik Goby, Darius Kunce, dan Michal Ploski, Amazon Web Services (AWS)

Juni 2022 (riwayat dokumen)

Panduan ini menjelaskan model mental dan kumpulan pola untuk mengembangkan arsitektur perangkat lunak. Arsitektur ini mudah dipelihara, diperluas, dan diskalakan di seluruh organisasi seiring pertumbuhan adopsi produk. Hyperscaler cloud seperti Amazon Web Services (AWS) menyediakan blok bangunan bagi perusahaan kecil dan besar untuk berinovasi dan membuat produk perangkat lunak baru. Laju cepat dari layanan dan perkenalan fitur baru ini membuat para pemangku kepentingan bisnis mengharapkan tim pengembangan mereka untuk membuat prototipe produk baru yang layak minimum (MVP) lebih cepat, sehingga ide-ide baru dapat diuji dan diverifikasi sesegera mungkin. Seringkali, MVP tersebut diadopsi dan menjadi bagian dari ekosistem perangkat lunak perusahaan. Dalam proses memproduksi MVP ini, tim terkadang meninggalkan aturan pengembangan perangkat lunak dan praktik terbaik, seperti prinsip SOLID dan pengujian unit. Mereka berasumsi bahwa pendekatan ini akan mempercepat pengembangan dan mengurangi waktu ke pasar. Namun, jika mereka gagal membuat model dasar dan kerangka kerja untuk arsitektur perangkat lunak di semua tingkatan, akan sulit atau bahkan tidak mungkin untuk mengembangkan fitur baru untuk produk tersebut. Kurangnya kepastian dan perubahan persyaratan juga dapat memperlambat tim selama proses pengembangan.

Panduan ini berjalan melalui arsitektur perangkat lunak yang diusulkan, dari arsitektur heksagonal tingkat rendah hingga dekomposisi arsitektur dan organisasi tingkat tinggi, yang menggunakan desain berbasis domain (DDD) untuk mengatasi tantangan ini. DDD membantu mengelola kompleksitas bisnis dan skala tim teknik sebagai fitur baru yang dikembangkan. Ini menyelaraskan pemangku kepentingan bisnis dan teknis dengan masalah bisnis, yang disebut domain, dengan menggunakan bahasa di mana-mana. Arsitektur heksagonal adalah enabler teknis dari pendekatan ini dalam domain yang sangat spesifik, yang disebut konteks terbatas. Konteks terbatas adalah sub-area masalah bisnis yang sangat kohesif dan longgar digabungkan. Kami menyarankan Anda mengadopsi arsitektur heksagonal untuk semua proyek perangkat lunak perusahaan Anda terlepas dari kompleksitasnya.

Arsitektur heksagonal mendorong tim teknik untuk memecahkan masalah bisnis terlebih dahulu, sedangkan arsitektur berlapis klasik menggeser fokus teknik jauh dari domain untuk memecahkan masalah teknis terlebih dahulu. Selain itu, jika perangkat lunak mengikuti arsitektur heksagonal, lebih mudah untuk mengadopsi pendekatan pengembangan berbasis pengujian, yang mengurangi loop umpan balik yang dibutuhkan pengembang untuk menguji persyaratan bisnis. Terakhir, menggunakan perintah dan penangan perintah adalah cara untuk menerapkan tanggung jawab tunggal dan prinsip-prinsip terbuka-tertutup dari SOLID. Mengikuti prinsip-prinsip ini menghasilkan basis kode yang pengembang dan arsitek bekerja pada proyek dapat dengan mudah menavigasi dan memahami, dan mengurangi risiko memperkenalkan perubahan melanggar fungsi yang ada.

Panduan ini ditujukan untuk arsitek perangkat lunak dan pengembang yang tertarik untuk memahami manfaat mengadopsi arsitektur heksagonal dan DDD untuk proyek pengembangan perangkat lunak mereka. Ini termasuk contoh merancang infrastruktur untuk aplikasi AndaAWS yang mendukung arsitektur heksagonal. Untuk contoh implementasi, lihat Menyusun proyek Python dalam arsitektur heksagonal yang digunakanAWS Lambda di situs web AWS Prescriptive Guidance.