Kayıt ol Giriş yap +90 212 706 73 93

Windows Hosting: ASP.NET ve MSSQL Projeleri için Paylaşımlı Paketten Bulut Sunucuya Doğru Altyapı Seçimi


Özet: Windows hosting, ASP.NET, .NET Framework ve MSSQL ile geliştirilmiş web uygulamalarını Windows Server ve IIS üzerinde çalıştıran barındırma modelidir. Küçük ve düşük trafikli projeler için paylaşımlı Windows hosting paketi yeterlidir. Tek Application Pool, havuz başına CPU ve RAM limitleri veya SQL Server Express'in 10 GB veritabanı sınırı projeyi kısıtlamaya başladığında bulut Windows sunucuya geçmek gerekir.

Ana noktalar:
- Klasik .NET Framework ve ASP.NET Web Forms yalnızca Windows üzerinde çalışır; Exchange Server da yalnızca Windows Server'a kurulabilir.
- PHP, WordPress ve Python projeleri için Linux hosting daha uyumludur ve işletim sistemi lisans maliyeti doğurmaz.
- In-process modelde birden fazla ASP.NET Core uygulaması aynı Application Pool'u paylaşamaz.
- SQL Server Express ücretsizdir ancak veritabanı başına 10 GB boyut sınırı vardır.
- Bulut Windows sunucuda ayrılmış vCPU, RAM ve disk kaynaklarıyla birlikte RDP üzerinden tam yönetici yetkisi elde edersiniz.
- Bulutta Windows Server lisansı genellikle SPLA ile aylık ücrete dahildir; SQL Server lisansları License Mobility hakkıyla BYOL olarak taşınabilir.

Uygulamanız ASP.NET ile yazıldıysa ve verileriniz MSSQL üzerinde duruyorsa, altyapı kararınız büyük ölçüde baştan belirlenmiştir. Asıl soru, Windows hosting kullanıp kullanmayacağınız değil, hangi modeli seçeceğinizdir. Paylaşımlı paket mi yeterli, yoksa bulut sunucu mu gerekiyor?

Bu rehberde Windows altyapısının nasıl çalıştığını, Linux'tan hangi noktalarda ayrıldığını ve paylaşımlı paketin sınırlarını ele alıyoruz. Ayrıca bulut sunucuya geçmeniz gereken zamanı nasıl anlayacağınızı anlatıyoruz.


Windows Hosting Nedir ve Hangi İşletmeler İçin Doğru Tercihtir?

Windows hosting, web uygulamalarınızın Microsoft Windows Server işletim sistemi üzerinde çalıştığı barındırma modelidir. Bu model, Microsoft teknoloji yığınıyla geliştirilmiş projeler için tasarlanmıştır.

Şu durumlarda doğru tercihtir:

  • Uygulamanız ASP.NET Web Forms, ASP.NET MVC veya ASP.NET Core ile geliştirildiyse,
  • Veritabanınız Microsoft SQL Server (MSSQL) ise,
  • İş süreçleriniz Active Directory, Exchange veya diğer Microsoft ürünleriyle entegre çalışıyorsa,
  • Ekibiniz Visual Studio ve Windows araçlarıyla çalışıyorsa.

Windows Server, IIS (Internet Information Services) ve Plesk: Altyapı Nasıl Çalışır?

Altyapı üç katmandan oluşur. En altta işletim sistemi olarak Windows Server bulunur. Onun üzerinde Microsoft'un web sunucusu IIS (Internet Information Services) çalışır. IIS, gelen HTTP isteklerini karşılar ve ilgili uygulamaya yönlendirir.

IIS, her uygulamayı bir Application Pool (uygulama havuzu) içinde çalıştırır. Her havuz kendi worker process (çalışma süreci) ile ayrı bir süreç olarak işler. Böylece bir uygulama çöktüğünde diğer havuzlardaki uygulamalar etkilenmez.

En üst katmanda ise Plesk gibi bir control panel (kontrol paneli) bulunur. Plesk; alan adı, veritabanı, SSL sertifikası ve FTP hesabı yönetimini tarayıcı üzerinden yapmanızı sağlar. Paylaşımlı paketlerde IIS'e doğrudan erişemezsiniz, ayarları panel üzerinden yönetirsiniz.

ASP.NET, MSSQL veya Exchange'e Bağlı İş Yükleri Neden Windows Gerektirir?

Klasik .NET Framework yalnızca Windows üzerinde çalışır. ASP.NET Web Forms ve .NET Framework tabanlı MVC uygulamalarının Linux'ta çalıştırılabilecek bir sürümü yoktur.

