Menskalakan Konten di Coinbase PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.

Menskalakan Konten di Coinbase


Menskalakan Konten di Coinbase PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.

Oleh Clay Kohut, Insinyur Perangkat Lunak Senior

TLDR: Selama setahun terakhir, Coinbase telah berinvestasi dalam peralatan untuk menghilangkan konten statis di seluruh frontend web kami. Ini adalah kisah tentang bagaimana kami melakukannya dan mengapa ini penting.

Coinbase Belajar(ed)

Portal pendidikan Coinbase, Coinbase Belajar, diluncurkan pada akhir 2020. Pelajari berisi ratusan panduan pemula, tutorial praktis, dan pembaruan pasar dan dikelola oleh tim editor konten yang berdedikasi.

Menskalakan Konten di Coinbase PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.

Teknisi kami menjelajahi berbagai opsi untuk menyalakan Learn. Idealnya, kami menginginkan solusi yang memungkinkan kami mengintegrasikan konten dengan mulus ke dalam pengalaman keluar Coinbase.

Opsi yang dihosting untuk konten seperti blog seperti Medium memberikan terlalu sedikit fleksibilitas.

Kerangka kerja WordPress juga dogmatis dan langsung terikat ke UI.

Kami akhirnya memilih a CMS tanpa kepala, Secara khusus Penuh konten. Puas adalah platform konten yang memberikan pendekatan tanpa kepala terhadap konten serta ekstensibilitas backend untuk diintegrasikan dengan alat dan cara kerja pilihan kami. Menjadi "tanpa kepala" berarti CMS adalah agnostik UI — ini memisahkan Konten dari pengalaman, cukup dengan menyediakan JSON terstruktur ke frontend, yang memungkinkan kami untuk sepenuhnya mengontrol pengalaman frontend.

Mengintegrasikan dengan Contentful hanyalah masalah membuat struktur data yang mewakili berbagai jenis konten (melalui Contentful UI) dan kemudian memetakan struktur data tersebut ke komponen React (yang benar-benar menangani rendering data)

Menskalakan Konten di Coinbase PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.
Arsitektur CMS awal kami

Mengenakan Flightsuit

Dengan Coinbase Belajar di bawah ikat pinggang kami dan Coinbase Penawaran Umum Langsung (DPO) di cakrawala, inisiatif kohesi dimulai (dianggap Proyek Flightsuit). Project Flightsuit berusaha menghadirkan tampilan dan nuansa yang kohesif di seluruh properti yang keluar dari Coinbase serta menegakkan standar desain di seluruh halaman arahan yang baru dibuat.

Saat menyelidiki keadaan halaman arahan produk Coinbase, kami menemukan 40 permukaan produk yang tersebar di 15 repositori / aplikasi frontend yang berbeda. Berbagai frontend dibangun menggunakan berbagai teknologi — mulai dari React with Typescript (standar kami saat ini) hingga template Ruby on Rails lama, hingga HTML statis.

Menskalakan Konten di Coinbase PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.
Mengintip dokumen ikhtisar "Arsitektur Halaman" kami

Memanfaatkan integrasi Contentful yang awalnya disiapkan untuk Coinbase Belajar, kami mulai membuat kumpulan "blok" yang dapat digunakan untuk menstandarkan tata letak laman landas (sambil menyelaraskan dengan pedoman merek baru kami).

“Blok,” juga dikenal sebagai tipe konten, adalah komponen tingkat tinggi yang digabungkan untuk membuat halaman arahan. Misalnya, blok "Hero" mungkin berisi "Judul", "Subjudul" dan "Tombol CTA" di CMS, yang sesuai dengan komponen React di frontend.

Menskalakan Konten di Coinbase PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.
Struktur data “Blok Pahlawan” (kiri) dan komponen React yang sesuai (kanan)

Dengan membuat "Sistem berbasis blok" yang bijaksana (dan mengerjakan ulang halaman arahan kami yang ada untuk menggunakan sistem ini), kami dapat memigrasikan hampir semua halaman arahan secara efisien ke satu aplikasi frontend, didukung oleh React, dan terintegrasi dengan Contentful.

Setelah sistem pemblokiran diterapkan, migrasi halaman menjadi tugas yang relatif sederhana dengan menyeret/menjatuhkan berbagai blok melalui Contentful UI, dan mengarahkan rute halaman lama ke alternatif baru yang digerakkan oleh CMS.

1, 2, Otomatiskan

