[Bagian 3 dari Proyek Platform Seribu Talenta] Setelah keputusan bisnis dan inovasi teknik menyebabkan lonjakan kinerja belanja online selama seminggu, kami fokus pada optimalisasi pengalaman pengembang dan kembali menggunakan SRE.

Untuk meluncurkan fitur baru beberapa minggu sebelum minggu belanja online, bagaimana memastikan bahwa fitur baru tersebut dapat bertahan di tengah keramaian Black Friday dan menjaga kepercayaan pelanggan terhadap situs web? Zalando mengambil pendekatan yang berani pada tahun itu, menciptakan kembali banyaknya belanja online berminggu-minggu sebelumnya dalam lingkungan formal pada hari kerja untuk menguji fitur-fitur baru.
Setelah pengembangan teknologi Zalando memasuki tahap matang, pengambilan keputusan teknis tidak lagi memiliki kebebasan yang sama seperti ketika Radical Agile pertama kali diluncurkan. Sebaliknya, pengambilan keputusan teknis dipimpin oleh komunitas teknik senior (Tech Radar). dikembangkan untuk membantu ratusan tim dalam membuat keputusan teknis. Semua tim wajib mengacu pada daftar rekomendasi teknologi bersama ini sebagai acuan dalam memilih teknologi untuk proyek baru. Mereka tidak perlu melakukan evaluasi teknis dari awal setiap kali proyek baru diluncurkan, tetapi langsung mengacu pada daftar rekomendasi untuk seleksi. Karena setiap tim mengacu pada bagan radar teknologi yang sama untuk dipilih, Zalando dapat memastikan bahwa teknologi yang digunakan dalam proyek berbeda berada dalam cakupan daftar teknologi bersama ini untuk mencapai fokus teknologi di seluruh perusahaan. / Perkembangan teknologi Zalando telah memasuki tahap matang, mengandalkan radar teknologi untuk fokus pada keputusan teknis ratusan tim. Dari tahun 2009 hingga 2019, sisi organisasi Zalando telah mengalami banyak perubahan, dan sisi teknisnya juga berkembang dalam skala yang sangat besar. arsitektur layanan mikro yang terdesentralisasi. Berdasarkan angka yang diungkap Zalando pada Berlin DevOpsCon 2022, jumlah layanan mikro pada tahun 2019 sebanyak empat hingga lima ribu. Saat ini, perkembangan teknologi Zalando telah memasuki tahap matang, pengambilan keputusan teknis tidak lagi sebebas ketika Radical Agile pertama kali diluncurkan dikembangkan untuk membantu 2 Ratusan tim membuat keputusan teknis. Desain bagan radar teknologi ini didasarkan pada praktik perusahaan konsultan ThoughtWorks, namun dikembangkan menjadi versi eksklusif milik Zalando. Perusahaan konsultan ini memiliki hampir seratus istilah teknis yang mencakup empat kategori: teknologi, alat, platform, kerangka kerja, dan bahasa. Istilah-istilah tersebut dibagi menjadi empat tingkatan sesuai dengan tingkat adopsi yang direkomendasikan dan disusun pada bagan radar melingkar yang dibagi menjadi empat kuadran. Dalam bagan radar teknologi ini, tingkat adopsi yang direkomendasikan untuk berbagai jenis teknologi dicantumkan. Cincin yang berbeda digunakan untuk mewakili tingkat rekomendasi yang berbeda. Semakin dekat cincin tersebut ke inti, semakin tinggi tingkat rekomendasi teknologi ini. Zalando memperhitungkan kebutuhannya dan akhirnya fokus pada teknologi terkait pengembangan perangkat lunak, termasuk empat kategori utama: penyimpanan data, manajemen data, infrastruktur, dan bahasa pengembangan. Tingkat adopsi yang direkomendasikan dibagi menjadi empat tingkat, membentuk empat lingkaran, masing-masing lingkaran mewakili tingkat rekomendasi yang berbeda. Keempat level tersebut antara lain: Adopsi (disarankan untuk diadopsi), Trial (disarankan untuk dicoba), Assess (tahap evaluasi), dan Hold (dicadangkan tetapi tidak direkomendasikan). Teknologi uji coba yang direkomendasikan mengacu pada teknologi yang telah memiliki proyek internal yang sukses dan setidaknya digunakan untuk menangani masalah nyata daripada situasi simulasi. Teknologi tersebut juga mementingkan adopsi yang luas dan merupakan teknologi yang bersedia diinvestasikan oleh para eksekutif senior untuk jangka panjang tingkat. Teknologi yang tercantum dalam tahap evaluasi mengacu pada sekelompok teknologi yang memiliki nilai potensial yang jelas dan layak untuk diinvestasikan. Dengan menganalisis data rencana uji coba di semua produk secara otomatis, kita dapat mengetahui teknologi yang telah diuji dan layak untuk diikutsertakan dalam tahap uji coba Teknologi. . Kategori level cadangan yang terakhir adalah teknologi yang tidak direkomendasikan tetapi akan terus dipertahankan. Selain tidak tersedia untuk proyek baru, juga tidak disarankan untuk digunakan untuk layanan promosi menyempit. Setiap teknologi juga akan disertai dengan dokumen deskripsi teknis, yang mencantumkan kelebihan, kekurangan, keterbatasan, kondisi penggunaan dan pembelajaran setelah menggunakan teknologi tersebut, dan semua dokumen teknis disusun menjadi basis pengetahuan teknis. Zalando juga telah menyusun templat dan pedoman untuk penerapan teknologi yang direkomendasikan ini pada bagan radar teknologi. Panduan tersebut akan memberikan deskripsi pertanyaan umum saat menggunakannya, atau kasus penggunaan dari tim yang telah mengadopsinya, atau bahkan perbandingan antara berbagai teknologi alternatif. .

