Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menyeimbangkan otonomi dengan keselarasan
Arsitektur mikro-frontend sangat bias terhadap otonomi tim. Namun, penting untuk membedakan antara area yang dapat mendukung fleksibilitas dan beragam pendekatan untuk memecahkan masalah, dan area di mana standardisasi diperlukan untuk mencapai keselarasan. Pemimpin dan arsitek senior harus mengidentifikasi area ini sejak dini dan memprioritaskan investasi untuk menyeimbangkan keamanan, kinerja, keunggulan operasional, dan keandalan frontend mikro. Menemukan keseimbangan ini melibatkan hal-hal berikut: pembuatan mikro-frontend, pengujian, rilis, dan pencatatan, pemantauan, dan peringatan.
Membuat frontend mikro
Idealnya, semua tim sangat selaras untuk memaksimalkan manfaat dalam hal kinerja pengguna akhir. Dalam praktiknya, ini bisa sulit, dan mungkin membutuhkan lebih banyak usaha. Kami merekomendasikan memulai dengan beberapa pedoman tertulis yang dapat disumbangkan oleh banyak tim melalui debat terbuka dan transparan. Tim kemudian dapat secara bertahap mengadopsi pola perangkat lunak Cookiecutter, yang mendukung pembuatan alat yang menyediakan cara terpadu untuk perancah proyek.
Dengan menggunakan pendekatan ini, Anda dapat memanggang pendapat dan kendala. Kelemahannya adalah bahwa alat ini memerlukan investasi yang signifikan untuk pembuatan dan pemeliharaan, dan untuk memastikan bahwa pemblokir ditangani dengan cepat tanpa mempengaruhi produktivitas pengembang.
End-to-end pengujian untuk mikro-frontend
Pengujian unit dapat diserahkan kepada pemilik. Kami merekomendasikan untuk menerapkan strategi sejak dini untuk melakukan cross-test micro-frontend yang berjalan pada shell unik. Strategi ini mencakup kemampuan untuk menguji aplikasi sebelum dan sesudah rilis produksi. Kami merekomendasikan pengembangan proses dan dokumentasi untuk orang-orang teknis dan nonteknis untuk menguji fungsionalitas kritis secara manual.
Penting untuk memastikan bahwa perubahan tidak menurunkan pengalaman pelanggan fungsional atau nonfungsional. Strategi yang ideal adalah berinvestasi secara bertahap dalam pengujian otomatis, baik untuk fitur utama maupun untuk karakteristik arsitektur seperti keamanan dan kinerja.
Melepaskan mikro-frontend
Setiap tim mungkin memiliki caranya sendiri untuk menyebarkan kode mereka, membuat opini, dan memiliki infrastruktur. Biaya kompleksitas untuk memelihara sistem seperti itu biasanya merupakan pencegah. Sebagai gantinya, kami merekomendasikan investasi sejak dini untuk menerapkan strategi bersama yang dapat ditegakkan oleh alat bersama.
Kembangkan template dengan platform CI/CD pilihan. Tim kemudian dapat menggunakan templat yang telah disetujui sebelumnya dan infrastruktur bersama untuk merilis perubahan pada produksi. Anda dapat mulai berinvestasi dalam pekerjaan pengembangan ini lebih awal karena sistem ini jarang memerlukan pembaruan yang signifikan setelah periode awal pengujian dan konsolidasi.
Pencatatan log dan pemantauan
Setiap tim dapat memiliki metrik bisnis dan sistem yang berbeda yang ingin mereka lacak untuk tujuan operasional atau analitik. Pola perangkat lunak Cookiecutter dapat diterapkan di sini juga. Pengiriman acara dapat diabstraksikan dan tersedia sebagai pustaka yang dapat dikonsumsi oleh beberapa frontend mikro. Untuk menyeimbangkan fleksibilitas dan memberikan otonomi, kembangkan alat untuk mencatat metrik kustom dan membuat dasbor atau laporan khusus. Pelaporan mempromosikan kolaborasi erat dengan pemilik produk dan mengurangi umpan balik pelanggan akhir.
Dengan menstandarisasi pengiriman, beberapa tim dapat berkolaborasi untuk melacak metrik. Misalnya, situs web e-commerce dapat melacak perjalanan pengguna dari frontend mikro “Detail produk” ke frontend mikro “Keranjang”, ke frontend mikro “Pembelian” untuk mengukur keterlibatan, churn, dan masalah. Jika setiap micro-frontend mencatat peristiwa dengan menggunakan satu pustaka, Anda dapat menggunakan data ini secara keseluruhan, menjelajahinya secara holistik, dan mengidentifikasi tren yang berwawasan luas.
Peringatan
Mirip dengan penebangan dan pemantauan, mengingatkan manfaat dari standardisasi dengan ruang untuk tingkat fleksibilitas. Tim yang berbeda mungkin bereaksi berbeda terhadap peringatan fungsional dan non-fungsional. Namun, jika semua tim memiliki cara konsolidasi untuk memulai peringatan berdasarkan metrik yang dikumpulkan dan dianalisis pada platform bersama, bisnis dapat mengidentifikasi masalah lintas tim. Kemampuan ini berguna selama peristiwa manajemen insiden. Misalnya, peringatan dapat dimulai dengan yang berikut:
-
Peningkatan jumlah pengecualian JavaScript sisi klien pada versi browser tertentu
-
Waktu untuk membuat terdegradasi secara signifikan di atas ambang batas tertentu
-
Peningkatan jumlah kode status 5xx saat menggunakan API tertentu
Bergantung pada kematangan sistem Anda, Anda dapat menyeimbangkan upaya Anda di berbagai bagian infrastruktur Anda, seperti yang ditunjukkan pada tabel berikut.
Adopsi |
Penelitian dan pengembangan |
Pendakian |
Kedewasaan |
---|---|---|---|
Buat frontend mikro. |
Eksperimen, dokumentasikan, dan bagikan pembelajaran. |
Investasikan dalam perkakas untuk perancah mikro-frontend baru. Menginjili adopsi. |
Konsolidasikan perkakas untuk perancah. Dorong untuk adopsi. |
Uji mikro-frontend ujung ke ujung. |
Menerapkan mekanisme untuk menguji secara manual semua frontend mikro terkait. |
Investasikan dalam perkakas untuk pengujian keamanan dan kinerja otomatis. Selidiki bendera fitur dan penemuan layanan. |
Mengkonsolidasikan perkakas untuk penemuan layanan, pengujian dalam produksi, dan pengujian otomatis end-to-end. |
Lepaskan mikro-frontend. |
Investasikan dalam infrastruktur CI/CD bersama dan rilis multi-lingkungan otomatis. Menginjili adopsi. |
Konsolidasi perkakas untuk infrastruktur CI/CD Menerapkan mekanisme rollback manual. Dorong untuk adopsi. |
Buat mekanisme untuk memulai rollback otomatis di atas metrik dan peringatan sistem dan bisnis. |
Amati kinerja mikro-frontend. |
Berinvestasi dalam infrastruktur dan perpustakaan pemantauan bersama untuk pencatatan sistem dan acara bisnis yang konsisten. |
Konsolidasikan perkakas untuk pemantauan dan peringatan. Menerapkan dasbor lintas tim untuk memantau kesehatan umum dan meningkatkan manajemen insiden. |
Standarisasi skema penebangan. Optimalkan biaya. Menerapkan peringatan berdasarkan metrik bisnis yang kompleks. |