Setelan Penerbangan Pasca-Proyek, tim kami berfokus pada peningkatan kegunaan dan ketahanan CMS. Beberapa pelajaran yang didapat:

  1. Membuat CMS mudah digunakan untuk anggota tim non-teknis sangat penting. Dengan pass pertama kami di halaman arahan CMS, kami telah membuat beberapa struktur data dengan fitur-fitur canggih (seperti pembuatan tata letak umum) yang sebagian besar hanya dipahami dan dapat diservis oleh Insinyur (sehingga mengalahkan nilai utama CMS). Kami membalas ini dengan mengutamakan pengalaman editor di atas segalanya. Dengan mengotomatiskan fitur-fitur canggih dalam Contentful sedapat mungkin (seperti secara otomatis menentukan tata letak mana yang paling sesuai dengan sekumpulan konten), kami dapat mengizinkan editor untuk fokus pada mengedit daripada bangunan.
  2. Dengan berintegrasi dengan Contentful (pihak ketiga), frontend kami menjadi bergantung pada waktu aktif Contentful. Puas memiliki sangat konsisten rekam jejak uptime hampir 100%, tetapi ketergantungan ini ditantang ketika Contentful mengalami dua pemadaman karena beberapa masalah DNS yang meluas. (Agar adil bagi Contentful, pemadaman ini juga dialami oleh beberapa situs web terbesar di dunia dan merupakan satu-satunya contoh yang kami lihat di mana Contentful tidak tersedia). Untuk memastikan ketersediaan halaman visibilitas kami yang lebih tinggi (seperti beranda kami), kami menentukan jalur terbaik ke depan adalah dengan memperkenalkan proxy API terbalik yang memanfaatkan tajuk basi-jika-kesalahan, agar CDN kami menyajikan konten yang di-cache jika panggilan upstream gagal. Ini memungkinkan kami untuk tetap terjaga meskipun CMS turun (selama X jumlah hari).
Menskalakan Konten di Coinbase PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.
Atas: Arsitektur CMS kami sebelum dan sesudah menambahkan proxy terbalik yang di-cache

3. Pelatihan tim teknik baru untuk bekerja dengan dan memperluas CMS adalah fokus utama. Tim saya telah menjadi satu-satunya sumber pengetahuan tentang sistem yang semakin banyak digunakan dan sering kali didatangkan ke teknisi baru ke sistem hanya sekali. Untuk menyebarkan pengetahuan tentang kerangka kerja dengan lebih baik, kami mengembangkan Program Duta CMS, yang bertujuan untuk melatih dan mempertemukan para ahli materi CMS di seluruh perusahaan. Program dimulai dengan lokakarya terstruktur selama 1.5 jam di mana peserta mempelajari seluk beluk integrasi dengan CMS. Sementara program ini saat ini didorong secara real-time dan sesi orientasi diadakan sesuai kebutuhan, kami sedang dalam proses mengubahnya menjadi kursus swalayan melalui alat pelatihan internal.

Menskalakan Konten di Coinbase PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.
Cuplikan lokakarya Duta CMS internal kami

Hasil Utama

Menjelang akhir tahun 2021, kami bangga melihat kembali seberapa jauh kami telah melangkah selama setahun terakhir. Berikut adalah kemajuan yang kami lihat setelah berhasil menerapkan CMS di seluruh perusahaan kami:

  • Waktu pembuatan halaman arahan berkurang dari rata-rata 2 minggu menjadi kurang dari satu hari.
  • Waktu penyelesaian perubahan konten berkurang dari proses selama satu jam perubahan kode/tinjau/gabungkan/deploy di bawah 10 menit, dan tanpa keterlibatan rekayasa.
  • Pada akhir tahun, 90% dari semua permukaan tingkat atas akan tertutup. Ini berarti bahwa hampir semua permukaan produk tingkat atas yang logout di Coinbase akan didukung melalui Contentful pada akhir tahun.

Peningkatan efisiensi ini telah dicapai sebagian besar berkat investasi kepemimpinan kami dalam perangkat infra dan pengembang. Coinbase benar-benar peduli dengan keunggulan teknik, pengalaman pengembang, dan otomatisasi proses rutin.

Kami juga tidak dapat mencapai ini tanpa kerja keras dari beberapa individu yang luar biasa bijaksana dan berbakat (masing-masing dari mereka saya sangat bangga bekerja dengannya):

  • Leon Haggarty, Askat Bakyev, João Melo, Stephen Lee, Wilhelm Willie, Bryant Gallardo, Guiherme Luersen, Raymond Sohn, Leonardo Zizzamia, Christopher Nascone (Eng)
  • Bobby Rasmusson, Russ Ballard (Produk)
  • Ananth Chandrasekharan, Goutham Buchi, Manish Gupta (EVP dari Eng)

Kami semua bersemangat untuk memasuki tahun 2022 dengan tampilan depan yang mengkilap, terpadu, dan permintaan perubahan konten satu kali yang minimal di cakrawala. Jika Anda tertarik untuk bergabung dengan Coinbase, lihat halaman Karir kami di sini. Ini untuk tahun baru yang bahagia!

Menskalakan Konten di Coinbase PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.


Menskalakan Konten di Coinbase awalnya diterbitkan di Blog Coinbase on Medium, di mana orang-orang melanjutkan pembicaraan dengan menyoroti dan merespons cerita ini.

Source: https://blog.coinbase.com/scaling-content-at-coinbase-df75ff3208d4?source=rss—-c114225aeaf7—4

Stempel Waktu:

Lebih dari Coinbase