MSSQL tarafı biraz daha esnektir: SQL Server 2017'den itibaren Linux sürümü de mevcuttur. Ancak SQL Server Agent'ın bazı özellikleri, Windows kimlik doğrulaması ve bazı bileşenler (örneğin Reporting Services) Windows ortamına bağlıdır.

Exchange Server ise yalnızca Windows Server üzerinde kurulabilir. Bu bileşenlerden herhangi birine bağımlıysanız, Windows altyapısı bir tercih değil, zorunluluktur.


Windows mu, Linux mu? Karar Vermeden Önce Bakılacak Kriterler

Karar, büyük ölçüde uygulamanızın teknoloji yığınına göre verilir. Hangi platformun "daha iyi" olduğu değil, kodunuzun hangi ortamda yerel olarak çalıştığı önemlidir.

PHP, WordPress ve Python Projeleri Neden Linux Tarafında Kalır?

PHP, IIS üzerinde FastCGI (hızlı ortak ağ geçidi arayüzü) ile çalıştırılabilir. Ancak PHP ekosistemi Linux ve Apache/Nginx üzerinde geliştirilir ve test edilir. LAMP yığını, PHP projeleri için de facto standarttır.

Pratik farklar şunlardır:

  • WordPress eklentilerinin büyük çoğunluğu .htaccess kurallarına dayanır. IIS bu dosyayı okumaz; kuralları web.config ve URL Rewrite modülüne çevirmeniz gerekir.
  • Linux dosya sistemi büyük/küçük harfe duyarlıdır, Windows değildir. Bu fark taşıma sırasında beklenmedik hatalar üretebilir.
  • Python ve Node.js projelerinde dağıtım araçları ve dokümantasyon ağırlıklı olarak Linux'u esas alır.

Karşılaştırma Tablosu: Dil Desteği, Veritabanı, Lisans ve Yönetim Paneli

Kriter Windows Hosting Linux Hosting
Yerel dil desteği ASP.NET, .NET Framework, .NET (Core) PHP, Python, Perl, Ruby
Platformlar arası diller .NET (Core), Node.js .NET (Core), Node.js
Birincil veritabanı MSSQL (MySQL de kurulabilir) MySQL / MariaDB, PostgreSQL
Web sunucusu IIS Apache, Nginx, LiteSpeed
Yapılandırma dosyası web.config .htaccess, sunucu config
İşletim sistemi lisansı Ücretli (Windows Server) Genellikle ücretsiz
Yönetim paneli Plesk cPanel, Plesk, DirectAdmin
Uzaktan yönetim RDP SSH

Tablodaki lisans satırı, maliyet karşılaştırmasında belirleyicidir. Windows Server ve SQL Server lisans bedelleri, aynı kaynaklara sahip bir Linux sunucuya göre toplam maliyeti yükseltir.


Desteklenen Teknoloji Yığını: .NET Framework'ten .NET Core'a

Bir Windows hosting paketi veya sunucusu seçerken yalnızca "ASP.NET desteklenir" ifadesine bakmak yetmez. Hangi runtime (çalışma zamanı) sürümlerinin kurulu olduğunu, hangi hosting modelinin desteklendiğini ve MSSQL sürümünü ayrı ayrı kontrol edin.

.NET Framework 4.8 ve .NET Core Uygulamaları Aynı Sunucuda Çalışabilir mi?

Evet, çalışabilir. Ancak ayrı Application Pool'larda çalışmaları gerekir.

  • .NET Framework 4.8 uygulamaları, CLR v4.0 ile yapılandırılmış bir havuzda çalışır.
  • .NET Core / .NET 5+ uygulamaları ise "No Managed Code" olarak ayarlanmış bir havuz kullanır. IIS bu uygulamaları ASP.NET Core Module (ANCM) aracılığıyla çalıştırır.

.NET (Core) uygulamaları için sunucuda ilgili sürümün Hosting Bundle paketi kurulu olmalıdır. Paylaşımlı pakette bu kurulumu sağlayıcı yapar. Bu yüzden ihtiyaç duyduğunuz sürümün sunucuda bulunduğunu önceden teyit edin.

MSSQL Sürümü, Remote Access (uzaktan erişim) ve Veritabanı Yedekleme

