Azure Sanal Makineler üzerinde SQL Server için uygulama desenleri ve geliştirme stratejileri

Şunlar için geçerlidir: Azure VM'de SQL Server

Not

Azure’da kaynak oluşturmak ve bunlarla çalışmak için iki farklı dağıtım modeli vardır: Resource Manager ve klasik. Bu makale her iki modelin de nasıl kullanıldığını kapsıyor olsa da, Microsoft en yeni dağıtımların Resource Manager modelini kullanmasını önermektedir.

Genel bakış

Bir Azure ortamında SQL Server tabanlı uygulamalarınız için hangi uygulama desenini veya desenlerini kullanacağınızı belirlemek önemli bir tasarım kararıdır ve SQL Server ile Azure'ın her bir altyapı bileşeninin birlikte nasıl çalıştığı konusunda sağlam bir anlayış gerektirir. Azure Altyapı Hizmetleri'ndeki SQL Server ile Windows Server üzerinde oluşturulan mevcut SQL Server uygulamalarınızı Azure'daki sanal makinelere (VM) kolayca geçirebilir, koruyabilir ve izleyebilirsiniz.

Bu makalenin amacı, çözüm mimarlarına ve geliştiricilere, mevcut uygulamaları Azure'a geçirirken ve Azure'da yeni uygulamalar geliştirirken izleyebilecekleri iyi uygulama mimarisi ve tasarımı için bir temel sağlamaktır.

Her uygulama düzeni için bir şirket içi senaryo, ilgili bulut özellikli çözümü ve ilgili teknik önerileri bulacaksınız. Ayrıca makalede, uygulamalarınızı doğru bir şekilde tasarlayabileceğiniz Azure'a özgü geliştirme stratejileri ele alınmaktadır. Birçok olası uygulama deseni nedeniyle, mimarların ve geliştiricilerin uygulamaları ve kullanıcıları için en uygun deseni seçmesi önerilir.

Teknik katkıda bulunanlar: Luis Carlos Vargas Herring, Madhan Arumugam Ramakrishnan

Teknik hakemler: Corey Sanders, Drew McDaniel, Narayan Annamalai, Nir Mashkowski, Sanjay Mishra, Silvano Coriani, Stefan Schackow, Tim Hickey, Tim Wieman, Xin Jin

Giriş

Farklı makinelerde ve ayrı bileşenlerde farklı uygulama katmanlarının bileşenlerini ayırarak birçok n katmanlı uygulama türü geliştirebilirsiniz. Örneğin, istemci uygulaması ve iş kuralları bileşenlerini bir makineye, ön uç web katmanı ve veri erişim katmanı bileşenlerini başka bir makineye, arka uç veritabanı katmanını da başka bir makineye yerleştirebilirsiniz. Bu tür bir yapılandırma, her katmanı birbirinden yalıtmanıza yardımcı olur. Verilerin geldiği yeri değiştirirseniz, istemci veya web uygulamasını değil, yalnızca veri erişim katmanı bileşenlerini değiştirmeniz gerekir.

Tipik bir n katmanlı uygulama sunu katmanını, iş katmanını ve veri katmanını içerir:

Katman Açıklama
Sunum Sunu katmanı (web katmanı, ön uç katmanı), kullanıcıların bir uygulamayla etkileşimde bulunduğu katmandır.
İş İş katmanı (orta katman), sunu katmanının ve veri katmanının birbirleriyle iletişim kurmak için kullandığı katmandır ve sistemin temel işlevselliğini içerir.
Veri Veri katmanı temelde bir uygulamanın verilerini (örneğin, SQL Server çalıştıran bir sunucu) depolayan sunucudur.

Uygulama katmanları, bir uygulamadaki işlevlerin ve bileşenlerin mantıksal gruplandırmalarını açıklar; katmanlar ise işlevlerin ve bileşenlerin ayrı fiziksel sunucularda, bilgisayarlarda, ağlarda veya uzak konumlarda fiziksel dağılımını açıklar. Bir uygulamanın katmanları aynı fiziksel bilgisayarda (aynı katman) bulunabilir veya ayrı bilgisayarlar (n katmanı) üzerinden dağıtılabilir ve her katmandaki bileşenler iyi tanımlanmış arabirimler aracılığıyla diğer katmanlardaki bileşenlerle iletişim kurabilir. Terim katmanını iki katmanlı, üç katmanlı ve n katmanlı gibi fiziksel dağıtım desenlerine başvurma olarak düşünebilirsiniz. 2 katmanlı uygulama deseni iki uygulama katmanı içerir: uygulama sunucusu ve veritabanı sunucusu. Doğrudan iletişim, uygulama sunucusu ile veritabanı sunucusu arasında gerçekleşir. Uygulama sunucusu hem web katmanı hem de iş katmanı bileşenleri içerir. 3 katmanlı uygulama düzeninde üç uygulama katmanı vardır: web sunucusu, iş mantığı katmanını ve/veya iş katmanı veri erişim bileşenlerini içeren uygulama sunucusu ve veritabanı sunucusu. Web sunucusu ile veritabanı sunucusu arasındaki iletişim uygulama sunucusu üzerinden gerçekleşir. Uygulama katmanları ve katmanları hakkında ayrıntılı bilgi için bkz . Microsoft Uygulama Mimarisi Kılavuzu.

Bu makaleyi okumaya başlamadan önce SQL Server ve Azure'ın temel kavramları hakkında bilgi sahibi olmanız gerekir. Bilgi için bkz. SQL Server Books Online, Azure'da SQL Server Sanal Makineler ve Azure.com.

Bu makalede, basit uygulamalarınız ve son derece karmaşık kurumsal uygulamalarınız için uygun olabilecek çeşitli uygulama desenleri açıklanmaktadır. Her düzeni ayrıntılı olarak belirtmeden önce, Azure sanal makinesinde Azure Depolama, Azure SQL Veritabanı ve SQL Server gibi Azure'daki kullanılabilir veri depolama hizmetleri hakkında bilgi sahibi olmanız önerilir. Uygulamalarınız için en iyi tasarım kararlarını vermek için hangi veri depolama hizmetinin ne zaman kullanılacağını net bir şekilde anlayın.

Azure Sanal Makineler'da SQL Server'ı şu durumlarda seçin:

  • SQL Server ve Windows üzerinde denetime ihtiyacınız vardır. Örneğin, bu SQL Server sürümünü, özel düzeltmeleri, performans yapılandırmasını vb. içerebilir.

  • SQL Server ile tam uyumluluğa ihtiyacınız var ve mevcut uygulamaları olduğu gibi Azure'a taşımak istiyorsunuz.

  • Azure ortamının özelliklerinden yararlanmak istiyorsunuz ancak Azure SQL Veritabanı uygulamanızın gerektirdiği tüm özellikleri desteklemiyor. Bu, aşağıdaki alanları içerebilir:

