Aracılığıyla paylaş


Kiracı başına uygulama SaaS desenini kullanarak yeni kiracılar sağlama ve katalog oluşturma

Şunlar için geçerlidir: Azure SQL Veritabanı

Bu makalede, kiracı başına tek başına uygulama SaaS düzeni kullanılarak yeni kiracıların sağlanması ve kataloglanması yer alır. Bu makalenin iki ana bölümü vardır:

  • Yeni kiracıları sağlama ve kataloglama hakkında kavramsal tartışma
  • Sağlama ve kataloglama işlemini tamamlayan örnek PowerShell kodunu vurgulayan öğretici
    • Öğreticide, kiracı başına tek başına uygulamaya uyarlanmış Wingtip Bilet örneği SaaS uygulaması kullanılmaktadır.

Kiracı başına tek başına uygulama düzeni

Kiracı başına tek başına uygulama düzeni, çok kiracılı SaaS uygulamaları için çeşitli desenlerden biridir. Bu düzende, her kiracı için tek başına bir uygulama sağlanır. Uygulama, uygulama düzeyi bileşenlerinden ve bir Azure SQL Veritabanı oluşur. Her kiracı uygulaması satıcının aboneliğine dağıtılabilir. Alternatif olarak Azure, bir uygulamanın kiracının aboneliğine dağıtılabildiği ve kiracı adına satıcı tarafından yönetilebildiği bir yönetilen uygulamalar programı sunar.

kiracı başına uygulama düzeni

Bir kiracı için uygulama dağıtılırken, uygulama ve veritabanı kiracı için oluşturulan yeni bir kaynak grubunda sağlanır. Ayrı kaynak gruplarının kullanılması, her kiracının uygulama kaynaklarını yalıtarak bunların bağımsız olarak yönetilmesini sağlar. Her kaynak grubu içinde, her uygulama örneği ilgili veritabanına doğrudan erişecek şekilde yapılandırılır. Bu bağlantı modeli, uygulama ve veritabanı arasındaki bağlantılarda aracılık yapmak için katalog kullanan diğer desenlerle karşıttır. Kaynak paylaşımı olmadığından, her kiracı veritabanının en yüksek yükünü işlemek için yeterli kaynak sağlaması gerekir. Bu desen daha az kiracıya sahip SaaS uygulamaları için kullanılma eğilimindedir; burada kiracı yalıtımına güçlü bir vurgu yapılır ve kaynak maliyetleri daha az vurgulanır.

Kiracı başına uygulama düzeniyle kiracı kataloğu kullanma

Her kiracının uygulaması ve veritabanı tamamen yalıtılmış olsa da, çeşitli yönetim ve analiz senaryoları kiracılar arasında çalışabilir. Örneğin, uygulamanın yeni bir sürümü için şema değişikliği uygulamak için her kiracı veritabanının şemasında değişiklik yapılması gerekir. Raporlama ve analiz senaryoları, dağıtıldıkları yere bakılmaksızın tüm kiracı veritabanlarına erişim de gerektirebilir.

Kiracı başına uygulama düzeniyle kiracı kataloğunun nasıl kullanılacağını gösteren diyagram.

Kiracı kataloğu, bir kiracı tanımlayıcısı ile kiracı veritabanı arasında bir eşleme barındırarak bir tanımlayıcının sunucu ve veritabanı adına çözümlenmesine olanak sağlar. Wingtip SaaS uygulamasında, kiracı tanımlayıcısı kiracı adının karması olarak hesaplanır, ancak diğer şemalar kullanılabilir. Tek başına uygulamaların bağlantıları yönetmek için kataloğa ihtiyacı olmasa da, katalog diğer eylemlerin kapsamını bir kiracı veritabanları kümesi olarak belirlemek için kullanılabilir. Örneğin Elastik Sorgu, kiracılar arası raporlama için sorguların dağıtıldığı veritabanı kümesini belirlemek için kataloğu kullanabilir.

Elastik Veritabanı İstemci Kitaplığı

Wingtip örnek uygulamasında katalog, Elastik Veritabanı İstemci Kitaplığı'nın (EDCL) parça yönetimi özellikleri tarafından uygulanır. Kitaplık, bir uygulamanın veritabanında depolanan bir parça eşlemesi oluşturmasını, yönetmesini ve kullanmasını sağlar. Wingtip Biletleri örneğinde katalog, kiracı kataloğu veritabanında depolanır. Parça, kiracı anahtarını, kiracı verilerinin depolandığı parçaya (veritabanı) eşler. EDCL işlevleri, kiracı kataloğu veritabanındaki tablolarda depolanan bir genel parça eşlemesini ve her parçada depolanan yerel parça eşlemesini yönetir.

