Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengaktifkan persistensi data dalam layanan mikro
Tabby Ward dan Balaji Mohan, Amazon Web Services () AWS
Desember 2023 (riwayat dokumen)
Organizations terus mencari proses baru untuk menciptakan peluang pertumbuhan dan mengurangi waktu ke pasar. Anda dapat meningkatkan kelincahan dan efisiensi organisasi Anda dengan memodernisasi aplikasi, perangkat lunak, dan sistem TI Anda. Modernisasi juga membantu Anda memberikan layanan yang lebih cepat dan lebih baik kepada pelanggan Anda.
Modernisasi aplikasi adalah pintu gerbang menuju peningkatan berkelanjutan untuk organisasi Anda, dan dimulai dengan memfaktorkan ulang aplikasi monolitik ke dalam serangkaian layanan mikro yang dikembangkan, dikerahkan, dan dikelola secara independen. Proses ini memiliki langkah-langkah berikut:
-
Mengurai monolit menjadi layanan mikro — Gunakan pola untuk memecah aplikasi monolitik menjadi layanan mikro.
-
Integrasikan layanan mikro — Integrasikan layanan mikro yang baru dibuat ke dalam arsitektur layanan mikro dengan menggunakan layanan tanpa server Amazon Web Services (AWS)
. -
Aktifkan persistensi data untuk arsitektur layanan mikro — Promosikan persistensi polyglot di antara layanan mikro Anda dengan mendesentralisasi
penyimpanan data mereka.
Meskipun Anda dapat menggunakan arsitektur aplikasi monolitik untuk beberapa kasus penggunaan, fitur aplikasi modern sering tidak berfungsi dalam arsitektur monolitik. Misalnya, seluruh aplikasi tidak dapat tetap tersedia saat Anda memutakhirkan komponen individual, dan Anda tidak dapat menskalakan komponen individual untuk mengatasi kemacetan atau hotspot (wilayah yang relatif padat dalam data aplikasi Anda). Monolit dapat menjadi aplikasi yang besar dan tidak dapat dikelola, dan upaya dan koordinasi yang signifikan diperlukan di antara beberapa tim untuk memperkenalkan perubahan kecil.
Aplikasi lama biasanya menggunakan database monolitik terpusat, yang membuat perubahan skema menjadi sulit, menciptakan penguncian teknologi dengan penskalaan vertikal sebagai satu-satunya cara untuk merespons pertumbuhan, dan memaksakan satu titik kegagalan. Database monolitik juga mencegah Anda membangun komponen terdesentralisasi dan independen yang diperlukan untuk menerapkan arsitektur layanan mikro.
Sebelumnya, pendekatan arsitektur yang khas adalah memodelkan semua kebutuhan pengguna dalam satu database relasional yang digunakan oleh aplikasi monolitik. Pendekatan ini didukung oleh arsitektur basis data relasional yang populer, dan arsitek aplikasi biasanya merancang skema relasional pada tahap awal proses pengembangan, membangun skema yang sangat dinormalisasi, dan kemudian mengirimkannya ke tim pengembang. Namun, ini berarti bahwa database mendorong model data untuk kasus penggunaan aplikasi, bukan sebaliknya.
Dengan memilih untuk mendesentralisasi penyimpanan data Anda, Anda mempromosikan ketekunan polyglot di antara layanan mikro Anda, dan mengidentifikasi teknologi penyimpanan data Anda berdasarkan pola akses data dan persyaratan lain dari layanan mikro Anda. Setiap layanan mikro memiliki penyimpanan datanya sendiri dan dapat diskalakan secara independen dengan perubahan skema berdampak rendah, dan data terjaga keamanannya melalui API layanan mikro. Memecah database monolitik tidaklah mudah, dan salah satu tantangan terbesar adalah menyusun data Anda untuk mencapai kinerja terbaik. Persistensi polyglot yang terdesentralisasi juga biasanya menghasilkan konsistensi data akhirnya, dan tantangan potensial lainnya yang memerlukan evaluasi menyeluruh termasuk sinkronisasi data selama transaksi, integritas transaksional, duplikasi data, dan gabungan dan latensi.
Panduan ini untuk pemilik aplikasi, pemilik bisnis, arsitek, prospek teknis, dan manajer proyek. Panduan ini menyediakan enam pola berikut untuk memungkinkan persistensi data di antara layanan mikro Anda:
-
-
Untuk langkah-langkah menerapkan saga pola dengan menggunakanAWS Step Functions, lihat pola Implementasikan saga pola tanpa server dengan menggunakan AWS Step Functions di situs web AWS Prescriptive Guidance.
-
Panduan ini merupakan bagian dari seri konten yang mencakup pendekatan modernisasi aplikasi yang direkomendasikan oleh. AWS Serial ini juga mencakup:
Hasil bisnis yang ditargetkan
Banyak organisasi menemukan bahwa berinovasi dan meningkatkan pengalaman pengguna dipengaruhi secara negatif oleh aplikasi monolitik, database, dan teknologi. Aplikasi dan database lama mengurangi pilihan Anda untuk mengadopsi kerangka kerja teknologi modern, dan membatasi daya saing dan inovasi Anda. Namun, ketika Anda memodernisasi aplikasi dan penyimpanan data mereka, mereka menjadi lebih mudah untuk skala dan lebih cepat untuk dikembangkan. Strategi data yang dipisahkan meningkatkan toleransi kesalahan dan ketahanan, yang membantu mempercepat waktu untuk memasarkan fitur aplikasi baru Anda.
Anda harus mengharapkan enam hasil berikut dari mempromosikan ketekunan data di antara layanan mikro Anda:
-
Hapus database monolitik lama dari portofolio aplikasi Anda.
-
Tingkatkan toleransi kesalahan, ketahanan, dan ketersediaan untuk aplikasi Anda.
-
Mempersingkat waktu Anda untuk memasarkan fitur aplikasi baru.
-
Kurangi biaya lisensi dan biaya operasional Anda secara keseluruhan.
-
Manfaatkan solusi open-source (misalnya, MySQL atau PostgreSQL
). -
Buat aplikasi yang sangat skalabel dan terdistribusi dengan memilih dari lebih dari 15 mesin database yang dibuat khusus di Cloud
. AWS