1 katmanlı (basit): Tek sanal makine

Bu uygulama düzeninde, SQL Server uygulamanızı ve veritabanınızı Azure'daki tek başına bir sanal makineye dağıtırsınız. Aynı sanal makine istemcinizi/web uygulamanızı, iş bileşenlerinizi, veri erişim katmanınızı ve veritabanı sunucunuzu içerir. Sunu, iş ve veri erişim kodu mantıksal olarak ayrılmıştır ancak fiziksel olarak tek sunuculu bir makinede bulunur. Müşterilerin çoğu bu uygulama düzeniyle başlar ve ardından sistemlerine daha fazla web rolü veya sanal makine ekleyerek ölçeği genişletir.

Bu uygulama düzeni aşağıdaki durumlarda kullanışlıdır:

  • Platformun uygulamanızın gereksinimlerini karşılayıp karşılamadığını değerlendirmek için Azure platformuna basit bir geçiş gerçekleştirmek istiyorsunuz.
  • Katmanlar arasındaki gecikme süresini azaltmak için aynı sanal makinede barındırılan tüm uygulama katmanlarını aynı Azure veri merkezinde tutmak istiyorsunuz.
  • Geliştirme ve test ortamlarını kısa süreler için hızlı bir şekilde sağlamak istiyorsunuz.
  • Değişen iş yükü düzeyleri için stres testi yapmak istiyorsunuz, ancak aynı zamanda her zaman birçok fiziksel makineye sahip olmak ve bunların bakımını yapmak istemiyorsunuz.

Aşağıdaki diyagramda basit bir şirket içi senaryo ve bulut özellikli çözümünü Azure'daki tek bir sanal makinede nasıl dağıtabileceğiniz gösterilmektedir.

1 katmanlı uygulama düzeni

İş katmanının (iş mantığı ve veri erişim bileşenleri) sunu katmanıyla aynı fiziksel katmana dağıtılması, ölçeklenebilirlik veya güvenlik endişeleri nedeniyle ayrı bir katman kullanmanız gerekmediği sürece uygulama performansını en üst düzeye çıkarabilir.

Bu çok yaygın bir desen olduğundan, geçişle ilgili aşağıdaki makaleyi verilerinizi SQL Server VM'nize taşımak için yararlı bulabilirsiniz: Geçiş kılavuzu: AZURE Sanal Makineler'de SQL Server'dan SQL Server'a.

3 katmanlı (basit): Birden çok sanal makine

Bu uygulama düzeninde, her bir uygulama katmanını farklı bir sanal makineye yerleştirerek Azure'da 3 katmanlı bir uygulama dağıtacaksınız. Bu, kolay bir ölçek artırma ve ölçeği genişletme senaryoları için esnek bir ortam sağlar. Bir sanal makine istemcinizi/web uygulamanızı içerdiğinde, diğeri iş bileşenlerinizi barındırırken diğeri veritabanı sunucusunu barındırıyor.

Bu uygulama düzeni aşağıdaki durumlarda kullanışlıdır:

  • Karmaşık veritabanı uygulamalarının Azure Sanal Makineler geçişini gerçekleştirmek istiyorsunuz.
  • Farklı uygulama katmanlarının farklı bölgelerde barındırılmasını istiyorsunuz. Örneğin, raporlama amacıyla birden çok bölgeye dağıtılan paylaşılan veritabanlarınız olabilir.
  • Kurumsal uygulamaları şirket içi sanallaştırılmış platformlardan Azure Sanal Makineler taşımak istiyorsunuz. Kurumsal uygulamalar hakkında ayrıntılı bir tartışma için bkz . Kurumsal Uygulama nedir?
  • Geliştirme ve test ortamlarını kısa süreler için hızlı bir şekilde sağlamak istiyorsunuz.
  • Değişen iş yükü düzeyleri için stres testi yapmak istiyorsunuz, ancak aynı zamanda her zaman birçok fiziksel makineye sahip olmak ve bunların bakımını yapmak istemiyorsunuz.

Aşağıdaki diyagramda, her bir uygulama katmanını farklı bir sanal makineye yerleştirerek Basit bir 3 katmanlı uygulamayı Azure'a nasıl yerleştirebileceğiniz gösterilmektedir.

3 katmanlı uygulama düzeni

Bu uygulama düzeninde, her katmanda yalnızca bir sanal makine vardır. Azure'da birden çok VM'niz varsa bir sanal ağ kurmanızı öneririz. Azure Sanal Ağ güvenilir bir güvenlik sınırı oluşturur ve vm'lerin özel IP adresi üzerinden kendi aralarında iletişim kurmasına da olanak tanır. Ayrıca, her zaman tüm İnternet bağlantılarının yalnızca sunu katmanına gittiğinden emin olun. Bu uygulama düzenini uygularken, erişimi denetlemek için ağ güvenlik grubu kurallarını yönetin. Daha fazla bilgi için bkz . Azure portalını kullanarak SANAL makinenize dış erişime izin verme.

Diyagramda, İnternet Protokolleri TCP, UDP, HTTP veya HTTPS olabilir.

Not

Azure'da sanal ağ kurmak ücretsizdir. Ancak şirket içi ağa bağlanan VPN ağ geçidi için ücretlendirilirsiniz. Bu ücretlendirme, bağlantının sağlandığı ve kullanılabilir olduğu saat üzerinden hesaplanır.

Sunu katmanı ölçeği genişletme ile 2 katmanlı ve 3 katmanlı

Bu uygulama düzeninde, her bir uygulama katmanını farklı bir sanal makineye yerleştirerek 2 katmanlı veya 3 katmanlı veritabanı uygulamasını Azure Sanal Makineler dağıtacaksınız. Ayrıca, gelen istemci isteklerinin hacminin artması nedeniyle sunu katmanının ölçeğini genişletebilirsiniz.

Bu uygulama düzeni aşağıdaki durumlarda kullanışlıdır:

  • Kurumsal uygulamaları şirket içi sanallaştırılmış platformlardan Azure Sanal Makineler taşımak istiyorsunuz.
  • Gelen istemci isteklerinin hacminin artması nedeniyle sunu katmanının ölçeğini genişletmek istiyorsunuz.
  • Geliştirme ve test ortamlarını kısa süreler için hızlı bir şekilde sağlamak istiyorsunuz.
  • Değişen iş yükü düzeyleri için stres testi yapmak istiyorsunuz, ancak aynı zamanda her zaman birçok fiziksel makineye sahip olmak ve bunların bakımını yapmak istemiyorsunuz.
  • İsteğe bağlı olarak ölçeği artırıp azaltabilen bir altyapı ortamına sahip olmak istiyorsunuz.