EDCL işlevleri, parça eşlemesindeki girdileri oluşturmak ve yönetmek için uygulamalardan veya PowerShell betiklerinden çağrılabilir. Diğer EDCL işlevleri, parça kümesini almak veya belirli bir kiracı anahtarı için doğru veritabanına bağlanmak için kullanılabilir.

Önemli

Katalog veritabanındaki verileri veya kiracı veritabanlarındaki yerel parça eşlemesini doğrudan düzenlemeyin. Veri bozulması riskinin yüksek olması nedeniyle doğrudan güncelleştirmeler desteklenmez. Bunun yerine, eşleme verilerini yalnızca EDCL API'lerini kullanarak düzenleyin.

Kiracı sağlama

Her kiracı, içinde kaynakların sağlanabilmesi için önce oluşturulması gereken yeni bir Azure kaynak grubu gerektirir. Kaynak grubu oluşturulduktan sonra, uygulama bileşenlerini ve veritabanını dağıtmak ve ardından veritabanı bağlantısını yapılandırmak için bir Azure Kaynak Yönetimi şablonu kullanılabilir. Veritabanı şemasını başlatmak için şablon bir bacpac dosyasını içeri aktarabilir. Alternatif olarak, veritabanı şablon veritabanının bir kopyası olarak oluşturulabilir. Veritabanı daha sonra ilk mekan verileriyle daha da güncelleştirilir ve kataloğa kaydedilir.

Öğretici

Bu öğreticide şunların nasıl yapıldığını öğrenirsiniz:

  • Katalog sağlama
  • Kataloğun önceki bölümlerinde dağıttığınız örnek kiracı veritabanlarını kaydetme
  • Ek bir kiracı sağlayın ve kataloğa kaydedin

Azure Resource Manager şablonu, uygulamayı dağıtmak ve yapılandırmak, kiracı veritabanını oluşturmak ve başlatmak için bir bacpac dosyasını içeri aktarmak için kullanılır. İçeri aktarma isteği eyleme dönüştürülmeden önce birkaç dakika kuyruğa alınabilir.

Bu öğreticinin sonunda, her veritabanının kataloğa kayıtlı olduğu bir dizi tek başına kiracı uygulamasına sahip olursunuz.

Önkoşullar

Bu öğreticiyi tamamlamak için aşağıdaki ön koşulların karşılandığından emin olun:

Kataloğu sağlama

Bu görevde, tüm kiracı veritabanlarını kaydetmek için kullanılan kataloğu sağlamayı öğreneceksiniz. Şunları yapacaksınız:

  • Bir Azure kaynak yönetimi şablonu kullanarak katalog veritabanını sağlayın. Veritabanı bir bacpac dosyası içeri aktarılarak başlatılır.
  • Daha önce dağıttığınız örnek kiracı uygulamalarını kaydedin. Her kiracı, kiracı adının karmasından oluşan bir anahtar kullanılarak kaydedilir. Kiracı adı, katalogdaki bir uzantı tablosunda da depolanır.
  1. PowerShell ISE'de ...\Learning Modules\UserConfig.psm dosyasını açın ve kullanıcı> değerini üç örnek uygulamayı dağıtırken kullandığınız değerle güncelleştirin<. Dosyayı kaydedin.

  2. PowerShell ISE'de ...\Learning Modules\ProvisionTenants\Demo-ProvisionAndCatalog.ps1 dosyasını açın ve $Scenario = 1'i ayarlayın. Kiracı kataloğunu dağıtın ve önceden tanımlanmış kiracıları kaydedin.

  3. İmlecinizi , yazan & $PSScriptRoot\New-Catalog.ps1satırın herhangi bir yerine yerleştirerek bir kesme noktası ekleyin ve F9 tuşuna basın.

    izleme için kesme noktası ayarlama

  4. F5 tuşuna basarak betiği çalıştırın.

  5. Betik yürütme kesme noktasında durduktan sonra F11 tuşuna basarak New-Catalog.ps1 betiğine geçin.

  6. F10 ve F11 hata ayıklama menü seçeneklerini kullanarak betiğin yürütülmesini izleyerek üzerine gidin veya çağrılan işlevlere geçin.

    • PowerShell betiklerinde hata ayıklama hakkında daha fazla bilgi için bkz . PowerShell betikleriyle çalışma ve hata ayıklama ipuçları.

