Çözüm senaryosu

SaaS ürünleri ve startuplar için referans mimari

Ekip haftada birkaç kez sürüm çıkarırken kiracı verisi yerinde kalır. Bu sayfa ortam ayrımını, terfi hattını ve kalıcı hacmi gösterir.

Ana karar
Ortam ve kiracı ayrımının hangi düzeyde kurulacağı
Sürüm hattı
Geliştirme, ön üretim ve üretim arasında tek yönlü terfi
Veri katmanı
Yönetilen veri tabanı veri katmanıdır ve yakında genel kullanıma sunulacaktır

Genel bakış

Çok kiracılı bir SaaS ürünü altyapıdan ne ister?

Bu senaryonun ilk kararı ayrımın hangi düzeyde kurulacağıdır. Ortamlar namespace düzeyinde ayrılır: geliştirme, ön üretim ve üretim aynı kümede farklı sınırlarla yaşar, sürüm yalnız tek yönde terfi eder ve üretime doğrudan yazılmaz. İkinci karar kiracı verisinin nerede durduğudur; uygulama kabı her sürümde değişse de kalıcı hacim yerinde kalır. Üçüncü karar giriş katmanıdır: istekler durumsuzdur, bu yüzden yük dengeleyici havuza dağıtır. Konteyner sayısı azken Compute, kiracı sayısı artarken VKE kullanılır. Ön üretim ile üretim aynı düğüm havuzunu paylaşırsa yayın anındaki kapasite artışı kiracı isteklerine yansır. Yönetilen veri tabanı bu mimaride veri katmanı olarak konumlanır ve yakında genel kullanıma sunulacaktır.

Tipik iş yükü profili

Sürüm ritmi ile kiracı büyümesi ayrı eksenlerdir

Üretim yükü istikrarlıdır ve kiracı sayısıyla doğrusal büyür; sürüm hattı ise dalgalıdır ve gün içinde birkaç kez kapasite ister. İki eksen aynı düğüm havuzunu paylaştığında yayın anındaki artış üretim isteklerini etkiler. Profil bu yüzden trafik desenini kiracı büyümesinden ayrı tanımlar.

Trafik deseni

İstikrarlı üretim yükü, dalgalı sürüm hattı

  • Durumsuz istek akışı
  • Haftada birkaç sürüm
  • Kiracı sayısıyla doğrusal büyüme

Veri hacmi

Kiracı başına küçük, toplamda sürekli artan

  • Kalıcı hacim kiracıya bağlı
  • Uygulama kabı durumsuz
  • Sürüm artefaktı kısa ömürlü

Gecikme ve uyum

Kiracı izolasyonu gecikmeden önce gelir

  • Namespace düzeyinde izolasyon
  • Ortamlar arası tek yönlü terfi
  • Kiracı verisi ayrı hacimde

Profil; istikrarlı üretim yükünü, dalgalı sürüm hattını ve kiracı büyümesini ayrı eksenlerde tarif eder.

Referans mimari

Üç ortam şeridi, tek yönlü terfi oku

Mimari yatay şeritler halinde okunur: her şerit bir ortam, her ortam bir namespace. Şeritler arasındaki ok yalnız aşağı doğru gider; üretime doğrudan yazılmaz. Kiracı trafiği yük dengeleyici üzerinden üretim havuzuna girer.

Üç ortam şeridi ve tek yönlü terfi hattıGeliştirme, ön üretim ve üretim şeritleri üst üste durur; her şeritte bir Kubernetes namespace ve ona bağlı iş yükü vardır. Kesikli terfi okları yalnız yukarıdan aşağıya, geliştirmeden ön üretime ve ön üretimden üretime gider. Sağ kolonda kiracı istekleri yük dengeleyiciye, oradan üretim Compute havuzuna ve kalıcı kiracı hacmine bağlanır.Geliştirme ortamıÖn üretim ortamıÜretim ortamıGeliştirme namespaceVKE (Kubernetes)Paylaşımlı çalıştırıcıComputeÖn üretim namespaceVKE (Kubernetes)Sürüm testiComputeÜretim namespaceVKE (Kubernetes)Kiracı Compute havuzuComputeKalıcı kiracı hacmiBlock StorageTrafik dağıtımıLoad BalancerKiracı istekleriDurumsuz trafikterfiterfi
Terfi tek yönlüdür; üretime doğrudan yazılmaz. Küme sürümü ve düğüm profili konsolda tanımlanır.

Kullanılan PortvMind Cloud servisleri

Kubernetes ayırır, Block Storage taşır