Aşağıdaki diyagramda, gelen istemci isteklerinin hacminin artması nedeniyle sunu katmanının ölçeğini genişleterek uygulama katmanlarını Azure'daki birden çok sanal makineye nasıl yerleştirebileceğiniz gösterilmektedir. Diyagramda görüldüğü gibi Azure Load Balancer, trafiği birden çok sanal makineye dağıtmaktan ve hangi web sunucusuna bağlanacaklarını belirlemekle sorumludur. Bir yük dengeleyicinin arkasında web sunucularının birden çok örneğinin olması, sunu katmanının yüksek kullanılabilirliğini sağlar.

Uygulama düzeni - sunu katmanı ölçeği genişletme

Tek katmanda birden çok VM'ye sahip 2 katmanlı, 3 katmanlı veya n katmanlı desenler için en iyi yöntemler

Aynı katmana ait sanal makineleri aynı bulut hizmetine ve aynı kullanılabilirlik kümesine yerleştirmeniz önerilir. Örneğin, CloudService1 ve AvailabilitySet1'e bir dizi web sunucusu, CloudService2 ve AvailabilitySet2'ye de bir veritabanı sunucusu kümesi yerleştirin. Azure'daki kullanılabilirlik kümesi, yüksek kullanılabilirlik düğümlerini ayrı hata etki alanlarına ve yükseltme etki alanlarına yerleştirmenize olanak tanır.

Bir katmanın birden çok VM örneğinden yararlanmak için uygulama katmanları arasında Azure Load Balancer'ı yapılandırmanız gerekir. Her katmanda Load Balancer'ı yapılandırmak için her katmanın VM'lerinde ayrı olarak yük dengeli bir uç nokta oluşturun. Belirli bir katman için ilk olarak aynı bulut hizmetinde VM'ler oluşturun. Bu, aynı genel Sanal IP adresine sahip olmalarını sağlar. Ardından, bu katmandaki sanal makinelerden birinde bir uç nokta oluşturun. Ardından, yük dengeleme için aynı uç noktayı bu katmandaki diğer sanal makinelere atayın. Yük dengeli bir küme oluşturarak trafiği birden çok sanal makineye dağıtırsınız ve ayrıca Load Balancer'ın arka uç VM düğümü başarısız olduğunda hangi düğümün bağlandığını belirlemesine izin verirsiniz. Örneğin, bir yük dengeleyicinin arkasında web sunucularının birden çok örneğinin olması, sunu katmanının yüksek kullanılabilirliğini sağlar.

En iyi uygulama olarak, her zaman tüm internet bağlantılarının önce sunu katmanına gittiğinden emin olun. Sunu katmanı iş katmanına, iş katmanı ise veri katmanına erişir. Sunu katmanına erişime izin verme hakkında daha fazla bilgi için bkz . Azure portalını kullanarak VM'nize dış erişime izin verme.

Azure'daki Load Balancer'ın şirket içi ortamdaki yük dengeleyicilere benzer şekilde çalıştığını unutmayın. Daha fazla bilgi için bkz . Azure altyapı hizmetleri için yük dengeleme.

Ayrıca, Azure Sanal Ağ kullanarak sanal makineleriniz için özel bir ağ ayarlamanızı öneririz. Bu, kendi aralarında özel IP adresi üzerinden iletişim kurmalarını sağlar. Daha fazla bilgi için bkz. Azure Sanal Ağ.

İş katmanı ölçeği genişletme ile 2 katmanlı ve 3 katmanlı

Bu uygulama düzeninde, her bir uygulama katmanını farklı bir sanal makineye yerleştirerek Azure Sanal Makineler'a 2 katmanlı veya 3 katmanlı bir veritabanı uygulaması dağıtırsınız. Ayrıca, uygulamanızın karmaşıklığı nedeniyle uygulama sunucusu bileşenlerini birden çok sanal makineye dağıtmak isteyebilirsiniz.

Bu uygulama düzeni aşağıdaki durumlarda kullanışlıdır:

  • Kurumsal uygulamaları şirket içi sanallaştırılmış platformlardan Azure Sanal Makineler taşımak istiyorsunuz.
  • Uygulamanızın karmaşıklığı nedeniyle uygulama sunucusu bileşenlerini birden çok sanal makineye dağıtmak istiyorsunuz.
  • İş mantığı yoğun şirket içi LOB (iş kolu) uygulamalarını Azure Sanal Makineler'e taşımak istiyorsunuz. LOB uygulamaları muhasebe, insan kaynakları (İk), bordro, tedarik zinciri yönetimi ve kaynak planlama uygulamaları gibi bir işletmenin çalıştırılması için çok önemli olan bir dizi kritik bilgisayar uygulamasıdır.
  • Geliştirme ve test ortamlarını kısa süreler için hızlı bir şekilde sağlamak istiyorsunuz.
  • Değişen iş yükü düzeyleri için stres testi yapmak istiyorsunuz, ancak aynı zamanda her zaman birçok fiziksel makineye sahip olmak ve bunların bakımını yapmak istemiyorsunuz.
  • İsteğe bağlı olarak ölçeği artırıp azaltabilen bir altyapı ortamına sahip olmak istiyorsunuz.

Aşağıdaki diyagramda şirket içi bir senaryo ve bulut özellikli çözümü gösterilmektedir. Bu senaryoda, iş mantığı katmanını ve veri erişim bileşenlerini içeren iş katmanını genişleterek uygulama katmanlarını Azure'daki birden çok sanal makineye yerleştirirsiniz. Diyagramda görüldüğü gibi Azure Load Balancer, trafiği birden çok sanal makineye dağıtmaktan ve hangi web sunucusuna bağlanacaklarını belirlemekle sorumludur. Bir yük dengeleyicinin arkasında uygulama sunucularının birden çok örneğinin olması, iş katmanının yüksek kullanılabilirliğini sağlar. Daha fazla bilgi için bkz . Tek katmanda birden çok sanal makine içeren 2 katmanlı, 3 katmanlı veya n katmanlı uygulama desenleri için en iyi yöntemler.

İş katmanı ölçeği genişletme ile uygulama deseni

Sunu ve iş katmanları ölçeği genişletme ve HADR ile 2 katmanlı ve 3 katmanlı

Bu uygulama düzeninde, sunu katmanını (web sunucusu) ve iş katmanı (uygulama sunucusu) bileşenlerini birden çok sanal makineye dağıtarak Azure Sanal Makineler'a 2 katmanlı veya 3 katmanlı bir veritabanı uygulaması dağıtacaksınız. Ayrıca, Azure Sanal Makineler veritabanlarınız için yüksek kullanılabilirlik ve olağanüstü durum kurtarma (HADR) çözümleri uygularsınız.