Betik tamamlandıktan sonra katalog mevcut olur ve tüm örnek kiracılar kaydedilir.

Şimdi oluşturduğunuz kaynaklara bakın.

  1. Azure portalını açın ve kaynak gruplarına göz atın. wingtip-sa-catalog-user<> kaynak grubunu açın ve katalog sunucusunu ve veritabanını not edin.

  2. Portalda veritabanını açın ve sol taraftaki menüden Veri gezgini'ni seçin. Oturum Aç komutuna tıklayın ve parola = P@ssword1 girin.

  3. Tenantcatalog veritabanının şemasını keşfedin.

    • Şemadaki __ShardManagement nesnelerin tümü Elastik Veritabanı İstemci Kitaplığı tarafından sağlanır.
    • Tenants Tablo ve TenantsExtended görünüm, ek değer sağlamak için kataloğu nasıl genişletebileceğinizi gösteren örneğe eklenen uzantılardır.
  4. sorgusunu SELECT * FROM dbo.TenantsExtendedçalıştırın.

    veri gezgini

    Veri Gezgini kullanmaya alternatif olarak SQL Server Management Studio'dan veritabanına bağlanabilirsiniz. Bunu yapmak için sunucu kanat ipucuna bağlanın

    Verileri doğrudan katalogda düzenlememelisiniz; her zaman parça yönetimi API'lerini kullanın.

Yeni kiracı uygulaması sağlama

Bu görevde, tek bir kiracı uygulaması sağlamayı öğreneceksiniz. Şunları yapacaksınız:

  • Kiracı için yeni bir kaynak grubu oluşturun.
  • Azure kaynak yönetimi şablonunu kullanarak uygulamayı ve veritabanını yeni kaynak grubuna sağlayın. Bu eylem, bacpac dosyasını içeri aktararak veritabanını ortak şema ve başvuru verileriyle başlatmayı içerir.
  • Veritabanını temel kiracı bilgileriyle başlatın. Bu eylem, etkinlik web sitesinde arka plan olarak kullanılan fotoğrafı belirleyen mekan türünü belirtmeyi içerir.
  • Veritabanını katalog veritabanına kaydedin.
  1. PowerShell ISE'de ...\Learning Modules\ProvisionTenants\Demo-ProvisionAndCatalog.ps1 dosyasını açın ve $Scenario = 2'yi ayarlayın. Kiracı kataloğunu dağıtma ve önceden tanımlanmış kiracıları kaydetme

  2. İmlecinizi 49. satırda bulunan ve F9 & $PSScriptRoot\New-TenantApp.ps1tuşuna basarak betikte bir kesme noktası ekleyin.

  3. F5 tuşuna basarak betiği çalıştırın.

  4. Betik yürütme kesme noktasında durduktan sonra F11 tuşuna basarak New-Catalog.ps1 betiğine geçin.

  5. F10 ve F11 hata ayıklama menü seçeneklerini kullanarak betiğin yürütülmesini izleyerek üzerine gidin veya çağrılan işlevlere geçin.

Kiracı sağlandıktan sonra yeni kiracının olay web sitesi açılır.

kırmızı akçaağaç yarışı

Daha sonra Azure portalında oluşturulan yeni kaynakları inceleyebilirsiniz.

kırmızı akçaağaç yarış kaynakları

Faturalamayı durdurmak için kaynak gruplarını silin

Örneği keşfetmeyi bitirdiğinizde, ilişkili faturalamayı durdurmak için oluşturduğunuz tüm kaynak gruplarını silin.

Ek kaynaklar

Sonraki adımlar

Bu öğreticide şunları öğrendiniz:

  • Wingtip Biletleri SaaS Tek Başına Uygulamasını dağıtma.
  • Uygulamayı oluşturan sunucular ve veritabanları hakkında.
  • İlgili faturalamayı durdurmak için örnek kaynakları silme.

Wingtip Bilet SaaS uygulamasının kiracı başına veritabanı sürümünü kullanarak kataloğun çeşitli kiracılar arası senaryoları desteklemek için nasıl kullanıldığını keşfedebilirsiniz.