MSSQL tarafında üç noktayı netleştirin:

  1. Sürüm ve edisyon: SQL Server Express ücretsizdir ancak veritabanı başına 10 GB boyut sınırı vardır. Bu sınırı aşacaksanız Web, Standard veya Enterprise edisyonuna geçmeniz gerekir.
  2. Remote Access (uzaktan erişim): SQL Server varsayılan olarak TCP 1433 portunu kullanır. Paylaşımlı paketlerde dışarıdan erişim kapalı olabilir veya IP kısıtlamasıyla açılır.
  3. Yedekleme: SQL Server; full (tam), differential (fark) ve transaction log (işlem günlüğü) yedeklerini destekler. Noktasal geri dönüş için veritabanının Full recovery model (tam kurtarma modeli) ile çalışması gerekir.

Paylaşımlı pakette yedekleme genellikle panel üzerinden .bak dosyası olarak alınır. Yedekleme sıklığını ve saklama süresini kendiniz belirlemek istiyorsanız, SQL Server Agent'a erişiminizin olduğu bir ortama ihtiyacınız vardır.

Windows Server ve IIS Sürümü Uygulamanızı Nasıl Etkiler?

Windows Server 2016, 2019, 2022 ve 2025 sürümleri IIS 10 ile gelir. Sürümler arasındaki fark özellik desteğinde ortaya çıkar. Örneğin HTTP/3 desteği Windows Server 2022 ile eklenmiştir.

Ayrıca her .NET sürümünün desteklediği minimum işletim sistemi sürümü farklıdır. Microsoft'un yaşam döngüsü takvimi de önemlidir: desteği sona ermiş bir Windows Server sürümü artık güvenlik güncellemesi almaz. Yeni bir projeye başlıyorsanız güncel ve uzun süreli destek alan bir sürüm seçin.


Paylaşımlı Windows Hosting'in Sınırları: Application Pool (uygulama havuzu) ve Kaynak Limitleri

Paylaşımlı Windows hosting, küçük kurumsal siteler ve düşük trafikli uygulamalar için ekonomik bir başlangıçtır. Ancak proje büyüdükçe mimari sınırlar kendini gösterir.

Tek Application Pool, Birden Fazla .NET Core Projesi: Darboğaz Nerede Başlar?

ASP.NET Core uygulamaları IIS'te iki modelde çalışabilir:

  • In-process (süreç içi): Uygulama doğrudan IIS worker process içinde çalışır. Performansı daha yüksektir.
  • Out-of-process (süreç dışı): IIS, ayrı bir Kestrel sürecine reverse proxy (ters vekil sunucu) görevi görür.

Microsoft Learn'deki ASP.NET Core dokümantasyonuna göre, in-process modelde birden fazla uygulamanın aynı Application Pool'u paylaşması desteklenmez. Paketiniz yalnızca bir havuz veriyorsa, ikinci bir .NET Core projesini ya out-of-process modelde çalıştırmanız ya da ek havuz satın almanız gerekir.

Tek havuz aynı zamanda tek bir kaynak sınırı demektir. Havuz yeniden başladığında (recycle), o havuzdaki tüm uygulamalar etkilenir.

"Sınırsız" Paketlerin Gerçek Sınırları: CPU, RAM ve Disk I/O (giriş/çıkış performansı)

"Sınırsız trafik" veya "sınırsız alan" ifadeleri genellikle disk ve bant genişliğini anlatır. Asıl darboğaz ise başka yerlerdedir:

  • CPU: Application Pool başına CPU limiti tanımlanır. Limit aşıldığında IIS havuzu yavaşlatabilir veya durdurabilir.
  • RAM: Havuz için private memory (özel bellek) sınırı vardır. Sınır aşıldığında havuz otomatik olarak yeniden başlatılır ve oturumlar kaybolabilir.
  • Disk I/O (giriş/çıkış performansı): IOPS (saniyedeki giriş/çıkış işlemi) değeri çoğu paylaşımlı pakette belirtilmez. Oysa MSSQL sorgularının hızı doğrudan bu değere bağlıdır.

Paket seçerken "sınırsız" ibaresine değil, havuz başına tanımlı CPU ve RAM değerlerine bakın.

Noisy Neighbor (gürültülü komşu) Etkisi: Paylaşımlı Ortamda Performans ve Güvenlik Riskleri

Paylaşımlı sunucuda aynı fiziksel kaynakları onlarca başka müşteriyle kullanırsınız. Bir komşunuzun yoğun sorgu yükü veya trafik artışı, sizin yanıt sürenizi uzatabilir. Bu durum noisy neighbor (gürültülü komşu) etkisi olarak bilinir.

Güvenlik tarafında da ortak bir yüzey paylaşırsınız. Sunucudaki başka bir sitenin güvenlik açığı, yanlış yapılandırılmış izinlerle birleştiğinde diğer hesapları da riske atabilir. Sağlayıcılar havuz izolasyonuyla bu riski azaltır, ancak tamamen ortadan kaldıramaz.