VKE ortam ve kiracı sınırlarını, Compute çalıştırıcı ve üretim havuzunu, Load Balancer durumsuz trafiği, Block Storage ise sürümden bağımsız kiracı verisini üstlenir. Rol dağılımının kritik yeri şudur: kap her sürümde yenilenir, hacim yenilenmez. Bu ayrım olmadan her yayın veri taşıma riskine dönüşür.

  1. VKE (Kubernetes)

    Ortam ve kiracı ayrımı namespace düzeyinde bu servisle kurulur.

  2. Compute

    Çalıştırıcılar, sürüm testleri ve üretim havuzu aynı düğüm profilinden gelir.

  3. Load Balancer

    Durumsuz kiracı istekleri havuza sağlık sinyaline göre dağıtılır.

  4. Block Storage

    Kiracı verisi sürümden bağımsız olarak kalıcı hacimde durur.

Her servis sayfası bu senaryoya geri bağlanır; bağlantı iki yönde de aynı listeden üretilir. Tüm Servisler

Değerlendirme kriterleri

Küme kurmadan önce sorulan dört soru

Tablo orkestrasyon eşiğini, ortam ayrımını, yönetilen veri tabanını ve kiracı verisini sorar. Yönetilen veri tabanı veri katmanı olarak konumlanır ve yakında genel kullanıma sunulacaktır. Ortam ayrımı ve kiracı hacmi küme kurulmadan belirlenir.

Küme kurmadan önce sorulan dört soru
KriterSorulan soruBu senaryodaki cevap
Orkestrasyon eşiğiKubernetes bu ekip için bugün gerekli mi?Kiracı ve servis sayısı azken doğrudan Compute; ayrım ve terfi ihtiyacı büyüdüğünde VKE.
Ortam ayrımıOrtamlar ayrı küme mi, ayrı namespace mi olacak?Bu referansta namespace düzeyi seçilir; terfi tek yönlüdür ve üretime doğrudan yazılmaz.
Yönetilen veri tabanıVeri tabanı yönetilen servis olarak alınabilir mi?Evet. Yönetilen veri tabanı veri katmanı olarak konumlanır ve yakında genel kullanıma sunulacaktır.
Kiracı verisiÖlçekleme kararı kiracı verisini taşıyor mu?Hayır — uygulama kabı durumsuzdur, kalıcı hacim kiracıya bağlı kalır.

Yönetilen veri tabanı veri katmanıdır ve yakında genel kullanıma sunulacaktır. Ortam ayrımı, terfi hattı ve kiracı hacmi küme kurulmadan planlanır.

İlgili rehberler ve dokümantasyon

Kubernetes ve sorumluluk matrisi okumaları

Konteyner ile orkestrasyon arasındaki fark ve yönetilen kümede sorumluluk dağılımı rehberlerde anlatılır. Altyapıyı kodla kurmak ve ilk kümeyi ayağa kaldırmak dokümantasyonda adım adım işlenir.

Rehberler

  • Kubernetes Nedir? Nasıl Çalışır ve Ne İşe Yarar?

    Kubernetes, konteyner tabanlı uygulamaların dağıtımını, ölçeklendirilmesini ve yaşam döngüsünü otomatikleştiren açık kaynaklı bir orkestrasyon platformudur. Uygulama kodu yazmaz ve tek başına bir container runtime değildir. Bunun yerine, tanımladığınız istenen durumu kümedeki gerçek durumla sürekli karşılaştırır; pod'ları yerleştirir, arızalanan iş yüklerini yeniden oluşturur ve servis trafiğini kullanılabilir örneklere yönlendirir.

  • Docker ve Kubernetes Arasındaki Fark Nedir?

    Docker araçları uygulamayı bağımlılıklarıyla birlikte bir container image olarak paketlemeye, paylaşmaya ve container halinde çalıştırmaya odaklanır. Kubernetes ise container'laştırılmış iş yüklerini bir node kümesi üzerinde dağıtır, ölçekler ve istenen durumda tutar. Bu nedenle Docker ve Kubernetes doğrudan rakip değildir: image oluşturma ve yerel çalışma akışı ile çoklu sunucu orkestrasyonu farklı problemlerdir.

  • Managed Kubernetes Sorumluluk Matrisi: Sağlayıcı ve Ekip Neyi Yönetir?

    Managed Kubernetes, control plane görevlerinin bir bölümünü sağlayıcıya taşır. Uygulama, image, erişim politikası, secret, veri koruma ve kurtarma ekipte kalır. Her operasyon alanı için sağlayıcı kapsamını ve ekip sahibini yazılı hâle getirin.

Diğer çözüm senaryoları

  • Finans

    Gün içi işlem bandı, gün sonu toplu iş bandı ve saklama süresi.

  • E-Ticaret ve Perakende

    Takvimi bilinen kampanya zirvesi, esnek havuz ve çıkış bütçesi.

  • Oyun

    Durumlu oturum, eşleştirme kararı ve varlık dağıtımı.

Ortam ayrımını ve terfi hattını birlikte kuralım.

Sürüm ritminizi, kiracı modelinizi ve mevcut dağıtım aracınızı paylaşın; orkestrasyon eşiğini ve kalıcı hacim planını mimari görüşmede birlikte netleştirelim.