cmscoinbase-engcontentcontent-managementengineering

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

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

TLDR: Geçen yıl içinde Coinbase, web önyüzümüzdeki statik içeriği ortadan kaldırmak için araçlara yatırım yaptı. Bunu nasıl yaptığımızın ve neden önemli olduğunun hikayesi bu.

Coinbase Öğren (ed)

Coinbase eğitim portalı, Coinbase Öğren, 2020’nin sonlarında piyasaya sürüldü. Öğren şunları içerir: yüzlerce başlangıç ​​kılavuzları, pratik öğreticiler ve pazar güncellemelerinden oluşur ve özel bir içerik editörleri ekibi tarafından sağlanır.

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

Medium gibi blog benzeri içerik için barındırılan seçenekler çok az esneklik sağladı.

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

Sonunda bir tane seçtik başsız CMS, özellikle memnun. içerikli bir içerik platformu Bu, tercih edilen araçlarımız ve çalışma yollarımızla bütünleşmek için içeriğe başsız bir yaklaşımın yanı sıra arka uç genişletilebilirliği sunar. “Başsız” olmak, CMS’nin kullanıcı arayüzünden bağımsız olduğu anlamına gelir – içerik deneyimden, ön uca yapılandırılmış JSON sağlamak, bu da ön uç deneyimini tamamen kontrol etmemize olanak tanır.

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

İlk CMS mimarimiz

Uçuş Giysisini Giymek

Coinbase ile Kemerimizin ve Coinbase’in altında öğrenin Doğrudan Halka Arz (DPO) ufukta, bir uyum girişimi başladı (kabul edilen Proje Uçuş Takımı). Project Flightsuit, yeni oluşturulan açılış sayfalarında tasarım standartlarını zorlamanın yanı sıra Coinbase oturumu kapatılmış mülklere uyumlu bir görünüm ve his getirmeyi amaçladı.

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

“Sayfa Mimarisi” genel bakış belgemize bir bakış

için başlangıçta kurulmuş olan Contentful entegrasyonundan yararlanma Coinbase Öğren, açılış sayfası düzenlerini standart hale getirmek 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 “Kahraman” 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.

Bir “Hero Block” veri yapısı (solda) ve ilgili React bileşeni (sağda)

Düşünceli bir “Blok tabanlı sistem” oluşturarak (ve bu sistemi kullanmak için mevcut açılış sayfalarımızı yeniden çalışarak), neredeyse tüm açılış sayfalarını React tarafından desteklenen ve Contentful ile entegre olan tek bir ön uç uygulamasına verimli bir şekilde taşıyabildik.

Blok sistemi devreye girdiğinde, sayfaları taşımak, Contentful UI aracılığıyla çeşitli blokları sürüklemek/bırakmak ve eski sayfa rotalarını yeni, CMS güdümlü alternatife yönlendirmek gibi nispeten basit bir işti.

1, 2, Otomatikleştir