Sesekali, untuk menyesuaikan tingkat rekomendasi teknologi, chief engineer akan mengumpulkan data penggunaan sebenarnya dari setiap teknologi pada radar teknologi yang ada, termasuk volume penggunaan, catatan insiden, dan pengalaman adopsi (misalnya, sudah berapa tahun teknologi ini digunakan). teknologi telah diperkenalkan di Zalando? ), dan kemudian melakukan penilaian. Chief engineer pemeliharaan yang ditunjuk pertama-tama akan membuat spreadsheet skor teknologi baru, dan kemudian membukanya kepada komunitas chief engineer untuk memberikan suara guna memutuskan apakah akan "meningkatkan" atau "menurunkan"

Zalando mengharuskan setiap tim untuk merujuk pada daftar teknologi bersama ini sebagai referensi untuk memilih teknologi untuk proyek baru. Tidak perlu melakukan evaluasi teknis dari awal setiap kali proyek baru diluncurkan. Insinyur langsung merujuk pada daftar rekomendasi untuk seleksi. Karena setiap tim mengacu pada bagan radar teknologi yang sama untuk dipilih, Zalando dapat memastikan bahwa teknologi yang digunakan dalam proyek berbeda berada dalam cakupan daftar teknologi bersama ini untuk mencapai fokus arahan teknis.

Zalando mengganti nama departemen infrastruktur digital asli menjadi departemen konstruksi (Build) dan terus bertanggung jawab untuk membangun dan meningkatkan platform pengembang untuk secara khusus melayani pengembang. Departemen konstruksi mulai mempelajari perjalanan pelanggan pengembang, yaitu perjalanan kerja sehari-hari pengembang, dan menemukan bahwa platform pengembangan yang digunakan oleh pengembang cukup tersebar.Setiap tim berkomunikasi dengan anggotanya dengan caranya sendiri, dan terdapat kekurangan. pengetahuan umum di seluruh perusahaan.Bahasa komunikasi.

Selesaikan masalah fragmentasi proses pengembang dan buat situs web portal pengembang

Untuk mengatasi masalah alur kerja pengembang yang terfragmentasi, departemen konstruksi membuat portal pengembang Sunrise (Sunrise Platform) sebagai situs web pertama yang dibuka pengembang setiap hari saat mereka berangkat kerja. Pengguna platform ini termasuk insinyur perangkat lunak, insinyur data, direktur teknis, ilmuwan data, manajer proyek, desainer, dll.

