Coinbase PlatoBlockchain Veri Zekasında İçeriği Ölçeklendirme. Dikey Arama. Ai.

Coinbase'de İçeriği Ölçeklendirme


Coinbase PlatoBlockchain Veri Zekasında İçeriği Ölçeklendirme. Dikey Arama. Ai.

Yazan: Clay Kohut, Kıdemli Yazılım Mühendisi

TLDR: Geçen yıl Coinbase, web arayüzümüzdeki statik içeriği ortadan kaldırmak için araçlara yatırım yaptı. Bu, bunu nasıl yaptığımızın ve bunun neden önemli olduğunun hikayesidir.

Coinbase Learn(ed)

Coinbase eğitim portalı, Coinbase Öğren, 2020'nin sonlarında kullanıma sunuldu. Bilgi şunları içerir: yüzlerce Yeni başlayanlara yönelik kılavuzlar, pratik eğitimler ve pazar güncellemelerinden oluşan bu site, içerik editörlerinden oluşan özel bir ekip tarafından yönetilmektedir.

Coinbase PlatoBlockchain Veri Zekasında İçeriği Ölçeklendirme. Dikey Arama. Ai.

Mühendislerimiz Learn'ü güçlendirmek için çeşitli seçenekleri araştırdı. İdeal olarak, içeriği Coinbase'den çıkış yapma deneyimine sorunsuz bir şekilde entegre etmemizi sağlayacak bir çözüm istiyorduk.

Medium gibi blog benzeri içeriklere yönelik barındırılan seçenekler çok az esneklik sağlıyordu.

WordPress çerçevesi de öyleydi görüşlü ve doğrudan kullanıcı arayüzüne bağlı.

Sonunda bir seçim yaptık başsız CMS, özellikle Contentful. İçerikli bir içerik platformu Bu, tercih ettiğimiz araçlar ve çalışma yöntemlerimizle entegre olmak için arka uç genişletilebilirliğinin yanı sıra içeriğe yönelik kafasız bir yaklaşım sunar. "Başsız" olmak, CMS'nin kullanıcı arayüzünden bağımsız olduğu anlamına gelir; içerik deneyimden, ön uç için yapılandırılmış JSON'u sağlamak, ön uç deneyimini tamamen kontrol etmemize olanak tanır.

Contentful ile entegrasyon, farklı içerik türlerini temsil eden veri yapıları oluşturmak (Contentful UI aracılığıyla) ve ardından bu veri yapılarını React bileşenleriyle eşleştirmek (verilerin gerçekte oluşturulmasını sağlayan) meselesiydi.

Coinbase PlatoBlockchain Veri Zekasında İçeriği Ölçeklendirme. Dikey Arama. Ai.
İlk CMS mimarimiz

Uçuş Elbisesini Giymek

Coinbase Learn ile kemerimizin altında ve Coinbase'de Doğrudan Halka Arz (DPO) ufukta bir uyum girişimi başladı (varsayılan Uçuş Elbisesi Projesi). Project Flightsuit, Coinbase'den çıkış yapılan mülklere uyumlu bir görünüm ve his kazandırmanın yanı sıra yeni oluşturulan açılış sayfalarında tasarım standartlarını uygulamaya çalıştı.

Coinbase ürün açılış sayfalarının durumunu araştırırken 40 farklı depo/ön uç uygulamasına yayılmış 15 ürün yüzeyini ortaya çıkardık. Çeşitli ön uçlar, React with Typescript'ten (mevcut standardımız), eski Ruby on Rails şablonlarına ve statik HTML'ye kadar çeşitli teknolojiler kullanılarak oluşturuldu.

Coinbase PlatoBlockchain Veri Zekasında İçeriği Ölçeklendirme. Dikey Arama. Ai.
“Sayfa Mimarisi” genel bakış belgemize bir bakış

