{"id":2574,"date":"2025-11-28T22:47:44","date_gmt":"2025-11-28T19:47:44","guid":{"rendered":"https:\/\/www.dchost.com\/blog\/saas-uygulamalari-icin-cok-kiracili-mimari-turleri-ve-dogru-hosting-altyapisi-secimi\/"},"modified":"2025-11-28T22:47:44","modified_gmt":"2025-11-28T19:47:44","slug":"saas-uygulamalari-icin-cok-kiracili-mimari-turleri-ve-dogru-hosting-altyapisi-secimi","status":"publish","type":"post","link":"https:\/\/www.dchost.com\/blog\/saas-uygulamalari-icin-cok-kiracili-mimari-turleri-ve-dogru-hosting-altyapisi-secimi\/","title":{"rendered":"SaaS Uygulamalar\u0131 \u0130\u00e7in \u00c7ok Kirac\u0131l\u0131 Mimari T\u00fcrleri ve Do\u011fru Hosting Altyap\u0131s\u0131 Se\u00e7imi"},"content":{"rendered":"<div class=\"dchost-blog-content-wrapper\"><div id=\"toc_container\" class=\"toc_transparent no_bullets\"><p class=\"toc_title\">\u0130&ccedil;indekiler<\/p><ul class=\"toc_list\"><li><a href=\"#Neden_Cok_Kiracili_Mimari_SaaS_Icin_Kritik\"><span class=\"toc_number toc_depth_1\">1<\/span> Neden \u00c7ok Kirac\u0131l\u0131 Mimari SaaS \u0130\u00e7in Kritik?<\/a><\/li><li><a href=\"#SaaSte_Cok_Kiracili_Mimari_Temelleri\"><span class=\"toc_number toc_depth_1\">2<\/span> SaaS\u2019te \u00c7ok Kirac\u0131l\u0131 Mimari Temelleri<\/a><\/li><li><a href=\"#Cok_Kiracili_Veritabani_Mimari_Turleri\"><span class=\"toc_number toc_depth_1\">3<\/span> \u00c7ok Kirac\u0131l\u0131 Veritaban\u0131 Mimari T\u00fcrleri<\/a><ul><li><a href=\"#1_Paylasimli_Veritabani_Paylasimli_Sema_Shared_DB_Shared_Schema\"><span class=\"toc_number toc_depth_2\">3.1<\/span> 1) Payla\u015f\u0131ml\u0131 Veritaban\u0131, Payla\u015f\u0131ml\u0131 \u015eema (Shared DB, Shared Schema)<\/a><\/li><li><a href=\"#2_Paylasimli_Veritabani_Ayri_Sema_Shared_DB_Isolated_Schema\"><span class=\"toc_number toc_depth_2\">3.2<\/span> 2) Payla\u015f\u0131ml\u0131 Veritaban\u0131, Ayr\u0131 \u015eema (Shared DB, Isolated Schema)<\/a><\/li><li><a href=\"#3_Her_Kiraciya_Ayri_Veritabani_DatabaseperTenant\"><span class=\"toc_number toc_depth_2\">3.3<\/span> 3) Her Kirac\u0131ya Ayr\u0131 Veritaban\u0131 (Database\u2011per\u2011Tenant)<\/a><\/li><li><a href=\"#4_Hibrit_Yaklasimlar\"><span class=\"toc_number toc_depth_2\">3.4<\/span> 4) Hibrit Yakla\u015f\u0131mlar<\/a><\/li><\/ul><\/li><li><a href=\"#Uygulama_Katmaninda_Cok_Kiracilik_Routing_Domain_ve_Kimlik\"><span class=\"toc_number toc_depth_1\">4<\/span> Uygulama Katman\u0131nda \u00c7ok Kirac\u0131l\u0131k: Routing, Domain ve Kimlik<\/a><\/li><li><a href=\"#Hosting_ve_Altyapi_Secimi_Hangi_Mimariye_Hangi_Yapi_Yakisir\"><span class=\"toc_number toc_depth_1\">5<\/span> Hosting ve Altyap\u0131 Se\u00e7imi: Hangi Mimariye Hangi Yap\u0131 Yak\u0131\u015f\u0131r?<\/a><ul><li><a href=\"#Paylasimli_Veritabani_Kullanan_SaaSler_Icin_Hosting_Onerileri\"><span class=\"toc_number toc_depth_2\">5.1<\/span> Payla\u015f\u0131ml\u0131 Veritaban\u0131 Kullanan SaaS\u2019ler \u0130\u00e7in Hosting \u00d6nerileri<\/a><\/li><li><a href=\"#DatabaseperTenant_Kullanan_SaaSler_Icin_Hosting_Onerileri\"><span class=\"toc_number toc_depth_2\">5.2<\/span> Database\u2011per\u2011Tenant Kullanan SaaS\u2019ler \u0130\u00e7in Hosting \u00d6nerileri<\/a><\/li><li><a href=\"#Teknoloji_Stackine_Gore_Secim\"><span class=\"toc_number toc_depth_2\">5.3<\/span> Teknoloji Stack\u2019ine G\u00f6re Se\u00e7im<\/a><\/li><\/ul><\/li><li><a href=\"#Veritabani_ve_Depolama_Tasarimi_Cok_Kiracili_Gercekler\"><span class=\"toc_number toc_depth_1\">6<\/span> Veritaban\u0131 ve Depolama Tasar\u0131m\u0131: \u00c7ok Kirac\u0131l\u0131 Ger\u00e7ekler<\/a><\/li><li><a href=\"#Guvenlik_Izolasyon_ve_KVKKGDPR_Boyutu\"><span class=\"toc_number toc_depth_1\">7<\/span> G\u00fcvenlik, \u0130zolasyon ve KVKK\/GDPR Boyutu<\/a><\/li><li><a href=\"#Izleme_Olceklendirme_ve_Operasyon\"><span class=\"toc_number toc_depth_1\">8<\/span> \u0130zleme, \u00d6l\u00e7eklendirme ve Operasyon<\/a><\/li><li><a href=\"#DCHost_Uzerinde_Ornek_Cok_Kiracili_SaaS_Mimarileri\"><span class=\"toc_number toc_depth_1\">9<\/span> DCHost \u00dczerinde \u00d6rnek \u00c7ok Kirac\u0131l\u0131 SaaS Mimarileri<\/a><ul><li><a href=\"#Senaryo_1_Erken_Asama_50100_Kiraci_Hedefleyen_SaaS\"><span class=\"toc_number toc_depth_2\">9.1<\/span> Senaryo 1: Erken A\u015fama, 50\u2013100 Kirac\u0131 Hedefleyen SaaS<\/a><\/li><li><a href=\"#Senaryo_2_Kurumsal_Agirlikli_Yuksek_Biletli_SaaS\"><span class=\"toc_number toc_depth_2\">9.2<\/span> Senaryo 2: Kurumsal A\u011f\u0131rl\u0131kl\u0131, Y\u00fcksek Biletli SaaS<\/a><\/li><li><a href=\"#Senaryo_3_Yuksek_Trafikli_Cok_Bolgeli_SaaS\"><span class=\"toc_number toc_depth_2\">9.3<\/span> Senaryo 3: Y\u00fcksek Trafikli, \u00c7ok B\u00f6lgeli SaaS<\/a><\/li><\/ul><\/li><li><a href=\"#Sonuc_Bugunun_Karari_Yarinki_Refaktoringi_Belirliyor\"><span class=\"toc_number toc_depth_1\">10<\/span> Sonu\u00e7: Bug\u00fcn\u00fcn Karar\u0131 Yar\u0131nki Refaktoring\u2019i Belirliyor<\/a><\/li><\/ul><\/div>\n<h2><span id=\"Neden_Cok_Kiracili_Mimari_SaaS_Icin_Kritik\">Neden \u00c7ok Kirac\u0131l\u0131 Mimari SaaS \u0130\u00e7in Kritik?<\/span><\/h2>\n<p>SaaS \u00fcr\u00fcn\u00fc geli\u015ftiren neredeyse herkes ayn\u0131 soruyla kar\u015f\u0131la\u015f\u0131yor: &#8220;M\u00fc\u015fteri say\u0131s\u0131 artt\u0131k\u00e7a bu mimari beni ne kadar ta\u015f\u0131yacak?&#8221; \u0130lk pilot m\u00fc\u015fterilerle tek kirac\u0131l\u0131 bir kurulum (her m\u00fc\u015fteri i\u00e7in ayr\u0131 sunucu veya veritaban\u0131) k\u0131sa s\u00fcreli\u011fine i\u015f g\u00f6rebiliyor. Ancak onlarca, y\u00fczlerce hatta binlerce m\u00fc\u015fteriye \u00f6l\u00e7eklenmek istiyorsan\u0131z, <strong>\u00e7ok kirac\u0131l\u0131 (multi\u2011tenant) mimari<\/strong> ka\u00e7\u0131n\u0131lmaz hale geliyor.<\/p>\n<p>\u00c7ok kirac\u0131l\u0131 mimariyi sadece veritaban\u0131nda tabloya &#8220;tenant_id&#8221; eklemek gibi d\u00fc\u015f\u00fcnmek b\u00fcy\u00fck hata. Uygulama katman\u0131ndan veritaban\u0131na, a\u011f topolojisinden yedeklemeye kadar her katmanda bu karar\u0131n yans\u0131malar\u0131 var. Do\u011fru modeli se\u00e7medi\u011finizde, ileride migration projelerine, karma\u015f\u0131k \u015fema de\u011fi\u015fikliklerine ve maliyet patlamalar\u0131na davetiye \u00e7\u0131km\u0131\u015f oluyorsunuz.<\/p>\n<p>Bu yaz\u0131da DCHost ekibi olarak; SaaS uygulamalar\u0131 i\u00e7in farkl\u0131 \u00e7ok kirac\u0131l\u0131 mimari t\u00fcrlerini, veritaban\u0131 modellerini, izolasyon ve g\u00fcvenlik boyutunu, \u00f6l\u00e7eklendirme stratejilerini ve t\u00fcm bunlar\u0131 ta\u015f\u0131yacak <strong>do\u011fru hosting altyap\u0131s\u0131<\/strong>n\u0131 ad\u0131m ad\u0131m ele alaca\u011f\u0131z. Amac\u0131m\u0131z, kendi SaaS\u2019iniz i\u00e7in hem bug\u00fcn hem de 2\u20133 y\u0131l sonras\u0131n\u0131 d\u00fc\u015f\u00fcnerek mant\u0131kl\u0131 bir yol haritas\u0131 olu\u015fturman\u0131za yard\u0131mc\u0131 olmak.<\/p>\n<h2><span id=\"SaaSte_Cok_Kiracili_Mimari_Temelleri\">SaaS\u2019te \u00c7ok Kirac\u0131l\u0131 Mimari Temelleri<\/span><\/h2>\n<p>\u00d6nce kavramlar\u0131 netle\u015ftirelim. <strong>Kirac\u0131 (tenant)<\/strong>, SaaS uygulaman\u0131z\u0131 kullanan her bir m\u00fc\u015fteri, \u015firket, kurum veya organizasyon anlam\u0131na gelir. \u00c7ok kirac\u0131l\u0131 mimaride ayn\u0131 uygulama ve altyap\u0131 \u00fczerinde birden fazla kirac\u0131 birlikte ya\u015far, ancak:<\/p>\n<ul>\n<li>Verileri mant\u0131ksal ya da fiziksel olarak birbirinden ayr\u0131l\u0131r.<\/li>\n<li>Kaynak kullan\u0131m\u0131 (CPU, RAM, disk, bant geni\u015fli\u011fi) y\u00f6netilebilir ve s\u0131n\u0131rland\u0131r\u0131labilir.<\/li>\n<li>G\u00fcvenlik ve yetkilendirme katmanlar\u0131 her kirac\u0131y\u0131 koruyacak \u015fekilde kurgulan\u0131r.<\/li>\n<\/ul>\n<p>Buna kar\u015f\u0131l\u0131k <strong>tek kirac\u0131l\u0131 (single\u2011tenant)<\/strong> yakla\u015f\u0131mda her m\u00fc\u015fteri i\u00e7in ayr\u0131 bir uygulama ve\/veya veritaban\u0131 kurars\u0131n\u0131z. \u0130zolasyon g\u00fc\u00e7l\u00fcd\u00fcr, ancak operasyonel maliyet ve y\u00f6netim y\u00fck\u00fc h\u0131zla artar.<\/p>\n<p>Karar verirken asl\u0131nda \u00fc\u00e7 ana eksende d\u00fc\u015f\u00fcnmelisiniz:<\/p>\n<ul>\n<li><strong>\u0130zolasyon seviyesi:<\/strong> G\u00fcvenlik, KVKK\/GDPR, sekt\u00f6r reg\u00fclasyonlar\u0131 (finans, sa\u011fl\u0131k vb.).<\/li>\n<li><strong>Maliyet ve operasyon:<\/strong> Y\u00f6netilecek veritaban\u0131\/sunucu say\u0131s\u0131, otomasyon ihtiyac\u0131.<\/li>\n<li><strong>Esneklik ve \u00f6l\u00e7eklenebilirlik:<\/strong> H\u0131zla yeni m\u00fc\u015fteri ekleme, b\u00f6lgeler aras\u0131 da\u011f\u0131t\u0131m, yedekleme\/geri y\u00fckleme senaryolar\u0131.<\/li>\n<\/ul>\n<h2><span id=\"Cok_Kiracili_Veritabani_Mimari_Turleri\">\u00c7ok Kirac\u0131l\u0131 Veritaban\u0131 Mimari T\u00fcrleri<\/span><\/h2>\n<h3><span id=\"1_Paylasimli_Veritabani_Paylasimli_Sema_Shared_DB_Shared_Schema\">1) Payla\u015f\u0131ml\u0131 Veritaban\u0131, Payla\u015f\u0131ml\u0131 \u015eema (Shared DB, Shared Schema)<\/span><\/h3>\n<p>En \u00e7ok bilinen model budur. T\u00fcm kirac\u0131lar ayn\u0131 veritaban\u0131nda, ayn\u0131 tablolar\u0131 kullan\u0131r; her tabloya genellikle <strong>tenant_id<\/strong> gibi bir alan eklenir. Uygulama katman\u0131, sorgu atarken ilgili kirac\u0131n\u0131n kimli\u011fini bilerek filtre uygular.<\/p>\n<p><strong>Avantajlar\u0131:<\/strong><\/p>\n<ul>\n<li>Y\u00f6netmesi g\u00f6rece kolay; tek bir veritaban\u0131 k\u00fcmesi \u00fczerinde \u00e7al\u0131\u015f\u0131rs\u0131n\u0131z.<\/li>\n<li>Yeni kirac\u0131 eklemek h\u0131zl\u0131; veri taban\u0131 d\u00fczeyinde ekstra nesne olu\u015fturman\u0131za gerek yoktur.<\/li>\n<li>Altyap\u0131 maliyeti d\u00fc\u015f\u00fckt\u00fcr; donan\u0131m kaynaklar\u0131 verimli payla\u015ft\u0131r\u0131l\u0131r.<\/li>\n<\/ul>\n<p><strong>Dezavantajlar\u0131:<\/strong><\/p>\n<ul>\n<li>Uygulama kodu ve sorgular <strong>tenant bilincine<\/strong> sahip olmak zorunda; hata yapmaya \u00e7ok a\u00e7\u0131kt\u0131r.<\/li>\n<li>G\u00fcvenlik i\u00e7in sat\u0131r seviyesinde yetkilendirme (row\u2011level security) veya view\/tabanl\u0131 izolasyon kullanman\u0131z gerekir.<\/li>\n<li>Tek bir b\u00fcy\u00fck veritaban\u0131, \u00f6l\u00e7ek b\u00fcy\u00fcd\u00fck\u00e7e y\u00f6netim, indeksleme ve bak\u0131m a\u00e7\u0131s\u0131ndan zorla\u015f\u0131r.<\/li>\n<\/ul>\n<p>\u00d6zellikle erken a\u015fama SaaS projelerinde, MVP d\u00f6neminde ve s\u0131k \u015fema de\u011fi\u015fikli\u011fi yapt\u0131\u011f\u0131n\u0131z \u00fcr\u00fcnlerde tercih edilebilir. Ancak ileride hangi \u00f6l\u00e7e\u011fe \u00e7\u0131kmay\u0131 hedefledi\u011finizi mutlaka hesaba katmal\u0131s\u0131n\u0131z.<\/p>\n<h3><span id=\"2_Paylasimli_Veritabani_Ayri_Sema_Shared_DB_Isolated_Schema\">2) Payla\u015f\u0131ml\u0131 Veritaban\u0131, Ayr\u0131 \u015eema (Shared DB, Isolated Schema)<\/span><\/h3>\n<p>Bu modelde t\u00fcm kirac\u0131lar ayn\u0131 veritaban\u0131n\u0131 payla\u015f\u0131r ama her kirac\u0131n\u0131n <strong>kendi \u015femas\u0131<\/strong> (schema) vard\u0131r. \u00d6rne\u011fin: <em>tenant1.users<\/em>, <em>tenant2.users<\/em> gibi.<\/p>\n<p><strong>Avantajlar\u0131:<\/strong><\/p>\n<ul>\n<li>\u015eema seviyesinde izolasyon; yanl\u0131\u015f tenant_id filtrelemesi nedeniyle veri s\u0131zmas\u0131 riski azal\u0131r.<\/li>\n<li>\u015eema bazl\u0131 yedekleme ve geri y\u00fckleme daha esnektir; tek bir kirac\u0131ya ait \u015femay\u0131 hedef alabilirsiniz.<\/li>\n<li>\u015eema ba\u015f\u0131na farkl\u0131 indeks ve optimizasyon ayarlar\u0131 yapmak m\u00fcmk\u00fcnd\u00fcr.<\/li>\n<\/ul>\n<p><strong>Dezavantajlar\u0131:<\/strong><\/p>\n<ul>\n<li>Kirac\u0131 say\u0131s\u0131 artt\u0131k\u00e7a y\u00f6netilecek \u015fema say\u0131s\u0131 h\u0131zla b\u00fcy\u00fcr.<\/li>\n<li>Migration ve versiyon y\u00f6netimi zorla\u015f\u0131r; her \u015femay\u0131 ayn\u0131 yap\u0131da tutmak i\u00e7in g\u00fc\u00e7l\u00fc otomasyon gerekir.<\/li>\n<li>Veritaban\u0131 \u00fczerinde nesne say\u0131s\u0131 artt\u0131\u011f\u0131 i\u00e7in baz\u0131 motorlarda performans ve bak\u0131m y\u00fck\u00fc artar.<\/li>\n<\/ul>\n<p>D\u00fczenli ama \u00e7ok y\u00fcksek olmayan say\u0131da kirac\u0131ya hizmet veren, uyumluluk bask\u0131s\u0131 orta seviyede olan SaaS projeleri i\u00e7in dengeli bir \u00e7\u00f6z\u00fcmd\u00fcr.<\/p>\n<h3><span id=\"3_Her_Kiraciya_Ayri_Veritabani_DatabaseperTenant\">3) Her Kirac\u0131ya Ayr\u0131 Veritaban\u0131 (Database\u2011per\u2011Tenant)<\/span><\/h3>\n<p>\u0130zolasyonun en g\u00fc\u00e7l\u00fc oldu\u011fu klasik \u00e7ok kirac\u0131l\u0131 model budur. Her m\u00fc\u015fteri i\u00e7in ayr\u0131 bir veritaban\u0131 olu\u015fturursunuz; ba\u011flant\u0131 bilgileri uygulama katman\u0131nda dinamik olarak y\u00f6netilir.<\/p>\n<p><strong>Avantajlar\u0131:<\/strong><\/p>\n<ul>\n<li>Veri izolasyonu \u00e7ok y\u00fcksektir; uyumluluk ve reg\u00fclasyon gerektiren sekt\u00f6rler i\u00e7in idealdir.<\/li>\n<li>Her kirac\u0131y\u0131 ayr\u0131 ayr\u0131 \u00f6l\u00e7ekleyebilirsiniz; b\u00fcy\u00fck m\u00fc\u015fteriye \u00f6zel daha g\u00fc\u00e7l\u00fc bir veritaban\u0131 k\u00fcmesi atamak m\u00fcmk\u00fcnd\u00fcr.<\/li>\n<li>Kirac\u0131 bazl\u0131 yedekleme, restore ve test ortam\u0131 kopyalama i\u015fleri \u00e7ok daha esnektir.<\/li>\n<\/ul>\n<p><strong>Dezavantajlar\u0131:<\/strong><\/p>\n<ul>\n<li>Veritaban\u0131 say\u0131s\u0131 artt\u0131k\u00e7a operasyonel y\u00fck ciddi \u015fekilde artar.<\/li>\n<li>Migration, indeks y\u00f6netimi, performans izlemesi gibi i\u015fler otomasyon olmadan neredeyse imkans\u0131z hale gelir.<\/li>\n<li>K\u00fc\u00e7\u00fck kirac\u0131lar i\u00e7in kaynak kullan\u0131m\u0131 verimsiz olabilir.<\/li>\n<\/ul>\n<p>Kurumsal m\u00fc\u015fterilere, y\u00fcksek biletli lisanslarla hizmet veren SaaS \u00fcr\u00fcnlerinde s\u0131k\u00e7a tercih edilir. Burada <a href=\"https:\/\/www.dchost.com\/blog\/veritabani-sunucusunu-uygulama-sunucusundan-ayirmak-ne-zaman-mantikli\/\">veritaban\u0131 sunucusunu uygulama sunucusundan ay\u0131rman\u0131n mant\u0131kl\u0131 oldu\u011fu durumlar<\/a> \u00f6zellikle \u00f6nem kazan\u0131r; \u00e7\u00fcnk\u00fc veritaban\u0131 katman\u0131 ba\u015fl\u0131 ba\u015f\u0131na ayr\u0131 bir d\u00fcnya haline gelir.<\/p>\n<h3><span id=\"4_Hibrit_Yaklasimlar\">4) Hibrit Yakla\u015f\u0131mlar<\/span><\/h3>\n<p>Ger\u00e7ek d\u00fcnyada \u00e7o\u011fu SaaS, tek bir modele s\u0131k\u0131 s\u0131k\u0131ya ba\u011fl\u0131 kalmak yerine <strong>hibrit<\/strong> bir yakla\u015f\u0131m kullan\u0131r. \u00d6rne\u011fin:<\/p>\n<ul>\n<li>K\u00fc\u00e7\u00fck ve orta \u00f6l\u00e7ekli kirac\u0131lar i\u00e7in payla\u015f\u0131ml\u0131 veritaban\u0131 + payla\u015f\u0131ml\u0131 \u015fema,<\/li>\n<li>Kurumsal ve y\u00fcksek hacimli kirac\u0131lar i\u00e7in ayr\u0131 veritaban\u0131,<\/li>\n<li>Raporlama veya ar\u015fiv verileri i\u00e7in bamba\u015fka bir depolama katman\u0131.<\/li>\n<\/ul>\n<p>B\u00f6yle bir model size fiyatland\u0131rma esnekli\u011fi de sa\u011flar. &#8220;Standart&#8221; paket i\u00e7in shared DB, &#8220;Enterprise&#8221; paket i\u00e7in database\u2011per\u2011tenant sunabilirsiniz. \u00d6nemli olan, bu farkl\u0131 modelleri altyap\u0131 taraf\u0131nda ta\u015f\u0131yacak, otomasyonla desteklenmi\u015f bir hosting tasar\u0131m\u0131na sahip olman\u0131zd\u0131r.<\/p>\n<h2><span id=\"Uygulama_Katmaninda_Cok_Kiracilik_Routing_Domain_ve_Kimlik\">Uygulama Katman\u0131nda \u00c7ok Kirac\u0131l\u0131k: Routing, Domain ve Kimlik<\/span><\/h2>\n<p>Veritaban\u0131 mimarisini se\u00e7tiniz; peki uygulama kirac\u0131y\u0131 nas\u0131l tan\u0131yacak? \u00dc\u00e7 temel yakla\u015f\u0131m yayg\u0131n:<\/p>\n<ul>\n<li><strong>Alt alan ad\u0131 bazl\u0131:<\/strong> <em>musteri1.saas.com<\/em>, <em>musteri2.saas.com<\/em><\/li>\n<li><strong>\u00d6zel alan ad\u0131 (custom domain):<\/strong> <em>app.musteri1.com<\/em><\/li>\n<li><strong>URL yolu bazl\u0131:<\/strong> <em>saas.com\/m\/musteri1\/&#8230;<\/em><\/li>\n<\/ul>\n<p>Alt alan ad\u0131 ve \u00f6zel alan ad\u0131 senaryolar\u0131nda, DNS ve SSL otomasyonu kritik hale gelir. Kirac\u0131 panelden kendi alan ad\u0131n\u0131 ekledi\u011finde, arka planda DNS do\u011frulamas\u0131, <a href=\"https:\/\/www.dchost.com\/tr\/ssl\">SSL sertifikas\u0131<\/a> \u00fcretimi ve <strong>reverse proxy<\/strong> yap\u0131land\u0131rmas\u0131 otomatik akmal\u0131d\u0131r. Bunun i\u00e7in <a href=\"https:\/\/www.dchost.com\/blog\/saaste-ozel-alan-adlari-ve-otomatik-ssl-dns%e2%80%9101-ile-cok-kiracili-mimarini-nasil-tatli-tatli-olceklersin\/\">SaaS\u2019te \u00f6zel alan adlar\u0131 ve otomatik SSL mimarisi<\/a>ni detayl\u0131 anlatt\u0131\u011f\u0131m\u0131z rehbere mutlaka g\u00f6z atman\u0131z\u0131 \u00f6neririz.<\/p>\n<p>Uygulama taraf\u0131nda ise tipik desenler \u015funlard\u0131r:<\/p>\n<ul>\n<li>Her istek ba\u015f\u0131nda domain veya path\u2019ten kirac\u0131y\u0131 tespit etmek.<\/li>\n<li>Kiraci_id\u2019yi request context i\u00e7erisinde ta\u015f\u0131mak (middleware, dependency injection vb.).<\/li>\n<li>Veritaban\u0131 ba\u011flant\u0131s\u0131n\u0131 ve sorgular\u0131 kirac\u0131n\u0131n ba\u011flam\u0131na g\u00f6re olu\u015fturmak.<\/li>\n<li>\u00d6zellik bazl\u0131 ayr\u0131mlar i\u00e7in feature flag veya plan bazl\u0131 yetkilendirme kullanmak.<\/li>\n<\/ul>\n<p>Burada yap\u0131lan hatalar genellikle g\u00fcvenlik a\u00e7\u0131\u011f\u0131na d\u00f6n\u00fc\u015f\u00fcr: Yanl\u0131\u015f tenant ba\u011flam\u0131nda sorgu \u00e7al\u0131\u015ft\u0131rmak, cache key olu\u015ftururken tenant bilgisini hesaba katmamak gibi. Bu y\u00fczden kod seviyesinde tenant bilincini ba\u015ftan net bir \u015fekilde tasarlamak kritik.<\/p>\n<h2><span id=\"Hosting_ve_Altyapi_Secimi_Hangi_Mimariye_Hangi_Yapi_Yakisir\">Hosting ve Altyap\u0131 Se\u00e7imi: Hangi Mimariye Hangi Yap\u0131 Yak\u0131\u015f\u0131r?<\/span><\/h2>\n<p>\u015eimdi as\u0131l can al\u0131c\u0131 yere gelelim: Se\u00e7ti\u011finiz \u00e7ok kirac\u0131l\u0131 model, hosting taraf\u0131nda ne anlama geliyor? DCHost taraf\u0131nda g\u00f6rd\u00fc\u011f\u00fcm\u00fcz projelerde genel yakla\u015f\u0131m \u015f\u00f6yle:<\/p>\n<h3><span id=\"Paylasimli_Veritabani_Kullanan_SaaSler_Icin_Hosting_Onerileri\">Payla\u015f\u0131ml\u0131 Veritaban\u0131 Kullanan SaaS\u2019ler \u0130\u00e7in Hosting \u00d6nerileri<\/span><\/h3>\n<p>Payla\u015f\u0131ml\u0131 veritaban\u0131 (\u00f6zellikle shared schema) kullanan SaaS\u2019lerde en b\u00fcy\u00fck risklerden biri, <strong>tek bir veritaban\u0131 d\u00fc\u011f\u00fcm\u00fcn\u00fcn<\/strong> t\u0131kanmas\u0131d\u0131r. Bu nedenle:<\/p>\n<ul>\n<li>Uygulama ve veritaban\u0131 sunucusunu ayn\u0131 makinede ba\u015flatmak yerine, en az\u0131ndan orta vadede <strong>ay\u0131rmay\u0131<\/strong> planlay\u0131n.<\/li>\n<li>Ba\u015flang\u0131\u00e7ta g\u00fc\u00e7l\u00fc bir <strong>VPS<\/strong> \u00fczerinde hem uygulama hem veritaban\u0131 ile ba\u015flay\u0131p, \u00f6l\u00e7ek artt\u0131k\u00e7a veritaban\u0131n\u0131 ayr\u0131 bir <a href=\"https:\/\/www.dchost.com\/tr\/vps\">VPS<\/a> veya <a href=\"https:\/\/www.dchost.com\/tr\/fiziksel-sunucu\">dedicated sunucu<\/a>ya ta\u015f\u0131y\u0131n.<\/li>\n<li>Kapasite b\u00fcy\u00fcd\u00fck\u00e7e, <a href=\"https:\/\/www.dchost.com\/blog\/dedicated-sunucu-mu-vps-mi-hangisi-isinize-yarar\/\">dedicated sunucu mu VPS mi kar\u015f\u0131la\u015ft\u0131rmas\u0131<\/a> yaparak veritaban\u0131 katman\u0131n\u0131 fiziksel sunucuya \u00e7ekmeyi d\u00fc\u015f\u00fcn\u00fcn.<\/li>\n<\/ul>\n<p>Bu modelde dikey \u00f6l\u00e7ekleme (daha g\u00fc\u00e7l\u00fc CPU\/RAM) bir s\u00fcre idare eder; ama belirli bir noktadan sonra okuma\/yazma ayr\u0131m\u0131, replikasyon ve sharding gibi tekniklere ihtiya\u00e7 duyacaks\u0131n\u0131z.<\/p>\n<h3><span id=\"DatabaseperTenant_Kullanan_SaaSler_Icin_Hosting_Onerileri\">Database\u2011per\u2011Tenant Kullanan SaaS\u2019ler \u0130\u00e7in Hosting \u00d6nerileri<\/span><\/h3>\n<p>Her kirac\u0131ya ayr\u0131 veritaban\u0131 verdi\u011finiz senaryoda i\u015fin rengi de\u011fi\u015fir. Burada:<\/p>\n<ul>\n<li>Veritaban\u0131 sunucular\u0131n\u0131 cluster yap\u0131s\u0131nda veya ayr\u0131 VPS k\u00fcmelerinde da\u011f\u0131tmak mant\u0131kl\u0131 olur.<\/li>\n<li>B\u00fcy\u00fck kirac\u0131lar i\u00e7in daha g\u00fc\u00e7l\u00fc, k\u00fc\u00e7\u00fck kirac\u0131lar i\u00e7in daha m\u00fctevaz\u0131 kaynak ay\u0131rabilirsiniz.<\/li>\n<li>Y\u00fcksek eri\u015filebilirlik ihtiyac\u0131 olan kurumsal m\u00fc\u015fteriler i\u00e7in <strong>primary\/replica<\/strong> yap\u0131land\u0131rmalar\u0131 ve hatta \u00e7ok b\u00f6lgeli replikasyon gerekebilir.<\/li>\n<\/ul>\n<p>B\u00f6yle senaryolarda <a href=\"https:\/\/www.dchost.com\/blog\/cok-bolgeli-mimariler-nasil-kurulur-dns-geo%e2%80%91routing-ve-veritabani-replikasyonu-ile-korkusuz-felaket-dayanikliligi\/\">\u00e7ok b\u00f6lgeli mimariler ve DNS geo\u2011routing yakla\u015f\u0131m\u0131<\/a> b\u00fcy\u00fck resimde i\u015finize yarar. DCHost \u00fczerinde birden fazla lokasyonda VPS veya dedicated sunucu konumland\u0131r\u0131p, kritik kirac\u0131lar i\u00e7in b\u00f6lgesel replikasyon kurabilirsiniz.<\/p>\n<h3><span id=\"Teknoloji_Stackine_Gore_Secim\">Teknoloji Stack\u2019ine G\u00f6re Se\u00e7im<\/span><\/h3>\n<p>Monolitik bir PHP\/Laravel veya Node.js uygulamas\u0131yla ba\u015fl\u0131yorsan\u0131z, genellikle:<\/p>\n<ul>\n<li>1\u20132 adet uygulama VPS\u2019i,<\/li>\n<li>1 adet veritaban\u0131 VPS\u2019i (veya b\u00fcy\u00fcy\u00fcnce dedicated),<\/li>\n<li>G\u00fcvenlik duvar\u0131, WAF ve yedekleme altyap\u0131s\u0131<\/li>\n<\/ul>\n<p>ile ba\u015flayabilirsiniz. Mikroservis mimarisi, Kubernetes gibi daha karma\u015f\u0131k yap\u0131lara ge\u00e7i\u015fi ise ger\u00e7ekten ihtiya\u00e7 do\u011fana kadar ertelemek \u00e7o\u011fu SaaS i\u00e7in mant\u0131kl\u0131.<\/p>\n<p>DCHost taraf\u0131nda hem klasik VPS\/dedicated sunucu hem de <strong>colocation<\/strong> ile kendi fiziksel sunucular\u0131n\u0131z\u0131 bar\u0131nd\u0131rma se\u00e7enekleri var. \u00d6zellikle reg\u00fclasyon gere\u011fi kendi donan\u0131m\u0131n\u0131z\u0131 kullanmak zorunda oldu\u011funuz durumlarda colocation ciddi bir alternatif sunuyor.<\/p>\n<h2><span id=\"Veritabani_ve_Depolama_Tasarimi_Cok_Kiracili_Gercekler\">Veritaban\u0131 ve Depolama Tasar\u0131m\u0131: \u00c7ok Kirac\u0131l\u0131 Ger\u00e7ekler<\/span><\/h2>\n<p>\u00c7ok kirac\u0131l\u0131 mimaride veritaban\u0131 kararlar\u0131 \u00e7o\u011fu zaman uygulama kodundan daha belirleyici hale gelir. \u00d6zellikle payla\u015f\u0131ml\u0131 veritaban\u0131 senaryosunda dikkat edilmesi gerekenler:<\/p>\n<ul>\n<li><strong>Dizinleme (indexing):<\/strong> Hemen her ana tabloda <em>tenant_id<\/em> + s\u0131k kullan\u0131lan filtre alanlar\u0131n\u0131 kapsayan indeksler olu\u015fturun.<\/li>\n<li><strong>Ba\u011flant\u0131 havuzu (connection pooling):<\/strong> Y\u00fck alt\u0131ndayken her istek i\u00e7in yeni ba\u011flant\u0131 a\u00e7mak yerine ba\u011flant\u0131 havuzu kullan\u0131n.<\/li>\n<li><strong>Noisy neighbor problemi:<\/strong> Tek bir kirac\u0131n\u0131n a\u011f\u0131r sorgular\u0131, di\u011fer t\u00fcm kirac\u0131lar\u0131 etkileyebilir; bu y\u00fczden sorgu s\u0131n\u0131rlar\u0131 ve plan bazl\u0131 k\u0131s\u0131tlar \u00f6nemli.<\/li>\n<li><strong>Yedekleme stratejisi:<\/strong> Sadece tam veritaban\u0131 yede\u011fi de\u011fil, kirac\u0131 bazl\u0131 ihracat veya mant\u0131ksal yedek alma senaryolar\u0131n\u0131 da d\u00fc\u015f\u00fcn\u00fcn.<\/li>\n<\/ul>\n<p>Y\u00fck artt\u0131k\u00e7a veritaban\u0131 sunucusunu uygulama sunucusundan ay\u0131rmak, ayr\u0131 disk altyap\u0131s\u0131 ve IOPS planlamas\u0131 yapmak zorunlu hale gelir. Bunun i\u00e7in daha \u00f6nce haz\u0131rlad\u0131\u011f\u0131m\u0131z <a href=\"https:\/\/www.dchost.com\/blog\/veritabani-sunucusunu-uygulama-sunucusundan-ayirmak-ne-zaman-mantikli\/\">veritaban\u0131 sunucusunu uygulama sunucusundan ay\u0131rman\u0131n mant\u0131kl\u0131 oldu\u011fu durumlar<\/a> rehberi \u00e7ok i\u015finize yarayacakt\u0131r.<\/p>\n<h2><span id=\"Guvenlik_Izolasyon_ve_KVKKGDPR_Boyutu\">G\u00fcvenlik, \u0130zolasyon ve KVKK\/GDPR Boyutu<\/span><\/h2>\n<p>Bir SaaS b\u00fcy\u00fcd\u00fck\u00e7e teknik bor\u00e7 kadar <strong>hukuki ve reg\u00fclasyon y\u00fck\u00fc<\/strong> de artar. \u00c7ok kirac\u0131l\u0131 mimari se\u00e7imi bu noktada kritik bir kald\u0131ra\u00e7t\u0131r.<\/p>\n<ul>\n<li><strong>Veri izolasyonu:<\/strong> Shared schema modelinde sat\u0131r seviyesinde, schema bazl\u0131 modelde \u015fema seviyesinde, database\u2011per\u2011tenant modelde ise veritaban\u0131 seviyesinde izolasyon sunars\u0131n\u0131z.<\/li>\n<li><strong>\u015eifreleme:<\/strong> At\u2011rest (diskte) ve in\u2011transit (a\u011fda) \u015fifreleme, \u00f6zellikle ki\u015fisel veri i\u015fleyen SaaS\u2019ler i\u00e7in art\u0131k fiili standart.<\/li>\n<li><strong>Loglama ve eri\u015fim kay\u0131tlar\u0131:<\/strong> Hangi kullan\u0131c\u0131 hangi kirac\u0131n\u0131n verisine eri\u015fti, ne yapt\u0131? Bunlar\u0131n izlenebilir olmas\u0131 KVKK ve GDPR i\u00e7in \u00f6nemli.<\/li>\n<\/ul>\n<p>DCHost taraf\u0131nda veri yerelle\u015ftirme, loglama ve silme s\u00fcre\u00e7lerini d\u00fc\u015f\u00fcn\u00fcrken, <a href=\"https:\/\/www.dchost.com\/blog\/kvkk-ve-gdpr-uyumlu-hosting-nasil-kurulur-veri-yerellestirme-loglama-ve-silme-uzerine-sicacik-bir-yol-haritasi\/\">KVKK ve GDPR uyumlu hosting rehberi<\/a>nde anlatt\u0131\u011f\u0131m\u0131z ad\u0131mlar\u0131 \u00e7ok kirac\u0131l\u0131 mimarinize uyarlaman\u0131zda fayda var.<\/p>\n<p>Ek olarak:<\/p>\n<ul>\n<li>Y\u00f6netim panellerini IP k\u0131s\u0131tlama, VPN veya mTLS ile koruyun.<\/li>\n<li>Her kirac\u0131 i\u00e7in veri saklama s\u00fcrelerini (retention) politikalarla belirleyin.<\/li>\n<li>D\u00fczenli zafiyet taramas\u0131 ve yama y\u00f6netimi yap\u0131n; \u00f6zellikle payla\u015f\u0131ml\u0131 ortamlarda bir zafiyet t\u00fcm kirac\u0131lar\u0131 etkileyebilir.<\/li>\n<\/ul>\n<h2><span id=\"Izleme_Olceklendirme_ve_Operasyon\">\u0130zleme, \u00d6l\u00e7eklendirme ve Operasyon<\/span><\/h2>\n<p>\u00c7ok kirac\u0131l\u0131 yap\u0131y\u0131 ayakta tutan g\u00f6r\u00fcnmez katman, <strong>izleme (monitoring) ve alarm<\/strong> sistemidir. Burada sadece CPU\/RAM de\u011fil, <strong>kirac\u0131 bazl\u0131 metrikler<\/strong>i de izlemeniz gerekir:<\/p>\n<ul>\n<li>Kirac\u0131 ba\u015f\u0131na istek say\u0131s\u0131, sorgu say\u0131s\u0131, hata oran\u0131.<\/li>\n<li>Plan bazl\u0131 limitlere yakla\u015fan kirac\u0131lar (\u00f6rne\u011fin depolama kotas\u0131).<\/li>\n<li>A\u015f\u0131r\u0131 kaynak t\u00fcketen veya anormal davranan kirac\u0131lar.<\/li>\n<\/ul>\n<p>Bu metriklere g\u00f6re \u00f6l\u00e7eklendirme stratejinizi belirleyebilirsiniz. \u00d6rne\u011fin:<\/p>\n<ul>\n<li>Uygulama katman\u0131nda <strong>yatay \u00f6l\u00e7ekleme<\/strong> (ek VPS veya ek container) ile istek y\u00fck\u00fcn\u00fc da\u011f\u0131tmak.<\/li>\n<li>Veritaban\u0131nda okuma replikalar\u0131 ekleyerek raporlama trafi\u011fini ana d\u00fc\u011f\u00fcmden ay\u0131rmak.<\/li>\n<li>Noisy neighbor kirac\u0131lar i\u00e7in \u00f6zel altyap\u0131 veya fiyatland\u0131rma modeli sunmak.<\/li>\n<\/ul>\n<p>DCHost \u00fczerinde VPS veya dedicated sunucular\u0131n\u0131z\u0131 kurarken, merkezi loglama ve izleme \u00e7\u00f6z\u00fcmleri ile \u00e7al\u0131\u015fman\u0131z\u0131 \u00f6neririz. B\u00f6ylece tek bir kirac\u0131n\u0131n olu\u015fturdu\u011fu sorun t\u00fcm sistemi etkilemeden \u00f6nce m\u00fcdahale edebilirsiniz.<\/p>\n<h2><span id=\"DCHost_Uzerinde_Ornek_Cok_Kiracili_SaaS_Mimarileri\">DCHost \u00dczerinde \u00d6rnek \u00c7ok Kirac\u0131l\u0131 SaaS Mimarileri<\/span><\/h2>\n<h3><span id=\"Senaryo_1_Erken_Asama_50100_Kiraci_Hedefleyen_SaaS\">Senaryo 1: Erken A\u015fama, 50\u2013100 Kirac\u0131 Hedefleyen SaaS<\/span><\/h3>\n<p>Yeni bir SaaS \u00fcr\u00fcn\u00fc geli\u015ftiriyorsunuz, 1 y\u0131l i\u00e7inde 50\u2013100 m\u00fc\u015fteri hedefliyorsunuz. Reg\u00fclasyon bask\u0131s\u0131 d\u00fc\u015f\u00fck, daha \u00e7ok KOB\u0130\u2019lere hitap ediyorsunuz.<\/p>\n<ul>\n<li>Veritaban\u0131 modeli: Payla\u015f\u0131ml\u0131 veritaban\u0131, payla\u015f\u0131ml\u0131 \u015fema.<\/li>\n<li>Altyap\u0131: 1 adet orta seviye VPS (uygulama), 1 adet orta seviye VPS (veritaban\u0131).<\/li>\n<li>DNS\/SSL: DCHost DNS y\u00f6netimi + ACME otomasyonu ile alt alan ad\u0131 bazl\u0131 \u00e7ok kirac\u0131l\u0131k.<\/li>\n<li>Yedekleme: G\u00fcnl\u00fck tam yedek + saatlik transaction log yede\u011fi.<\/li>\n<\/ul>\n<p>Bu seviyede maliyetleri d\u00fc\u015f\u00fck tutup \u00fcr\u00fcn\u00fc do\u011frularken, mimariyi ileride database\u2011per\u2011tenant modele ge\u00e7ebilecek \u015fekilde tasarlaman\u0131z ak\u0131ll\u0131ca olur.<\/p>\n<h3><span id=\"Senaryo_2_Kurumsal_Agirlikli_Yuksek_Biletli_SaaS\">Senaryo 2: Kurumsal A\u011f\u0131rl\u0131kl\u0131, Y\u00fcksek Biletli SaaS<\/span><\/h3>\n<p>Hedef kitleniz orta ve b\u00fcy\u00fck \u00f6l\u00e7ekli kurumlar; bilgi g\u00fcvenli\u011fi ekipleri s\u0131k\u0131 sorular soruyor, SLA beklentileri y\u00fcksek.<\/p>\n<ul>\n<li>Veritaban\u0131 modeli: K\u00fc\u00e7\u00fck kirac\u0131lar i\u00e7in shared DB, b\u00fcy\u00fck kirac\u0131lar i\u00e7in database\u2011per\u2011tenant.<\/li>\n<li>Altyap\u0131: Uygulama katman\u0131 i\u00e7in \u00f6l\u00e7eklenebilir VPS k\u00fcmesi; b\u00fcy\u00fck kirac\u0131lar i\u00e7in ayr\u0131 veritaban\u0131 VPS\u2019leri veya dedicated sunucular.<\/li>\n<li>A\u011f: VPN veya \u00f6zel a\u011f \u00fczerinden y\u00f6netim eri\u015fimi, WAF ve DDoS koruma katman\u0131.<\/li>\n<li>DR\/HA: Kritik kirac\u0131lar i\u00e7in farkl\u0131 b\u00f6lgede yedek veritaban\u0131 ve DNS bazl\u0131 failover.<\/li>\n<\/ul>\n<p>B\u00f6yle bir mimaride hem gelirinizle orant\u0131l\u0131 maliyet y\u00f6netimi yapabilir, hem de kurumsal m\u00fc\u015fterilerin bekledi\u011fi izolasyon ve s\u00fcreklili\u011fi sa\u011flayabilirsiniz.<\/p>\n<h3><span id=\"Senaryo_3_Yuksek_Trafikli_Cok_Bolgeli_SaaS\">Senaryo 3: Y\u00fcksek Trafikli, \u00c7ok B\u00f6lgeli SaaS<\/span><\/h3>\n<p>Bir noktadan sonra tek veri merkezi veya tek b\u00f6lge yeterli gelmez. Hem performans hem de felaket senaryolar\u0131 i\u00e7in \u00e7ok b\u00f6lgeli yap\u0131ya ge\u00e7meniz gerekir.<\/p>\n<ul>\n<li>Altyap\u0131: Birden fazla lokasyonda DCHost VPS veya dedicated sunucular.<\/li>\n<li>DNS: Anycast ve geo\u2011routing ile kullan\u0131c\u0131y\u0131 en yak\u0131n b\u00f6lgeye y\u00f6nlendirmek.<\/li>\n<li>Veritaban\u0131: B\u00f6lgeler aras\u0131 replikasyon; gecikme ve tutarl\u0131l\u0131k dengesini iyi planlamak.<\/li>\n<\/ul>\n<p>Bu t\u00fcr senaryolar i\u00e7in daha \u00f6nce bahsetti\u011fimiz <a href=\"https:\/\/www.dchost.com\/blog\/cok-bolgeli-mimariler-nasil-kurulur-dns-geo%e2%80%91routing-ve-veritabani-replikasyonu-ile-korkusuz-felaket-dayanikliligi\/\">\u00e7ok b\u00f6lgeli mimari rehberi<\/a> ile birlikte, altyap\u0131n\u0131z\u0131 ad\u0131m ad\u0131m b\u00fcy\u00fctmek m\u00fcmk\u00fcn.<\/p>\n<h2><span id=\"Sonuc_Bugunun_Karari_Yarinki_Refaktoringi_Belirliyor\">Sonu\u00e7: Bug\u00fcn\u00fcn Karar\u0131 Yar\u0131nki Refaktoring\u2019i Belirliyor<\/span><\/h2>\n<p>\u00c7ok kirac\u0131l\u0131 mimari, SaaS\u2019inizin kaderini belirleyen en kritik teknik kararlardan biri. Bug\u00fcn 5\u201310 m\u00fc\u015fteriyle \u00e7al\u0131\u015fan bir \u00fcr\u00fcn i\u00e7in &#8220;ne olacak ki, tek veritaban\u0131nda gider&#8221; demek kolay. As\u0131l mesele, 200. m\u00fc\u015fteri geldi\u011finde bu karar\u0131 ne kadar rahat savunabilece\u011finiz. Veritaban\u0131 modeli, uygulama katman\u0131ndaki tenant bilinci, DNS\/SSL otomasyonu, yedekleme ve felaket senaryolar\u0131; hepsi bir b\u00fct\u00fcn olarak d\u00fc\u015f\u00fcn\u00fclmeli.<\/p>\n<p>DCHost taraf\u0131nda biz, yeni bir SaaS projesiyle konu\u015furken \u00f6nce i\u015f modelini, hedef m\u00fc\u015fteri say\u0131s\u0131n\u0131, reg\u00fclasyon bask\u0131s\u0131n\u0131 ve b\u00fcy\u00fcme temposunu anlamaya \u00e7al\u0131\u015f\u0131yoruz. \u00c7\u00fcnk\u00fc payla\u015f\u0131ml\u0131 veritaban\u0131 m\u0131, ayr\u0131 veritaban\u0131 m\u0131, VPS mi yoksa dedicated mi sorular\u0131n\u0131n do\u011fru cevab\u0131 ancak bu ba\u011flamla ortaya \u00e7\u0131k\u0131yor.<\/p>\n<p>E\u011fer kendi SaaS\u2019iniz i\u00e7in do\u011fru \u00e7ok kirac\u0131l\u0131 mimari ve hosting altyap\u0131s\u0131n\u0131 netle\u015ftirmek istiyorsan\u0131z, mevcut tasar\u0131m\u0131n\u0131z\u0131 birlikte g\u00f6zden ge\u00e7irip <strong>iki\u2011\u00fc\u00e7 y\u0131ll\u0131k ger\u00e7ek\u00e7i bir yol haritas\u0131<\/strong> \u00e7\u0131karabiliriz. DCHost\u2019un domain, hosting, VPS, dedicated ve colocation \u00e7\u00f6z\u00fcmlerini; se\u00e7ti\u011finiz mimariyle uyumlu, \u00f6l\u00e7eklenebilir bir yap\u0131 halinde kurgulamak m\u00fcmk\u00fcn. Bir sonraki refaktoring projeniz panik de\u011fil, plan sonucu olsun istiyorsan\u0131z, ilk ad\u0131m\u0131 birlikte atal\u0131m.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>\u0130&ccedil;indekiler1 Neden \u00c7ok Kirac\u0131l\u0131 Mimari SaaS \u0130\u00e7in Kritik?2 SaaS\u2019te \u00c7ok Kirac\u0131l\u0131 Mimari Temelleri3 \u00c7ok Kirac\u0131l\u0131 Veritaban\u0131 Mimari T\u00fcrleri3.1 1) Payla\u015f\u0131ml\u0131 Veritaban\u0131, Payla\u015f\u0131ml\u0131 \u015eema (Shared DB, Shared Schema)3.2 2) Payla\u015f\u0131ml\u0131 Veritaban\u0131, Ayr\u0131 \u015eema (Shared DB, Isolated Schema)3.3 3) Her Kirac\u0131ya Ayr\u0131 Veritaban\u0131 (Database\u2011per\u2011Tenant)3.4 4) Hibrit Yakla\u015f\u0131mlar4 Uygulama Katman\u0131nda \u00c7ok Kirac\u0131l\u0131k: Routing, Domain ve Kimlik5 Hosting ve [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2575,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-2574","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-teknoloji"],"_links":{"self":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/2574","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/comments?post=2574"}],"version-history":[{"count":0,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/2574\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media\/2575"}],"wp:attachment":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media?parent=2574"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/categories?post=2574"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/tags?post=2574"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}