Bu uygulama düzeni aşağıdaki durumlarda kullanışlıdır:

  • SQL Server yüksek kullanılabilirlik ve olağanüstü durum kurtarma özelliklerini uygulayarak kurumsal uygulamaları şirket içi sanallaştırılmış platformlardan Azure'a taşımak istiyorsunuz.
  • Gelen istemci isteklerinin hacminin artması ve uygulamanızın karmaşıklığı nedeniyle sunu katmanının ve iş katmanının ölçeğini genişletmek istiyorsunuz.
  • Geliştirme ve test ortamlarını kısa süreler için hızlı bir şekilde sağlamak istiyorsunuz.
  • Değişen iş yükü düzeyleri için stres testi yapmak istiyorsunuz, ancak aynı zamanda her zaman birçok fiziksel makineye sahip olmak ve bunların bakımını yapmak istemiyorsunuz.
  • İsteğe bağlı olarak ölçeği artırıp azaltabilen bir altyapı ortamına sahip olmak istiyorsunuz.

Aşağıdaki diyagramda şirket içi bir senaryo ve bulut özellikli çözümü gösterilmektedir. Bu senaryoda, Azure'da birden çok sanal makinede sunu katmanının ve iş katmanı bileşenlerinin ölçeğini genişletebilirsiniz. Ayrıca, Azure'daki SQL Server veritabanları için yüksek kullanılabilirlik ve olağanüstü durum kurtarma (HADR) teknikleri uygularsınız.

Farklı VM'lerde bir uygulamanın birden çok kopyasını çalıştırmak, bunlar arasında yük dengeleme istekleri yaptığınızdan emin olun. Birden çok sanal makineniz olduğunda, tüm VM'lerinizin erişilebilir olduğundan ve belirli bir noktada çalıştığından emin olmanız gerekir. Yük dengelemeyi yapılandırdığınızda Azure Load Balancer, VM'lerin durumunu izler ve gelen çağrıları düzgün çalışan VM düğümlerine yönlendirir. Sanal makinelerin yük dengelemesini ayarlama hakkında bilgi için bkz . Azure altyapı hizmetleri için yük dengeleme. Bir yük dengeleyicinin arkasında birden çok web ve uygulama sunucusu örneği olması, sununun ve iş katmanlarının yüksek kullanılabilirliğini sağlar.

Ölçeği genişletme ve yüksek kullanılabilirlik

SQL HADR gerektiren uygulama desenleri için en iyi yöntemler

Azure Sanal Makineler'da SQL Server yüksek kullanılabilirlik ve olağanüstü durum kurtarma çözümleri ayarladığınızda, Azure Sanal Ağ kullanarak sanal makineleriniz için bir sanal ağ ayarlamak zorunludur. Bir Sanal Ağ içindeki sanal makinelerin hizmet kapalı kalma süresinden sonra bile kararlı bir özel IP adresi olacaktır, bu nedenle DNS adı çözümlemesi için gereken güncelleştirme süresini önleyebilirsiniz. Buna ek olarak, sanal ağ şirket içi ağınızı Azure'a genişletmenize olanak tanır ve güvenilir bir güvenlik sınırı oluşturur. Örneğin, uygulamanızın şirket etki alanı kısıtlamaları varsa (Windows kimlik doğrulaması, Active Directory gibi), Azure Sanal Ağ ayarlamak gerekir.

Azure'da üretim kodu çalıştıran müşterilerin çoğu hem birincil hem de ikincil çoğaltmaları Azure'da tutuyor.

Yüksek kullanılabilirlik ve olağanüstü durum kurtarma teknikleri hakkında kapsamlı bilgi ve öğreticiler için bkz. Azure Sanal Makineler'de SQL Server için Yüksek Kullanılabilirlik ve Olağanüstü Durum Kurtarma.

Azure Sanal Makineler ve Cloud Services kullanarak 2 katmanlı ve 3 katmanlı

