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 gerçekleştiren örnek PowerShell kodunu vurgulayan öğretici
    • Öğreticide, kiracı başına tek başına uygulamaya uyarlanmış Wingtip Biletleri örnek 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ına yönelik ç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ından 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ılıp kiracı adına satıcı tarafından yönetilebildiği yönetilen uygulamalar programı sunar.

kiracı başına uygulama deseni

Bir kiracı için uygulama dağıtı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ıları aracılık etmek 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 kaynakla sağlanması gerekir. Bu düzen daha az kiracıya sahip SaaS uygulamaları için kullanılma eğilimindedir; burada kiracı yalıtımına ve kaynak maliyetlerine daha az vurgu yapılır.

Kiracı başına uygulama deseniyle 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ı yerden bağımsız olarak tüm kiracı veritabanlarına da erişim 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ıyla çözümlenmesine olanak sağlar. Wingtip SaaS uygulamasında kiracı tanımlayıcısı, diğer şemalar kullanılabilse de kiracı adının karması olarak hesaplanır. 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, çapraz kiracı raporlaması 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ına, yönetmesine ve kullanmasına olanak tanır. 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 girişleri oluşturmak ve yönetmek için uygulamalardan veya PowerShell betiklerinden çağrılabilir. Parça kümesini almak veya verilen kiracı anahtarı için doğru veritabanına bağlanmak için diğer EDCL işlevleri 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ı bir 'şablon' veritabanının kopyası olarak oluşturulabilir. Veritabanı daha sonra ilk mekan verileriyle güncelleştirilir ve kataloğa kaydedilir.

Öğretici

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

  • Katalog sağlama
  • Daha önce katalogda dağıttığınız örnek kiracı veritabanlarını kaydetme
  • Ek bir kiracı sağlayın ve kataloğa kaydedin

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 bir Azure Resource Manager şablonu 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'ı 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 getirip F9 tuşuna basarak kesme noktası ekleyin.

    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 çağrılan işlevlerin üzerine veya işleve geçin.

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

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

  1. Azure portal açın ve kaynak gruplarına göz atın. wingtip-sa-catalog-user<> kaynak grubunu açın ve katalog sunucusu ile 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 örnekte 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 veritabanına bağlanabilirsiniz. Bunu yapmak için sunucu wingtipine 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 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.ps1 tuş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. Komut dosyasının yürütülmesini izlemek için F10 ve F11 hata ayıklama menü seçeneklerini kullanarak çağrılan işlevlere geçin veya işleve geçin.

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

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

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

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

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

Örneği incelemeyi 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 Biletleri 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.