Berdasarkan proyek platform manajemen ML sumber terbuka Spotify, Backstage, departemen konstruksi mengintegrasikan banyak alat teknis internal Zalando, komponen pengembangan, templat implementasi, dan dokumen teknis untuk merancang platform pengembang layanan mandiri khusus internal (Platform Pengembang Internal), operasi antarmukanya semulus platform kolaborasi tingkat perusahaan komersial, dan detail desain UX ditekankan untuk memandu pengembang untuk memulai. Bahkan pengembang dapat langsung melihat data pemantauan umum dari AP yang bertanggung jawab di platform Sunrise.

Halaman pertama yang dilihat pengembang saat membuka Platform Sunrise mengumpulkan semua poin informasi yang umum mereka gunakan dalam satu malam ini, memungkinkan mereka dengan mudah mencari aplikasi spesifik yang menjadi tanggung jawab mereka dan API yang umum digunakan, dan dengan cepat melihat Siapa pemilik khusus dari Platform Sunrise. setiap aplikasi atau API? Jika diperlukan, Anda bisa langsung mengirimkan tiket di halaman ini untuk mencari bantuan, daripada harus mendaftar melalui sistem lain seperti dulu. Halaman beranda Platform Sunrise juga mengintegrasikan semua informasi kejadian dari AP yang menjadi tanggung jawab semua pengembang, serta berlangganan dokumen referensi.

Insinyur atau pengguna lain dapat memeriksa kemajuan atau status setiap tahapan siklus hidup produk, memantaunya secara real time, dan berkolaborasi dengan tim dan individu lain untuk memecahkan masalah dalam proses CI/CD. Anggota tim Zalando bahkan dapat melakukan bootstrap dan menerapkan aplikasi baru menggunakan Sunrise.

Untuk menciptakan platform pengembang internal yang nyaman dan mudah digunakan, Zalando telah membagikan beberapa kunci secara publik.

Misalnya, mereka secara langsung memodifikasi kode sumber K8 untuk menyelesaikan masalah, mengubah K8 menjadi sistem yang dapat mereka kendalikan untuk mengembangkan platform cloud native mereka sendiri. Misalnya, platform Sunrise menggunakan fungsi enkapsulasi kubectl yang dikembangkan sendiri dan disesuaikan.

Ketika keadaan darurat terjadi dan Anda perlu segera membuat cluster k8s akses sementara, fungsi enkapsulasi ini bisa berguna. Anda tidak perlu mengikuti fungsi enkapsulasi standar asli, yang selanjutnya mempersingkat banyak waktu penerapan. Kunci lainnya adalah Zalando juga mendigitalkan “pengalaman pengembangan”, yang berarti mengukur efektivitas platform pengembangan terhadap pengalaman dan produktivitas pengembang.

Zalando mengacu pada rekomendasi buku "Accelerate: The Science of Lean Software and DevOps" (nama versi China Taiwan adalah "The Science Behind Lean Software & DevOps") untuk mendefinisikan empat indikator matriks kinerja pengembang.

Ini mencakup waktu tunggu, frekuensi rilis, waktu pemulihan rata-rata (Waktu untuk Memulihkan Layanan), dan tingkat kegagalan perubahan (Ubah Tingkat Kegagalan).Inilah empat indikator yang digunakan dalam konsep indikator kinerja DevOps DORA yang terkenal.

Namun metode spesifik Zalando dalam mengukur keempat indikator tersebut sedikit berbeda, waktu persiapannya mulai dari komitmen hingga peluncuran resmi lingkungan hidup. Frekuensi rilis: jumlah penerapan per pengembang per minggu. Waktu pemulihan rata-rata dihitung sejak kejadian terjadi hingga layanan dipulihkan (bukan sejak layanan terhenti). Tingkat kegagalan perubahan terakhir dihitung berdasarkan berapa banyak kegagalan yang terjadi di seluruh waktu penerapan.