Bu uygulama düzeninde hem Azure Cloud Services (web ve çalışan rolleri - Hizmet Olarak Platform (PaaS)) hem de Azure Sanal Makineler (Hizmet Olarak Altyapı (IaaS) kullanarak Azure'a 2 katmanlı veya 3 katmanlı uygulama dağıtacaksınız. Sunu katmanı/iş katmanı için Azure Cloud Services ve veri katmanı için Azure Sanal Makineler'de SQL Server kullanmak, Azure'da çalışan çoğu uygulama için yararlıdır. Bunun nedeni, Cloud Services üzerinde çalışan bir işlem örneğinin kolayca yönetim, dağıtım, izleme ve ölçeği genişletme olanağı sağlamasıdır.

Azure, Cloud Services ile altyapıyı sizin için korur, rutin bakım gerçekleştirir, işletim sistemlerine düzeltme eki uygular ve hizmet ve donanım hatalarından kurtarma girişiminde bulunur. Uygulamanızın ölçeği genişletmeye ihtiyacı olduğunda, uygulamanız tarafından kullanılan örnek veya sanal makine sayısını artırarak veya azaltarak bulut hizmeti projeniz için otomatik ve el ile genişletme seçenekleri kullanılabilir. Ayrıca, uygulamanızı Azure'daki bir bulut hizmeti projesine dağıtmak için şirket içi Visual Studio'yu kullanabilirsiniz.

Özetle, sunu/iş katmanı için kapsamlı yönetim görevlerine sahip olmak istemiyorsanız ve uygulamanız herhangi bir karmaşık yazılım veya işletim sistemi yapılandırmasına ihtiyaç duymazsa Azure Cloud Services'ı kullanın. Azure SQL Veritabanı aradığınız tüm özellikleri desteklemiyorsa, veri katmanı için Azure sanal makinesinde SQL Server kullanın. Azure Cloud Services üzerinde bir uygulama çalıştırmak ve Verileri Azure Sanal Makineler'da depolamak her iki hizmetin de avantajlarını birleştirir. Ayrıntılı karşılaştırma için bu konudaki Azure'da geliştirme stratejilerini karşılaştırma bölümüne bakın.

Bu uygulama düzeninde sunu katmanı, Azure yürütme ortamında çalışan bir Cloud Services bileşeni olan ve IIS ve ASP.NET tarafından desteklenen web uygulaması programlaması için özelleştirilmiş bir web rolü içerir. İş veya arka uç katmanı, Azure yürütme ortamında çalışan bir Cloud Services bileşeni olan ve genelleştirilmiş geliştirme için yararlı olan ve bir web rolü için arka plan işleme gerçekleştirebilen bir çalışan rolü içerir. Veritabanı katmanı, Azure'daki bir SQL Server sanal makinesinde bulunur. Sunu katmanı ile veritabanı katmanı arasındaki iletişim doğrudan veya iş katmanı üzerinden gerçekleşir: çalışan rolü bileşenleri.

Bu uygulama düzeni aşağıdaki durumlarda kullanışlıdır:

  • SQL Server yüksek kullanılabilirlik ve olağanüstü durum kurtarma özelliklerini uygulayarak kurumsal uygulamaları şirket içi sanallaştırılmış platformlardan Azure'a taşımak istiyorsunuz.
  • İsteğe bağlı olarak ölçeği artırıp azaltabilen bir altyapı ortamına sahip olmak istiyorsunuz.
  • Azure SQL Veritabanı, uygulamanızın veya veritabanınızın ihtiyaç duyduğu tüm özellikleri desteklemez.
  • Değişen iş yükü düzeyleri için stres testi yapmak istiyorsunuz, ancak aynı zamanda her zaman birçok fiziksel makineye sahip olmak ve bunların bakımını yapmak istemiyorsunuz.

Aşağıdaki diyagramda şirket içi bir senaryo ve bulut özellikli çözümü gösterilmektedir. Bu senaryoda sunu katmanını web rollerine, iş katmanını çalışan rollerine, veri katmanını ise Azure'daki sanal makinelere yerleştirirsiniz. Farklı web rollerinde sunu katmanının birden çok kopyasını çalıştırmak, isteklerin yük dengelemesini sağlar. Azure Cloud Services'ı Azure Sanal Makineler ile birleştirdiğinizde, Azure Sanal Ağ'ı da ayarlamanızı öneririz. Azure Sanal Ağ ile, bulutta aynı bulut hizmeti içinde kararlı ve kalıcı özel IP adreslerine sahip olabilirsiniz. Sanal makineleriniz ve bulut hizmetleriniz için bir sanal ağ tanımladığınızda, özel IP adresi üzerinden kendi aralarında iletişim kurmaya başlayabilirler. Ayrıca, sanal makinelerin ve Azure web/çalışan rollerinin aynı Azure Sanal Ağ sahip olması, düşük gecikme süresi ve daha güvenli bağlantı sağlar. Daha fazla bilgi için bkz . Bulut hizmeti nedir?

Diyagramda görüldüğü gibi Azure Load Balancer trafiği birden çok sanal makineye dağıtır ve ayrıca hangi web sunucusuna veya uygulama sunucusuna bağlanacaklarını belirler. Bir yük dengeleyicinin arkasında web ve uygulama sunucularının birden çok örneğinin olması, sunu katmanının ve iş katmanının yüksek kullanılabilirliğini sağlar. Daha fazla bilgi için bkz . SQL HADR gerektiren uygulama desenleri için en iyi yöntemler.

Diyagram, Azure yük dengeleyici aracılığıyla azure sanal ağındaki web rolü örneklerine bağlı şirket içi fiziksel veya sanal makineleri gösterir.

Bu uygulama desenini uygulamaya yönelik bir diğer yaklaşım da, aşağıdaki diyagramda gösterildiği gibi hem sunu katmanı hem de iş katmanı bileşenlerini içeren birleştirilmiş bir web rolü kullanmaktır. Bu uygulama düzeni, durum bilgisi olan tasarım gerektiren uygulamalar için kullanışlıdır. Azure, web ve çalışan rollerinde durum bilgisi olmayan işlem düğümleri sağladığından, şu teknolojilerden birini kullanarak oturum durumunu depolamak için bir mantık uygulamanızı öneririz: Azure Önbelleğe Alma, Azure Tablo Depolama veya Azure SQL Veritabanı.

Diyagram, bir Azure sanal ağındaki birleştirilmiş web/çalışan rolü örneklerine bağlı şirket içi fiziksel veya sanal makineleri gösterir.

Azure Sanal Makineler, Azure SQL Veritabanı ve Azure Uygulaması Hizmeti (Web Apps) ile desen

Bu uygulama düzeninin birincil hedefi, hizmet olarak Azure altyapısı (IaaS) bileşenlerini çözümünüzdeki Azure hizmet olarak platform bileşenleri (PaaS) ile birleştirmeyi göstermektir. Bu düzen ilişkisel veri depolama için Azure SQL Veritabanı odaklanmıştır. Hizmet olarak Azure altyapısı teklifinin parçası olan bir Azure sanal makinesinde SQL Server içermez.

Bu uygulama düzeninde, sunu ve iş katmanlarını aynı sanal makineye yerleştirerek ve Azure SQL Veritabanı (SQL Veritabanı) sunuculardaki bir veritabanına erişerek bir veritabanı uygulamasını Azure'a dağıtacaksınız. Geleneksel IIS tabanlı web çözümlerini kullanarak sunu katmanını uygulayabilirsiniz. Alternatif olarak, Azure Uygulaması Hizmeti kullanarak birleştirilmiş sunu ve iş katmanı uygulayabilirsiniz.

Bu uygulama düzeni aşağıdaki durumlarda kullanışlıdır:

  • Azure'da zaten yapılandırılmış bir SQL Veritabanı sunucunuz var ve uygulamanızı hızlı bir şekilde test etmek istiyorsunuz.
  • Azure ortamının özelliklerini test etmek istiyorsunuz.
  • Geliştirme ve test ortamlarını kısa süreler için hızlı bir şekilde sağlamak istiyorsunuz.
  • İş mantığınız ve veri erişim bileşenleriniz bir web uygulamasında kendi kendine bulunabilir.

Aşağıdaki diyagramda şirket içi bir senaryo ve bulut özellikli çözümü gösterilmektedir. Bu senaryoda, uygulama katmanlarını Azure'da tek bir sanal makineye yerleştirir ve Azure SQL Veritabanı'daki verilere erişebilirsiniz.

Karma uygulama düzeni

Azure Web Apps kullanarak birleştirilmiş bir web ve uygulama katmanı uygulamayı seçerseniz, orta katman veya uygulama katmanını bir web uygulaması bağlamında dinamik bağlantı kitaplıkları (DLL' ler) olarak tutmanızı öneririz.

Ayrıca programlama teknikleri hakkında daha fazla bilgi edinmek için bu makalenin sonundaki Azure'da web geliştirme stratejilerini karşılaştırma bölümünde verilen önerileri gözden geçirin.

N katmanlı karma uygulama deseni

N katmanlı karma uygulama düzeninde, uygulamanızı şirket içi ile Azure arasında dağıtılmış birden çok katmanda uygularsınız. Bu nedenle, diğer katmanları değiştirmeden belirli bir katmanı değiştirebileceğiniz veya ekleyebileceğiniz esnek ve yeniden kullanılabilir bir karma sistem oluşturursunuz. Şirket ağınızı buluta genişletmek için Azure Sanal Ağ hizmetini kullanırsınız.

Bu karma uygulama düzeni aşağıdaki durumlarda kullanışlıdır:

  • Kısmen bulutta ve kısmen şirket içinde çalışan uygulamalar oluşturmak istiyorsunuz.
  • Mevcut bir şirket içi uygulamanın öğelerinin bazılarını veya tümünü buluta geçirmek istiyorsunuz.
  • Kurumsal uygulamaları şirket içi sanallaştırılmış platformlardan Azure'a taşımak istiyorsunuz.
  • İsteğe bağlı olarak ölçeği artırıp azaltabilen bir altyapı ortamına sahip olmak istiyorsunuz.
  • Geliştirme ve test ortamlarını kısa süreler için hızlı bir şekilde sağlamak istiyorsunuz.
  • Kurumsal veritabanı uygulamaları için yedek almak için uygun maliyetli bir yol istiyorsunuz.

Aşağıdaki diyagramda şirket içi ve Azure'a yayılan n katmanlı karma uygulama deseni gösterilmektedir. Diyagramda gösterildiği gibi, şirket içi altyapı, kullanıcı kimlik doğrulamasını ve yetkilendirmesini desteklemek için Active Directory Etki Alanı Services etki alanı denetleyicisini içerir. Diyagramda veri katmanının bazı bölümlerinin şirket içi veri merkezinde, bazı bölümlerinin ise Azure'da yaşadığı bir senaryo gösterildiğine dikkat edin. Uygulamanızın gereksinimlerine bağlı olarak, başka birçok karma senaryo uygulayabilirsiniz. Örneğin, sunu katmanını ve iş katmanını şirket içi ortamda ancak Azure'daki veri katmanında tutabilirsiniz.

N katmanlı uygulama deseni

Azure'da kimlik ve erişim yönetimi için Microsoft Entra Id (eski adıYla Azure Active Directory) kullanabilir veya mevcut bir şirket içi Active Directory Microsoft Entra ID ile tümleştirebilirsiniz. Diyagramda görüldüğü gibi, iş katmanı bileşenleri birden çok veri kaynağında kimlik doğrulaması yapabilir: Özel bir iç IP adresi aracılığıyla Azure VM'lerinde SQL Server, Azure Sanal Ağ aracılığıyla şirket içi SQL Server veya .NET Framework veri sağlayıcısı teknolojilerini kullanarak Azure SQL Veritabanı. Bu diyagramda Azure SQL Veritabanı isteğe bağlı bir veri depolama hizmetidir.

N katmanlı karma uygulama deseninde, aşağıdaki iş akışını belirtilen sırayla uygulayabilirsiniz:

  1. Microsoft Değerlendirme ve Planlama (MAP) Araç Seti'ni kullanarak buluta taşınması gereken kurumsal veritabanı uygulamalarını belirleyin. MAP Araç Seti, sanallaştırma için düşündüğünüz bilgisayarlardan envanter ve performans verilerini toplar ve kapasite ve değerlendirme planlamasıyla ilgili öneriler sağlar.

  2. Depolama hesapları ve sanal makineler gibi Azure platformunda gereken kaynakları ve yapılandırmayı planlayın.

  3. Şirket içi şirket ağı ile Azure Sanal Ağ arasında ağ bağlantısı kurma. Şirket içi şirket ağı ile Azure'daki bir sanal makine arasındaki bağlantıyı ayarlamak için aşağıdaki iki yöntemden birini kullanın:

    1. Azure'da bir sanal makinedeki genel uç noktalar aracılığıyla şirket içi ile Azure arasında bağlantı kurun. Bu yöntem kolay bir kurulum sağlar ve sanal makinenizde SQL Server kimlik doğrulamasını kullanmanızı sağlar. Ayrıca, vm'ye yönelik genel trafiği denetlemek için ağ güvenlik grubu kurallarınızı ayarlayın. Daha fazla bilgi için bkz . Azure portalını kullanarak SANAL makinenize dış erişime izin verme.

    2. Azure Sanal Özel ağ (VPN) tüneli aracılığıyla şirket içi ile Azure arasında bağlantı kurun. Bu yöntem, etki alanı ilkelerini Azure'daki bir sanal makineye genişletmenize olanak tanır. Ayrıca, sanal makinenizde güvenlik duvarı kuralları ayarlayabilir ve Windows kimlik doğrulamayı kullanabilirsiniz. Şu anda güvenli siteden siteye VPN ve noktadan siteye VPN bağlantıları Azure desteği:

      • Güvenli siteden siteye bağlantı ile şirket içi ağınızla Azure'daki sanal ağınız arasında ağ bağlantısı kurabilirsiniz. Şirket içi veri merkezi ortamınızı Azure'a bağlamanız önerilir.
      • Noktadan siteye güvenli bağlantı ile Azure'daki sanal ağınız ile her yerde çalışan tek tek bilgisayarlarınız arasında ağ bağlantısı kurabilirsiniz. Çoğunlukla geliştirme ve test amacıyla önerilir.

      Azure'da SQL Server'a bağlanma hakkında bilgi için bkz . Azure'da SQL Server sanal makinesine bağlanma.

  4. Azure'da bir sanal makine diskinde şirket içi verileri yedekleyen zamanlanmış işleri ve uyarıları ayarlayın. Daha fazla bilgi için bkz. Azure Blob Depolama ile SQL Server Yedekleme ve Geri Yükleme ve Azure Sanal Makineler'da SQL Server için Yedekleme ve Geri Yükleme.

  5. Uygulamanızın gereksinimlerine bağlı olarak, aşağıdaki üç yaygın senaryodan birini uygulayabilirsiniz:

    1. Web sunucunuzu, uygulama sunucunuzu ve duyarsız verilerinizi Azure'daki bir veritabanı sunucusunda tutarken, hassas verileri şirket içinde tutabilirsiniz.
    2. Web sunucunuzu ve uygulama sunucunuzu şirket içinde tutarken, veritabanı sunucusunu Azure'daki bir sanal makinede tutabilirsiniz.
    3. Veritabanı sunucunuzu, web sunucunuzu ve uygulama sunucunuzu şirket içinde tutarken, veritabanı çoğaltmalarını Azure'daki sanal makinelerde tutabilirsiniz. Bu ayar, şirket içi web sunucularının veya raporlama uygulamalarının Azure'daki veritabanı çoğaltmalarına erişmesini sağlar. Bu nedenle, şirket içi veritabanında iş yükünü düşürmeyi başarabilirsiniz. Bu senaryoya yoğun okuma iş yükleri ve geliştirme amacıyla uygulamanızı öneririz. Azure'da veritabanı çoğaltmaları oluşturma hakkında bilgi için bkz. Azure'da SQL Server için Yüksek Kullanılabilirlik ve Olağanüstü Durum Kurtarma'da Always On Kullanılabilirlik Grupları Sanal Makineler.

Azure'da web geliştirme stratejilerini karşılaştırma

Azure'da çok katmanlı SQL Server tabanlı bir uygulama uygulamak ve dağıtmak için aşağıdaki iki programlama yönteminden birini kullanabilirsiniz:

  • Azure'da geleneksel bir web sunucusu (IIS - Internet Information Services) ayarlayın ve Azure Sanal Makineler üzerinde SQL Server'daki veritabanlarına erişin.
  • Azure'a bir bulut hizmeti uygulama ve dağıtma. Ardından, bu bulut hizmetinin Azure Sanal Makineler'daki SQL Server'daki veritabanlarına erişebildiğinden emin olun. Bulut hizmeti birden çok web ve çalışan rolü içerebilir.

Aşağıdaki tabloda, Azure Cloud Services ve Azure Web Apps ile geleneksel web geliştirmenin Azure Sanal Makineler'de SQL Server ile karşılaştırması sağlanır. Genel sanal IP adresi veya DNS adı aracılığıyla Azure Web Apps için veri kaynağı olarak Bir Azure VM'de SQL Server'ı kullanmak mümkün olduğundan, tablo Azure Web Apps'i içerir.

Azure Sanal Makineler'de geleneksel web geliştirme Azure'da bulut hizmetleri Azure Web Apps ile web barındırma
Şirket içinden uygulama geçişi Mevcut uygulamalar olduğu gibi. Uygulamaların web ve çalışan rollerine ihtiyacı vardır. Mevcut uygulamalar olduğu gibi ancak hızlı ölçeklenebilirlik gerektiren bağımsız web uygulamaları ve web hizmetleri için uygundur.
Geliştirme ve dağıtım Visual Studio, WebMatrix, Visual Web Developer, WebDeploy, FTP, TFS, IIS Yöneticisi, PowerShell. Visual Studio, Azure SDK, TFS, PowerShell. Her bulut hizmetinin hizmet paketinizi ve yapılandırmanızı dağıtabileceğiniz iki ortamı vardır: hazırlama ve üretim. Bir bulut hizmetini üretim ortamına yükseltmeden önce test etmek için hazırlama ortamına dağıtabilirsiniz. Visual Studio, WebMatrix, Visual Web Developer, FTP, GIT, BitBucket, CodePlex, DropBox, GitHub, Mercurial, TFS, Web Dağıtımı, PowerShell.
Yönetim ve kurulum Uygulama, veri, güvenlik duvarı kuralları, sanal ağ ve işletim sistemindeki yönetim görevlerinde sorumlusunuz. Uygulama, veri, güvenlik duvarı kuralları ve sanal ağdaki yönetim görevlerinde sorumlusunuz. Yalnızca uygulama ve verilerde yönetim görevlerinde siz sorumlusunuz.
Yüksek kullanılabilirlik ve olağanüstü durum kurtarma (HADR) Sanal makineleri aynı kullanılabilirlik kümesine ve aynı bulut hizmetine yerleştirmenizi öneririz. VM'lerinizi aynı kullanılabilirlik kümesinde tutmak, Azure'ın yüksek kullanılabilirlik düğümlerini ayrı hata etki alanlarına ve yükseltme etki alanlarına yerleştirmesine olanak tanır. Benzer şekilde, VM'lerinizi aynı bulut hizmetinde tutmak yük dengelemeye olanak tanır ve VM'ler bir Azure veri merkezindeki yerel ağ üzerinden birbirleriyle doğrudan iletişim kurabilir.

Kapalı kalma süresini önlemek için Azure Sanal Makineler'da SQL Server için yüksek kullanılabilirlik ve olağanüstü durum kurtarma çözümü uygulamak sizin sorumluluğundadır. Desteklenen HADR teknolojileri için bkz. Azure Sanal Makineler'de SQL Server için Yüksek Kullanılabilirlik ve Olağanüstü Durum Kurtarma.

Kendi verilerinizi ve uygulamanızı yedeklemek sizin sorumluluğunuzdadır.

Veri merkezindeki konak makine donanım sorunları nedeniyle başarısız olursa Azure sanal makinelerinizi taşıyabilir. Ayrıca, konak makine güvenlik veya yazılım güncelleştirmeleri için güncelleştirildiğinde VM'nizde planlı kapalı kalma süresi olabilir. Bu nedenle, sürekli kullanılabilirliği sağlamak için her uygulama katmanında en az iki VM bulundurmanızı öneririz. Azure tek bir sanal makine için SLA sağlamaz.
Azure, temel alınan donanım veya işletim sistemi yazılımından kaynaklanan hataları yönetir. Uygulamanızın yüksek kullanılabilirliğini sağlamak için bir web veya çalışan rolünün birden çok örneğini uygulamanızı öneririz. Bilgi için bkz. Cloud Services, Sanal Makineler ve Sanal Ağ Hizmet Düzeyi Sözleşmesi.

Kendi verilerinizi ve uygulamanızı yedeklemek sizin sorumluluğunuzdadır.

Azure VM'sindeki BIR SQL Server veritabanında bulunan veritabanları için kapalı kalma süresini önlemek için yüksek kullanılabilirlik ve olağanüstü durum kurtarma çözümü uygulamak sizin sorumluluğundadır. Desteklenen HDAR teknolojileri için bkz. Azure Sanal Makineler'da SQL Server için Yüksek Kullanılabilirlik ve Olağanüstü Durum Kurtarma.

SQL Server Veritabanı Yansıtma: Azure Cloud Services (web/çalışan rolleri) ile kullanın. SQL Server VM'leri ve bulut hizmeti projesi aynı Azure Sanal Ağ olabilir. SQL Server VM aynı Sanal Ağ değilse, iletişimi SQL Server örneğine yönlendirmek için bir SQL Server Diğer Adı oluşturmanız gerekir. Ayrıca, diğer ad SQL Server adıyla eşleşmelidir.
Yüksek Kullanılabilirlik Azure çalışan rollerinden, Azure Blob Depolama ve Azure SQL Veritabanı devralınır. Örneğin, Azure Depolama tüm blob, tablo ve kuyruk verilerinin üç çoğaltmasını tutar. Azure SQL Veritabanı tek seferde, bir birincil çoğaltma ve iki ikincil çoğaltma olmak üzere üç veri çoğaltmasını çalışır durumda tutar. Daha fazla bilgi için bkz. Azure Depolama ve Azure SQL Veritabanı.

Azure Web Apps için veri kaynağı olarak bir Azure VM'de SQL Server kullanırken, Azure Web Apps'in Azure Sanal Ağ desteklemediğini unutmayın. Başka bir deyişle, Azure Web Apps'ten Azure'daki SQL Server VM'lerine yapılan tüm bağlantılar sanal makinelerin genel uç noktalarından geçmelidir. Bu, yüksek kullanılabilirlik ve olağanüstü durum kurtarma senaryoları için bazı sınırlamalara neden olabilir. Örneğin, veritabanı yansıtması ile SQL Server VM'sine bağlanan Azure Web Apps'teki istemci uygulaması yeni birincil sunucuya bağlanamaz. Veritabanı yansıtma, Azure'daki SQL Server konak VM'leri arasında Azure Sanal Ağ ayarlamanızı gerektirir. Bu nedenle, SQL Server Veritabanı Yansıtma'nın Azure Web Apps ile kullanılması şu anda desteklenmiyor.

SQL Server AlwaysOn Kullanılabilirlik Grupları: Azure'da SQL Server VM'leri ile Azure Web Apps kullanırken Always On Kullanılabilirlik Gruplarını ayarlayabilirsiniz. Ancak, iletişimi genel yük dengeli uç noktalar aracılığıyla birincil çoğaltmaya yönlendirmek için Always On Kullanılabilirlik Grubu Dinleyicisi'ni yapılandırmanız gerekir.
Şirket içi bağlantılar Şirket içi ağa bağlanmak için Azure Sanal Ağ kullanabilirsiniz. Şirket içi ağa bağlanmak için Azure Sanal Ağ kullanabilirsiniz. Azure Sanal Ağ desteklenir.
Ölçeklenebilirlik Ölçek artırma, sanal makine boyutlarını artırarak veya daha fazla disk ekleyerek kullanılabilir. Sanal makine boyutları hakkında daha fazla bilgi için bkz . Azure için sanal makine boyutları.

Veritabanı Sunucusu için: Ölçeği genişletme, veritabanı bölümleme teknikleri ve SQL Server Always On Kullanılabilirlik grupları aracılığıyla kullanılabilir.

Yoğun okuma iş yükleri için, Sql Server Çoğaltma'nın yanı sıra birden çok ikincil düğümde Always On Kullanılabilirlik Gruplarını kullanabilirsiniz.

Yoğun yazma iş yükleri için, uygulama ölçeğini genişletme sağlamak için birden çok fiziksel sunucu arasında yatay bölümleme verileri uygulayabilirsiniz.

Ayrıca, SQL Server'ı Verilere Bağımlı Yönlendirme ile kullanarak bir ölçeği genişletme uygulayabilirsiniz. VeriYe Bağımlı Yönlendirme (DDR) ile, veritabanı isteklerini birden çok SQL Server düğümüne yönlendirmek için genellikle iş katmanı katmanındaki istemci uygulamasında bölümleme mekanizmasını uygulamanız gerekir. İş katmanı, verilerin nasıl bölümlendiğine ve hangi düğümün verileri içerdiğine yönelik eşlemeler içerir.

Sanal makineleri çalıştıran uygulamaları ölçeklendikleyebilirsiniz. Daha fazla bilgi için bkz . Bir Uygulamayı Ölçeklendirme.

Önemli Not: Azure'daki Otomatik Ölçeklendirme özelliği, uygulamanız tarafından kullanılan sanal makineleri otomatik olarak artırmanıza veya azaltmanıza olanak tanır. Bu özellik, son kullanıcı deneyiminin yoğun dönemlerde olumsuz etkilenmemesini ve talep az olduğunda VM'lerin kapatılmasını garanti eder. SQL Server VM'leri içeriyorsa bulut hizmetiniz için Otomatik Ölçeklendirme seçeneğini ayarlamamanızı öneririz. Bunun nedeni, Otomatik Ölçeklendirme özelliğinin, bu VM'deki CPU kullanımı bir eşikten yüksek olduğunda Azure'ın bir sanal makineyi açmasına ve CPU kullanımı ondan düşük olduğunda bir sanal makineyi kapatmasına olanak tanır. Otomatik Ölçeklendirme özelliği, web sunucuları gibi durum bilgisi olmayan uygulamalar için kullanışlıdır ve burada herhangi bir VM önceki bir duruma başvuru yapmadan iş yükünü yönetebilir. Ancak, Otomatik Ölçeklendirme özelliği sql server gibi durum bilgisi olan uygulamalar için kullanışlı değildir ve burada yalnızca bir örnek veritabanına yazmaya izin verir.
Ölçeği artırma, birden çok web ve çalışan rolü kullanılarak kullanılabilir. Web rolleri ve çalışan rolleri için sanal makine boyutları hakkında daha fazla bilgi için bkz . Cloud Services için Boyutları Yapılandırma.

Cloud Services'i kullanırken, işlemeyi dağıtmak ve uygulamanızın esnek ölçeklendirmesini sağlamak için birden çok rol tanımlayabilirsiniz. Her bulut hizmeti, her biri kendi uygulama dosyalarına ve yapılandırmasına sahip bir veya daha fazla web rolü ve/veya çalışan rolü içerir. Bir rol için dağıtılan rol örneklerinin (sanal makineler) sayısını artırarak ve rol örneği sayısını azaltarak bulut hizmetinin ölçeğini küçülterek bir bulut hizmetinin ölçeğini artırabilirsiniz. Ayrıntılı bilgi için bkz . Azure Yürütme Modelleri.

Ölçeği genişletme, Cloud Services, Sanal Makineler ve Sanal Ağ Hizmet Düzeyi Sözleşmesi ve Load Balancer aracılığıyla yerleşik Azure yüksek kullanılabilirlik desteği aracılığıyla kullanılabilir.

Çok katmanlı bir uygulama için web/çalışan rolleri uygulamasını Azure Sanal Ağ aracılığıyla veritabanı sunucusu VM'lerine bağlamanızı öneririz. Ayrıca Azure, aynı bulut hizmetindeki VM'ler için yük dengeleme sağlayarak kullanıcı isteklerini bunlara yayar. Bu şekilde bağlanan sanal makineler, Bir Azure veri merkezi içindeki yerel ağ üzerinden birbirleriyle doğrudan iletişim kurabilir.

Otomatik Ölçeklendirme'yi Hem Azure portalında hem de zamanlama zamanlarında ayarlayabilirsiniz. Daha fazla bilgi için bkz . Portalda Bulut Hizmeti için otomatik ölçeklendirmeyi yapılandırma.
Ölçeği artırma ve azaltma: Web siteniz için ayrılmış örneğin (VM) boyutunu artırabilir/azaltabilirsiniz.

Ölçeği genişletme: Web siteniz için daha fazla ayrılmış örnek (VM) ekleyebilirsiniz.

Otomatik Ölçeklendirme'yi portalda ve zamanlama sürelerinde ayarlayabilirsiniz. Daha fazla bilgi için bkz . Web Uygulamalarını Ölçeklendirme.

Bu programlama yöntemleri arasında seçim yapma hakkında daha fazla bilgi için bkz . Azure Web Apps, Cloud Services ve VM'ler: Hangi yöntemin kullanılacağı.

Sonraki adım

Azure Sanal Makineler'da SQL Server çalıştırma hakkında daha fazla bilgi için bkz. Azure'da SQL Server Sanal Makineler Genel Bakış.