Monzo menggunakan platform berbasis mikros layanan yang luas, terdiri dari lebih dari 2800 layanan. Mereka sangat bergantung pada perencanaan dan otomatisasi guna mendorong migrasi kode secara besar-besaran. Untuk mendukung rollout yang bertahap dan rollback yang cepat jika ada masalah, Monzo memanfaatkan layanan konfigurasi. Menariknya, tim pusat yang mengelola migrasi, bukan tim pemilik layanan, menjaga agar proses ini tetap konsisten dan cepat.

Dengan banyaknya mikroservis yang dimiliki, Monzo menghadapi tantangan tersendiri ketika harus melakukan perubahan besar, seperti memperbarui versi pustaka agar tetap konsisten dan mutakhir. Untuk mengatasi hal ini, mereka memilih untuk memusatkan proses migrasi kode agar lebih cepat dan lebih terkoordinasi.

Tim yang bertanggung jawab atas migrasi menetapkan beberapa prinsip, seperti membuat migrasi transparan bagi pemilik layanan, menghindari downtime, melakukan rollout secara bertahap untuk mengurangi dampak, dan menerapkan aturan 80/20 untuk otomatisasi agar tidak terjebak dalam kasus-kasus yang tidak biasa. Mereka juga memilih untuk menyederhanakan tumpukan pengembangan, memilih Go sebagai bahasa pemrograman dan mengadopsi monorepo untuk menyimpan semua kode sumber.

ywAAAAAAQABAAACAUwAOw==

Menggunakan Pembungkus Pustaka untuk Beralih Antara Pustaka (Sumber: Blog Teknik Monzo)

Will Sewell, seorang insinyur platform di Monzo, membagikan pengalaman mereka saat meluncurkan pustaka baru, dengan mengambil contoh migrasi dari OpenTracing ke OpenTelemetry. Sebelum melakukan perubahan besar, tim migrasi biasanya akan mempresentasikan usulan di Slack atau dalam pertemuan tinjauan arsitektur untuk mendapatkan masukan dari tim teknik lainnya.

Mereka menggunakan kombinasi pembaruan kode otomatis dengan alat pengganti kode khusus bahasa dan pembaruan manual untuk kasus yang lebih kompleks. Ketika beralih antara pustaka eksternal, tim memastikan bahwa pembungkusnya diterapkan pada semua layanan terlebih dahulu. Setelah itu, mereka menggunakan layanan konfigurasi untuk beralih secara bertahap antara implementasi untuk kelompok pengguna tertentu atau persentase permintaan.



Source link

-42%
VC Art Undated Daily / Weekly / Monthly Planner Plan Chart Schedule Table Handwriting Table Planner -Perancangan Bulanan
Shopee.com.my
5.0
RM3.99 RM6.88
VC Art Undated Daily / Weekly / Monthly Planner Plan Chart Schedule Table Handwriting Table Planner -Perancangan Bulanan
-9%
Akta Perancangan Bandar Dan Desa 1976 (Akta 172) & Perintah (Hingga 5hb September 2022)
Shopee.com.my
5.0
RM20.48 RM22.51
Akta Perancangan Bandar Dan Desa 1976 (Akta 172) & Perintah (Hingga 5hb September 2022)
-30%
Fried Street Jacket Men's Spring Autumn Wear Design Sense Top Trendy 2022 ins Cargo Denim High-End Clothing炸街外套男春秋装设计感上衣潮2022年ins工装牛仔夹克高级感男装Jalan Frid mantel lelaki musim semi dan musim gugur perancangan pakaian perancangan fashion top 2022 dalam pakaian
Shopee.com.my
4.7
RM45.91 RM65.59
Fried Street Jacket Men's Spring Autumn Wear Design Sense Top Trendy 2022 ins Cargo Denim High-End Clothing炸街外套男春秋装设计感上衣潮2022年ins工装牛仔夹克高级感男装Jalan Frid mantel...
-28%
10Q Undated Daily / Weekly / Monthly Planner Plan Chart Schedule Table Handwriting Table Planner -Perancangan Bulanan
Shopee.com.my
5.0
RM4.95 RM6.88
10Q Undated Daily / Weekly / Monthly Planner Plan Chart Schedule Table Handwriting Table Planner -Perancangan Bulanan

Leave a Reply