Başlangıçta kurulan Contentful entegrasyonundan yararlanma Coinbase Öğren, açılış sayfası düzenlerini standartlaştırmak için kullanılabilecek bir dizi "blok" oluşturmaya başladık (yeni marka yönergelerimize uyum sağlarken).

İçerik türleri olarak da bilinen "Bloklar", açılış sayfaları oluşturmak için bir araya gelen üst düzey bileşenlerdir. Örneğin, bir "Hero" bloğu, CMS'de ön uçtaki bir React bileşenine karşılık gelen bir "Başlık", "Altyazı" ve "CTA Düğmesi" içerebilir.

Coinbase PlatoBlockchain Veri Zekasında İçeriği Ölçeklendirme. Dikey Arama. Ai.
Bir “Hero Block” veri yapısı (solda) ve karşılık gelen React bileşeni (sağda)

Düşünceli bir "Blok tabanlı sistem" oluşturarak (ve mevcut açılış sayfalarımızı bu sistemi kullanacak şekilde yeniden çalışarak), neredeyse tüm açılış sayfalarını, React tarafından desteklenen ve Contentful ile entegre edilmiş tek bir ön uç uygulamasına verimli bir şekilde taşımayı başardık.

Blok sistemi uygulamaya konduktan sonra sayfaları taşımak, İçerikli Kullanıcı Arayüzü aracılığıyla çeşitli blokları sürükleyip bırakmak ve eski sayfa rotalarını yeni, CMS odaklı alternatife yönlendirmek gibi nispeten basit bir görevdi.

1, 2, Otomatikleştir

Proje Sonrası Flightsuit'te ekibimiz CMS'nin kullanılabilirliğini ve dayanıklılığını artırmaya odaklandı. Öğrenilen birkaç ders:

  1. CMS'yi yapmak kolay kullanımlı teknik olmayan ekip üyeleri için son derece önemlidir. CMS giriş sayfalarına ilk geçişimizde, çoğunlukla yalnızca Mühendisler tarafından anlaşılabilen ve kullanılabilen gelişmiş özelliklere (genel düzen oluşturma gibi) sahip bazı veri yapıları oluşturmuştuk (böylece CMS'nin ana değer desteğini yendik). Editör deneyimini her şeyin üstünde tutarak buna karşı çıktık. Mümkün olan her yerde Contentful'daki gelişmiş özellikleri otomatikleştirerek (hangi düzenin bir içeriğe en uygun olacağının otomatik olarak belirlenmesi gibi), editörlerin şu konulara odaklanmasına olanak tanıyabiliriz: kurgu ziyade bina.
  2. Contentful (üçüncü taraf) ile entegrasyon sayesinde ön uçlarımız Contentful'un çalışma süresine bağımlı hale geldi. İçerikli bir çok tutarlı neredeyse %100 çalışma süresine sahip bir geçmiş performansa sahip ancak Contentful bazı nedenlerden dolayı iki kesinti yaşadığında bu güven sarsıldı. yaygın DNS sorunları. (Contentful'a adil davranmak gerekirse, bu kesintiler dünyanın en büyük web sitelerinden bazılarında da yaşandı ve Contentful'un kullanılamadığı tek örneklerdi). Daha yüksek görünürlüğe sahip sayfalarımızın (ana sayfamız gibi) kullanılabilirliğini sağlamak için, en iyi yolun, ters API proxy'sini tanıtmak olduğuna karar verdik. hata varsa eski başlıkYukarı akış çağrısının başarısız olması durumunda CDN'mizin önbelleğe alınmış içeriği sunabilmesi için. Bu, CMS çökse bile (X gün boyunca) ayakta kalmamızı sağlar.
Coinbase PlatoBlockchain Veri Zekasında İçeriği Ölçeklendirme. Dikey Arama. Ai.
Yukarıda: Önbelleğe alınmış ters proxy'yi eklemeden önce ve sonra CMS mimarimiz