Proje Sonrası Flightsuit, ekibimiz CMS’nin kullanılabilirliğini ve esnekliğini geliştirmeye odaklandı. Alınan birkaç ders:

  1. CMS’yi yapmak kullanımı kolay teknik olmayan ekip üyeleri için son derece önemlidir. CMS açılış sayfalarındaki ilk geçişimizle, çoğunlukla yalnızca Mühendisler tarafından anlaşılan ve hizmet verilen (böylece CMS’nin ana değer desteğini yenen) gelişmiş özelliklere sahip (genel düzen oluşturma gibi) bazı veri yapıları oluşturduk. Bunu, editör deneyimini her şeyden üstün tutarak karşıladık. Mümkün olan her yerde Contentful içindeki gelişmiş özellikleri otomatikleştirerek (hangi düzenin bir dizi içeriğe en uygun olacağını otomatik olarak belirlemek gibi), editörlerin şunlara odaklanmasını sağlayabiliriz: düzenleme ziyade bina.
  2. Contentful (üçüncü bir taraf) ile entegre olarak, ön uçlarımız Contentful’un çalışma süresine bağımlı hale geldi. Contentful’ın bir çok tutarlı neredeyse %100 çalışma süresi kaydı, ancak Contentful bazı nedenlerden dolayı iki kesinti yaşadığında bu güvene meydan okundu yaygın DNS sorunları. (Contentful için adil olmak gerekirse, bu kesintiler dünyanın en büyük web sitelerinden bazıları tarafından da yaşandı ve Contentful’ın kullanılamadığı tek örneklerdi). Daha yüksek görünürlük sayfalarımızın (ana sayfamız gibi) kullanılabilirliğini sağlamak için ileriye dönük en iyi yolun, bayat-if-hata, yukarı akış çağrısı başarısız olursa CDN’mizin önbelleğe alınmış içerik sunması için. Bu, CMS düşse bile (X gün sayısı için) ayakta kalmamızı sağlar.
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 CMS’yi genişletme konusunda eğitilmesi birincil odak noktasıydı. Ekibim, giderek daha fazla kullanılan bir sistemin tek bilgi kaynağı haline geldi ve genellikle bir kereye mahsus olarak sisteme yeni mühendisler dahil edildi. Çerçeve bilgisini daha iyi yaymak için, CMS Elçisi Programı, şirket genelinde CMS için konu uzmanlarını eğitmeyi ve bir araya getirmeyi amaçladı. Program, katılımcıların CMS ile entegrasyonun ayrıntılarını öğrendiği 1,5 saatlik yapılandırılmış bir çalıştay ile başlar. Bu program şu anda gerçek zamanlı olarak yürütülüyor ve ihtiyaç duyulduğunda alıştırma oturumları yapılıyor olsa da, şu anda bunu bir dahili eğitim aracı aracılığıyla self servis bir kursa dönüştürme sürecindeyiz.

Dahili CMS Elçisi çalıştayımızın bir anlık görüntüsü

Anahtar Sonuçlar

2021 sona ererken, geçtiğimiz yıl ne kadar yol kat ettiğimize dönüp bakmaktan gurur duyuyoruz. Şirket genelindeki CMS’mizi başarıyla uyguladıktan sonra gördüğümüz ilerleme:

  • Açılış sayfası oluşturma süresi ortalama 2 haftadan bir günden az.
  • İçerik değişikliği geri dönüş süresi azaltıldı bir saatlik süreçten kod değişikliği/inceleme/birleştirme/dağıtım 10 dakikanın altına, ve mühendislik katılımı olmadan.
  • Yıl sonuna kadar tüm üst düzey yüzeylerin %90’ı kaplanacak. Bunun anlamı şudur ki neredeyse tüm üst düzey, oturumu kapatılmış ürün yüzeyleri Coinbase’de, yıl sonuna kadar Contentful aracılığıyla güçlendirilecek.

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

Ayrıca, şaşırtıcı derecede düşünceli, yetenekli (her biri birlikte çalışmaktan inanılmaz gurur duyduğum) kişilerin sıkı çalışması olmadan bunu başaramazdık:

  • Leon Haggarty, Askat Bakyev, João Melo, Stephen Lee, Wilhelm Willie, Bryant Gallardo, Guiherme Luersen, Raymond Sohn (İng)
  • Bobby Rasmusson (Ürün)
  • Ananth Chandrasekharan, Goutham Buchi, Manish Gupta (Eng’in EVP’si)

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


Coinbase’de İçeriği Ölçeklendirme aslen yayınlandı Coinbase Blogu İnsanların bu hikayeyi vurgulayarak ve yanıtlayarak sohbete devam ettiği Medium’da.


Source link

Başa dön tuşu

Reklam Engelleyici Algılandı

Lütfen reklam engelleyiciyi devre dışı bırakarak bizi desteklemeyi düşünün