Manfaat terbesar dari platform pengembang Sunrise adalah menjaga semua pengembang pada jalur yang sama. Selain itu, juga dapat memenuhi kebutuhan berbagai divisi kerja organisasi di departemen asinkron untuk memberikan fleksibilitas. Terakhir, platform tunggal ini juga mengintegrasikan desain Zalando.Bagan radar teknis dan semua referensi pengalaman praktik teknis, dokumentasi pengujian tim verifikasi, dan bahkan templat terkait praktik dan proses yang matang. Hal ini dapat difokuskan melalui satu platform, dan disarankan agar tim pengembangan menggunakan teknologi yang ingin mereka tambahkan.

Tujuan desain situs web Zalando Sunrise adalah untuk "membuat pengembang bahagia dan produktif!" Ini memberikan pengalaman pengembang terbaik dan mengurangi beban kognitif tim teknis dan tim pengembangan sebanyak mungkin untuk meningkatkan kecepatan pengembangan dan produktivitas. Ini adalah pertama kalinya Zalando mengungkapkan proses pengembangan Platform Sunrise pada Konferensi Rekayasa Platform tahun lalu.Henning Jacobs, chief engineer senior Zalando, menekankan hal ini.

Untuk mengatasi masalah alur kerja pengembang yang terfragmentasi, departemen konstruksi Zalando membuat portal pengembang Sunrise (Sunrise Platform) sebagai situs web pertama yang dibuka pengembang setiap hari saat mereka berangkat kerja. /Zalando

[Bagian 3 dari Proyek Platform Seribu Talenta] Setelah keputusan bisnis dan inovasi teknik menyebabkan lonjakan kinerja belanja online selama seminggu, kami fokus pada optimalisasi pengalaman pengembang dan kembali menggunakan SRE.

Sunrise (Sunrise Platform) menggunakan proyek platform manajemen ML sumber terbuka Spotify, Backstage, sebagai basisnya, mengintegrasikan banyak alat teknis internal Zalando, komponen pengembangan, templat implementasi, dan dokumen teknis untuk merancang platform pengembang layanan mandiri khusus internal (Platform Pengembang Internal). Pengembang Zalando dapat menggunakan platform Sunrise untuk memperoleh informasi tentang berbagai alat dan layanan yang dibuat oleh berbagai departemen dan tim produk di seluruh perusahaan, serta mendapatkan semua layanan dukungan dalam satu tempat. /Zalando

 

Pengembang Zalando dapat dengan cepat meninjau dan mengelola kemajuan proyek produk yang menjadi tanggung jawab mereka di platform Sunrise. /Zalando

Secara aktif merangkul kembali SRE dan bahkan mendirikan departemen SRE khusus

Di sisi lain, seperti yang telah disebutkan sebelumnya ketika berbicara tentang Pekan Belanja Online, Zalando kembali membentuk tim pendukung SRE. Pada tahun 2019, langsung membentuk departemen SRE khusus. Departemen ini mencakup tim pencatatan log, tim matriks pelacakan, dan insiden. tim respons, dan pembinaan startup. Komposisi tim memungkinkan kelompok orang ini fokus pada visi dan tujuan yang sama melalui serangkaian KPI yang sama.

Andrew Howden menunjukkan: "Tujuan departemen SRE adalah untuk menetapkan serangkaian model operasi pemeliharaan bisnis utama, dengan fokus pada pengalaman pelanggan dan menyelesaikan masalah penyelarasan lintas departemen." Dia telah terlibat dalam proses pengembangan SRE Zalando selama empat tahun terakhir. bertahun-tahun.

Pemeliharaan bisnis utama adalah tujuan tingkat layanan (SLO) yang berfokus pada pengalaman pelanggan. Dengan mengukur interaksi antara pelanggan dan situs web, perspektif pengembang, manajer, dan pelanggan dapat diintegrasikan ke dalam kumpulan data yang sama, dan data ini dapat digunakan untuk Meningkatkan keandalan.

Bentuk tim SRE tertanam untuk memecahkan masalah pemeliharaan dan pengoperasian tertentu