Paylaşımlı Hostingden Bulut Windows Sunucuya Geçiş: Ne Zaman ve Nasıl?

Bulut sunucuda size ayrılmış vCPU (sanal işlemci), RAM ve disk kaynakları bulunur. İşletim sistemi üzerinde tam yönetici yetkiniz olur ve IIS ile SQL Server'ı kendiniz yapılandırırsınız. NIST'in SP 800-145 bulut bilişim tanımına göre IaaS modelinde kullanıcı işlem, depolama ve ağ kaynaklarını kendisi tahsis eder; işletim sistemi ve uygulamalar üzerinde kontrol sahibidir.

Paylaşımlı Paketi Aştığınızı Gösteren 4 Sinyal

  1. Havuz sık sık yeniden başlıyor: Oturumlar düşüyor, kullanıcılar beklenmedik şekilde sistemden çıkıyor.
  2. Yanıt süreleri dalgalanıyor: Kodunuz değişmediği hâlde sayfa yüklenme süreleri günün saatine göre değişiyor.
  3. Sunucu düzeyinde erişim gerekiyor: Windows servisi kurmanız, zamanlanmış görev çalıştırmanız veya özel bir IIS modülü eklemeniz gerekiyor.
  4. Veritabanı Express sınırına yaklaşıyor: Veritabanınız 10 GB'a yaklaşıyor veya SQL Server Agent ile otomatik işler kurmanız gerekiyor.

Bu sinyallerden ikisini aynı anda görüyorsanız, geçiş planlamaya başlamanın zamanı gelmiştir.

Windows Server ve SQL Server Lisanslama: Pakete Dahil mi, BYOL (kendi lisansını getir) mi?

Bulut sağlayıcıları Windows Server lisansını genellikle Microsoft'un SPLA (Hizmet Sağlayıcı Lisans Sözleşmesi) programı üzerinden sunar. Bu modelde lisans bedeli aylık sunucu ücretine dahil edilir.

BYOL (kendi lisansını getir) modelinde ise elinizdeki lisansı bulut ortamına taşırsınız. Bu seçeneğin uygulanabilirliği lisans türünüze bağlıdır:

  • SQL Server: Software Assurance kapsamındaki lisanslar, License Mobility (lisans taşınabilirliği) hakkıyla paylaşımlı bulut ortamlarına taşınabilir.
  • Windows Server: Taşıma hakları daha kısıtlıdır ve Software Assurance veya abonelik koşullarına bağlıdır.

BYOL planlıyorsanız sözleşmenizi ve sağlayıcının yetkili olup olmadığını önceden kontrol edin. SQL Server Express ise ücretsizdir ve lisans maliyeti doğurmaz.

Maliyet Modeli: Sabit Paket mi, Kullandığınız Kadar Öde mi?

Sabit paket modelinde belirli kaynaklar için her ay aynı tutarı ödersiniz. Bütçe planlaması kolaydır, ancak kullanmadığınız kapasite için de ödeme yaparsınız.

Kullandığınız kadar öde modelinde ise faturanız fiilen tükettiğiniz kaynaklara göre oluşur. Kampanya dönemlerinde kaynak artırıp sakin dönemlerde azaltabilirsiniz.

Trafiği dengeli olan projeler için sabit paket öngörülebilirlik sağlar. Mevsimsel veya kampanya odaklı yük dalgalanması yaşayan projelerde ise kullandığınız kadar öde modeli daha verimlidir.


Sıkça sorulan sorular (SSS)

Windows hosting üzerinde PHP siteleri çalıştırabilir miyim?

Evet, Windows hosting üzerinde PHP sitelerini IIS'in FastCGI desteğiyle çalıştırabilirsiniz. Plesk tabanlı paketlerin çoğu PHP desteği sunar. Ancak .htaccess kurallarını web.config formatına çevirmeniz gerekir. Projenizin tamamı PHP ise Linux daha uyumlu bir seçimdir.

MSSQL veritabanına SQL Server Management Studio ile dışarıdan bağlanabilir miyim?

Evet, bulut sunucuda MSSQL veritabanına SQL Server Management Studio ile dışarıdan bağlanabilirsiniz; paylaşımlı pakette ise bu erişim sağlayıcının politikasına bağlıdır. Bulut sunucuda SQL Server'da TCP/IP protokolünü etkinleştirir ve firewall (güvenlik duvarı) üzerinde ilgili portu (varsayılan olarak TCP 1433) yalnızca kendi IP adreslerinize açarsınız. Paylaşımlı paketlerde ise dış erişim kapalı olabilir veya yalnızca IP kısıtlamasıyla açılabilir.