3. Yeni mühendislik ekiplerinin CMS ile çalışma ve onu genişletme konusunda eğitilmesi öncelikli odak noktasıydı. Ekibim, giderek daha fazla kullanılan bir sistemin tek bilgi kaynağı haline gelmişti ve sıklıkla yeni mühendislerin tek seferlik sisteme dahil edilmesi için kaynak sağlanıyordu. Çerçeveye ilişkin bilgiyi daha iyi yaymak için şunları geliştirdik: CMS Elçi ProgramıCMS konusunda şirket genelinde uzman kişilerin yetiştirilmesi ve bir araya getirilmesi amaçlandı. Program, katılımcıların CMS entegrasyonunun tüm ayrıntılarını öğrendiği 1.5 saatlik yapılandırılmış bir atölye çalışmasıyla başlıyor. Bu program şu anda gerçek zamanlı olarak yürütülüyor ve gerektiğinde katılım oturumları yapılıyor olsa da, şu anda bunu dahili bir eğitim aracı aracılığıyla bir self-servis kursa dönüştürme sürecindeyiz.

Coinbase PlatoBlockchain Veri Zekasında İçeriği Ölçeklendirme. Dikey Arama. Ai.
Dahili CMS Elçisi çalıştayımızın anlık görüntüsü

Anahtar Sonuçlar

2021 sona ererken, geçen yıl ne kadar yol kat ettiğimizi görmekten gurur duyuyoruz. Şirket çapındaki CMS'mizi başarıyla uyguladıktan sonra gördüğümüz ilerleme şu şekildedir:

  • Açılış sayfası oluşturma süresi ortalama 2 haftadan XNUMX haftaya düşürüldü bir günden az.
  • İçerik değişikliği geri dönüş süresi kısaltıldı bir saatlik süreçten kod değişikliği/inceleme/birleştirme/dağıtım 10 dakikanın altında, ve mühendislik katılımı olmadan.
  • Yıl sonuna kadar tüm üst düzey yüzeylerin %90'ı kaplanacak. Bu şu demek neredeyse tüm üst düzey, oturumu kapatılmış ürün yüzeyleri Coinbase'deki uygulamalar yıl sonuna kadar Contentful aracılığıyla desteklenecek.

Bu verimlilik kazanımları büyük ölçüde liderliğimizin altyapı ve geliştirici araçlarına yaptığı yatırımlar sayesinde elde edildi. Coinbase, mühendislik mükemmelliğine, geliştirici deneyimine ve rutin süreçlerin otomatikleştirilmesine gerçekten önem veriyor.

Ayrıca şaşırtıcı derecede düşünceli, yetenekli bazı kişilerin sıkı çalışması olmasaydı bunu başaramazdık (her biriyle birlikte çalışmaktan inanılmaz gurur duyuyorum):

  • Leon Haggarty, Askat Bakyev, João Melo, Stephen Lee, Wilhelm Willie, Bryant Gallardo, Guiherme Luersen, Raymond Sohn, Leonardo Zizzamia, Christopher Nascone (İng)
  • Bobby Rasmusson, Russ Ballard (Ürün)
  • Ananth Chandrasekharan, Goutham Buchi, Manish Gupta (Eng Başkan Yardımcısı)

Hepimiz 2022'ye parlak, birleşik bir ön uç ve ufukta minimum tek seferlik içerik değişikliği talepleri ile girmenin heyecanını yaşıyoruz. Coinbase'e katılmakla ilgileniyorsanız, Kariyer sayfamıza buradan göz atın. İşte mutlu bir yeni yıl!

Coinbase PlatoBlockchain Veri Zekasında İçeriği Ölçeklendirme. Dikey Arama. Ai.


Coinbase'de İçeriği Ölçeklendirme Ilk başta Coinbase Blogu İnsanlar bu hikayeyi vurgulayarak ve yanıt vererek sohbete devam ediyor.

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

Zaman Damgası:

Den fazla Coinbase