Memiliki departemen SRE khusus saja tidak cukup. Zalando juga telah membentuk tim SRE baru yang disebut Embedded SRE untuk memecahkan tantangan khusus dalam proses checkout. Misalnya, beberapa pembeli gila tiba-tiba menargetkan produk tertentu untuk penjualan besar, menyebabkan beberapa masalah sistem. Jenis masalah proses checkout ini melibatkan komunikasi dan kolaborasi antara lebih dari selusin aplikasi, 4 atau 5 departemen, dan ratusan insinyur. Andrew Howden adalah pemimpin tim ini dan memimpin 2 insinyur.

Andrew Howden pertama kali menganalisis dampak sistem produk terkait di balik berbagai pengecualian pembayaran dan menemukan solusi satu per satu. Dia telah menangani masalah seperti sejumlah besar permintaan yang membebani sistem dan gagal merespons, yang menyebabkan perangkat lunak manajemen cluster memulai ulang secara otomatis, namun menyebabkan seluruh sistem dimatikan.

Karena sistem checkout adalah arsitektur layanan mikro terdistribusi berskala besar, sistem ini awalnya dirancang dalam mode pemutus sirkuit untuk menghindari terus-menerus memanggil layanan gagal yang sama. Namun, karena desain pemutus sirkuit terlalu sensitif, ketika sistem gagal, maka sistem tersebut akan mengalami kegagalan. mulai mempengaruhi Penilaian tingkat kesalahan pemutus sirkuit di sistem lain akan berdampak secara bertahap.

Atau masalah lainnya adalah untuk menjamin keandalan, sistem checkout telah merancang banyak mekanisme perluasan otomatis.Setelah ditemukan bahwa kecepatan respons permintaan checkout pelanggan melambat, maka secara otomatis akan meluas.Namun, hal ini menyebabkan peningkatan tajam dalam biaya cloud. Belakangan diketahui bahwa Sejumlah kecil pelanggan menghasilkan sejumlah besar permintaan karena perilaku belanja mereka, menyebabkan sekelompok kecil orang ini merespons dengan lambat. Tidak semua pelanggan memiliki masalah yang sama. Selama setiap pelanggan adalah didefinisikan menurut standar yang dapat mencakup 99.9% pelanggan umum.Batas atas jumlah permintaan untuk satu pelanggan dapat mengurangi dampak perilaku gila pelanggan tertentu pada mekanisme perluasan otomatis.

Integrasikan pengalaman dalam memecahkan masalah pemeliharaan ke dalam pemeliharaan sehari-hari

Karena biasanya hanya membutuhkan waktu 3 minggu untuk menyelesaikan suatu masalah, namun dibutuhkan waktu 3 bulan untuk mentransfer pengalaman menangani masalah abnormal ini ke tim platform dan berbagai tim penanggung jawab produk yang terlibat. Tantangan terakhir dalam menanamkan tim SRE adalah bagaimana mengubah pengalaman menyelesaikan masalah pemeliharaan ini menjadi bagian dari pemeliharaan harian.

Zalando mengadakan pertemuan tinjauan operasional mingguan (WORMs) setiap minggunya.Komunitas chief engineer menggunakan pertemuan ini untuk meninjau laporan pasca-analisis dan meninjau berbagai masalah pemeliharaan. Namun, kualitas laporan analisis ini sangat bervariasi, dan para insinyur menghabiskan banyak upaya untuk mempersiapkan dokumen-dokumen ini.

Memasukkan tim SRE membantu mengotomatiskan proses produksi laporan analisis tersebut, dan bahkan menambahkan saran penyesuaian terkait praktik SRE. Laporan dapat dikirim secara otomatis ke tim ini, dan laporan juga dapat secara otomatis dikirim ke tim manajemen teknik untuk ditinjau mingguan .

Pada pertengahan tahun 2023, tim SRE yang tertanam menyelesaikan masalah yang awalnya ditetapkan untuk diselesaikan dan mengakhiri tugas tim ini.Andrew Howden juga mengakhiri perjalanannya di Zalando pada bulan Agustus dan beralih menjadi konsultan yang memberikan pelatihan SRE.

Namun, rekayasa platform Zalando tidak menghentikan laju perubahan dan masih terus berkembang.

Nilai artikelnya
Tampilkan kode verifikasi
👩🏻‍🦱客服">