Sunucuya Remote Desktop (uzak masaüstü) ile tam yönetici erişimi alabilir miyim?

Hayır, paylaşımlı hostingde Remote Desktop erişimi yoktur; tam yönetici erişimini yalnızca bulut sunucuda alabilirsiniz. Paylaşımlı hostingde yönetim panel üzerinden yapılır. Bulut sunucuda ise RDP (Uzak Masaüstü Protokolü) ile Administrator yetkisinde bağlanırsınız. Güvenlik için RDP portunu internete açık bırakmak yerine VPN veya IP kısıtlaması kullanmanızı öneririz.

Verilerim hangi veri merkezinde tutulur ve KVKK gerekliliklerini karşılar mı?

Verilerinizin hangi ülkede ve hangi veri merkezinde tutulduğunu sözleşme aşamasında yazılı olarak teyit etmeniz gerekir, çünkü KVKK kişisel verilerin yurt dışına aktarılmasını özel şartlara bağlar. 6698 sayılı Kanun kapsamında Kişisel Verileri Koruma Kurumu (KVKK), yurt dışına veri aktarımı için ayrı şartlar ve usuller belirlemiştir. Teknik tedbirler (şifreleme, erişim kayıtları, yedekleme) ise veri sorumlusu olarak sizin de yükümlülüğünüzdür.

Mevcut ASP.NET sitemi bulut sunucuya taşımak ne kadar sürer?

Taşıma süresi veritabanı boyutuna, uygulama sayısına ve bağımlılıklara göre değişir; bu nedenle kesin süre mevcut ortamınız incelendikten sonra belirlenebilir. Tipik bir geçiş şu adımlardan oluşur:

  1. Sunucunun kurulması ve IIS ile .NET runtime'ın yapılandırılması,
  2. Uygulama dosyalarının Web Deploy veya FTP ile aktarılması,
  3. Veritabanının .bak dosyasıyla geri yüklenmesi,
  4. Test ve DNS yönlendirmesi.

Kesinti süresini kısaltmak için DNS TTL (yaşam süresi) değerini geçişten önce düşürün.


Sanal Makine Şablonları ile çözüm

Paylaşımlı paketin sınırlarına ulaştıysanız, bir sonraki adım için işletim sistemini sıfırdan kurmanız gerekmez. Hazır şablonlar, kurulum süresini kısaltır ve doğrudan uygulamanızın yapılandırmasına odaklanmanızı sağlar.

Hazır Windows Server Şablonundan Sanal Makine Oluşturma

Cloud4U Sanal Makine Şablonları ile önceden hazırlanmış bir işletim sistemi imajından birkaç adımda sanal makine oluşturursunuz. Şablonu seçer, kaynakları belirler ve sunucuyu başlatırsınız.

Sunucu hazır olduğunda RDP ile bağlanır, IIS rollerini ve .NET Hosting Bundle'ı ihtiyacınıza göre kurarsınız. Paylaşımlı ortamın aksine Application Pool sayısı, SQL Server yapılandırması ve zamanlanmış görevler tamamen sizin kontrolünüzdedir.

Kaynakları Projenize Göre Ölçeklendirin: CPU, RAM ve Disk

Bulut sunucuda CPU, RAM ve disk kapasitesini projenizin gerçek yüküne göre belirlersiniz. Trafik arttığında kaynakları büyütür, ihtiyaç azaldığında küçültürsünüz.

Bu esneklik, özellikle MSSQL iş yüklerinde önemlidir. Veritabanı büyüdükçe disk kapasitesini ve RAM'i artırarak sorgu performansını koruyabilirsiniz.

Şablonları İnceleyin veya Projeniz İçin Teklif Alın

ASP.NET ve MSSQL projeleriniz için paylaşımlı Windows hosting artık yetmiyorsa, kontrolü elinize alacağınız bir ortama geçmenin zamanı gelmiştir. Cloud4U, Windows iş yüklerinizi ayrılmış kaynaklar üzerinde, tam yönetici yetkisiyle çalıştırmanızı sağlar.

Mevcut seçenekleri görmek için Cloud4U Sanal Makine Şablonları sayfasını inceleyin. Projenize uygun kaynak yapılandırmasını birlikte belirlemek isterseniz, ekibimizden teklif alabilirsiniz.

İlgili içerikler


Bu size yardımcı oldu mu?
0
0
Diğer Haberler
Scroll up!