Azure'da çok kiracılı SaaS

Azure Active Directory
App Service
DNS
Front Door
Kubernetes Hizmeti

İşletmenizin yazılım çözümünün diğer işletmelere pazarlanmamış ve pazarlanmamış olan bir kısmını tanımlayan bu, bir şirkete yeni bir gelir akışı ekler. Ancak, çözümü kiracıların getirdiği yükü hesaba getirecek şekilde yapılandırmak genellikle üstesinden alınması zor bir engeldir. Azure, bir yazılım çözümünü yönetmek için şu hizmetleri sunar:

  • Esnek bir şekilde tüm istemciler için veritabanlarını sürdürür.

  • İşlem katmanında performans sorunlarını önlemek için çözümün iş ve mantık katmanını ölçeklendirer.

  • Kullanılabilirliği ve bölgesel yük devretmeyi tümleştirin.

  • Çözümün tüm düzeylerinde 4-20 güvenlik sağlar.

Olası kullanım örnekleri

Bu kullanım örneklerde, Azure'da barındırılan çok kullanıcılı bir SaaS çözümünden yararlanabilecek tasarım desenleri vardır:

  • Müşterilerin müşterilere pazarlayıp satacakları bir müşteri ilişkileri yönetimi (CRM) çözümü geliştirin.

  • Bir içerik yönetim sistemi (CMS) sistemi uygulama ve bu mimariyi kullanarak bunu birden çok kullanıcıya teslim etmek.

Mimari

Azure'da iki farklı bölgede ayarlanmış çok kullanıcılı SaaS mimarisini gösteren diyagram.

Bu mimarinin SVG'lerini indirin.

Bir Azure teknolojileri paketi, trafiğin güvenliğini sağlar ve yük dengelemesi sağlar.

  1. Azure Front Door birkaç ilk görevi işler:

    • İlk isteği işleme.

    • Bölgeler arasında yük dengeleme.

    • SSL(HTTPS) sonlandırma ve boşaltma.

    • Bölgesel bir kesinti olursa yük devretme.

  2. Azure DNS DNS kayıtlarını yönetir ve doğru uç noktasına yönlendirme Front Door sağlar.

  3. Mimaride kimlik Azure Active Directory sağlayıcısı olarak Azure Active Directory (Azure AD) kullanılır.

  4. Uygun bölgeye yönlendirilen Application Gateway ve yük dengelerini yöneterek istekleri uygun bölgeye App Service.

  5. Bu mimari için, App Service aşağıdakiler için tercih edilen hizmettir:

    • Herhangi bir HTTP tabanlı uygulama.

    • Web içeriği sunan.

    • RESTful API'lerini açığa çıkararak.

    • Ön uç uygulamasının arkasında iş mantığı uygulama.

    Ölçeği otomatik olarak App Service ve uzacak şekilde yapılandırabilirsiniz. Bu App Service, isteğe bağlı olarak kiracı HTTP odaklı isteklerin bir ana bilgisayar ölçeğini ölçeklendirmek için iyi bir uyum sağlar.

  6. Veri erişim katmanı hizmetleri de yüke göre bağımsız olarak ölçeklendirildi. Veri hizmetleri veri modellerini, bağlantı istemcilerini ve sürücüleri yönetir. Hizmetler, uygulama içinde veri tüketmek isteyen tüm üst düzey hizmetler için tutarlı bir veri arabirimi de sağlar. Bu veri hizmetlerini dağıtmak ve ölçeklendirmek için Azure Kubernetes Service (AKS). Her AKS kümesi, katmanda bir dizi ilgili özellik için sorumludur. AKS, her biri küme içindeki belirli işlevleri kapsüllemektedir. Kod içinde yüksek derecede soyutlama ve eşleştirmeyi geri alamama olanak sağlar. Ayrıca, birden çok kiracıdan artan yükü hesaba katarak kümelerin ölçeğini ayrı ayrı uztar. Küme üzerindeki yük artarsa her küme kaynaklarının ölçeğini artırabilirsiniz. Ölçeği artırma, kaynak grubunda aynı artışla karşılaşan diğer kümeleri etkilemez.

  7. İlişkisel verileri uygulama çerçevesinin dışında depolar ve yönetir. Bunu yapmak her iki bölge için de tek bir veri girişi noktası sağlar. Çoğaltma, kullanılabilirlik, ölçeklenebilirlik ve güvenlik, Azure'ın ve Elastik Havuzların gücü SQL sağlanır. Her kiracıya havuz içinde bir veritabanı sağlama. Yük ve istekler geldi olarak havuz içinde bulunan kaynakları isteğe bağlı veritabanlarına ayırabilirsiniz. Kiracılar için kullanılabilir veritabanı kaynaklarını bütçenize göre iyiler.

Bileşenler

Birincil bileşenler, bu çözümde mimari için önerilen bileşenlerdir. Birincil bileşenlerden herhangi biri mimarinize uymuyorsa alternatif bileşenlerin listesine bakın.

Birincil bileşenler

  • Azure Front Door:İstemci trafiğini doğru bölgeye yönlendiren bölgesel yük dengeleyici. Bölge hatası olması durumunda ikinci bölgeye yük devredebilirsiniz ve İnternet'e yönelik giriş noktasının güvenliğini Azure Web Uygulaması Güvenlik Duvarı.

  • Azure Active Directory (Azure AD): Uygulamanın tamamına yönelik kimlik sağlayıcısı olarak hareket eder, kimlik doğrulamasını ve uygulama içinde isteğin uçta yetkilendirmesini zorlar.

  • Azure DNS:Etki alanı adı çözümlemesi için Azure'da bir barındırma hizmeti. Çok müşterili bir çözümde, birden çok istemci çözüme kendi bireysel etki alanları aracılığıyla erişecek. İstemci Azure DNS doğru uygulama yığınına göre yapılandırmak ve çözümlemek için Azure DNS'yi kullanın.

  • Application Gateway:Uygulamanın içinde trafiği istemci iş ihtiyaçlarını karşılayan çeşitli hizmetlere yönlendirer ve yük dengelemesi sağlar. Bu Azure Front Door üst düzey bölgelerdeki yükü dengeleyene Application Gateway grup içindeki tek tek hizmetler üzerindeki yükün farkında olan bir hizmettir. Azure Front Door ve Application Gateway, çok kullanıcılı bir çözümde tüm düzeylerde karmaşık yük dengeleme sağlamak için bir araya geldi. Azure'daki yük dengeleme seçenekleri hakkında daha fazla bilgi için Azure yük dengeleme ile ilgili bu genel bakışı ziyaret edin.

  • App Service:Azure'ın web uygulamaları ve web tabanlı API'ler için premier hizmeti. Güvenlik, Azure AD ve Azure Key Vault. Ölçeklendirmeyi otomatik olarak gerçekleşecek şekilde yapılandırabilirsiniz. Ayrıca, ölçeklendirilen kaynakların miktarı, uygulamanın üzerinde App Service planları arasında esnektir. App Service birden çok ortamda sürekli tümleştirme ve DevOps için tümleşik yönetim özellikleri de kullanılabilir. Azure platformunun bu ve diğer destek özellikleri, geliştiricilerin uygulamalarının geliştirilmesine odaklanmasına olanak sağlar.

  • Azure Kubernetes Service (AKS): Bir kümeye dağıtılan kapsayıcı görüntülerinin örneklerini düzenleme. Birden çok istemcinin verilerini yönetmek için genellikle şunları yönetmek için bir bileşen paketi uygulanması gerekir:

    • Veri modelleme

    • Veri kaynağı bağlantısı

    • Ayıklama, dönüştürme, yükleme (ETL)

    • Etkinlikleri içeri/dışarı aktarma

    Kapsayıcı tabanlı mikro hizmetler olarak bu çok daha küçük bileşenlerin geliştirilmesi, AKS kümesine dağıtım için ideal bir senaryo oluşturur. Çerçevede yerleşik olarak otomatik ölçeklendirme, yük dengeleme ve yükseltilebilirlik araçları vardır. AKS, kullanılabilir DevOps özelliklerini ve özelliklerini kullanarak sürekli tümleştirme/sürekli teslim (CI/CD) stratejisiyle Azure Container Registry.

  • Azure SQL Elastik Havuzları:Bir dizi veritabanını kaynak havuzuyla esnek bir şekilde yönetmek için bir çözüm sağlar. Hizmet, kaynakları veritabanlarına isteğe bağlı olarak ayırır. Çok müşterili bir SaaS mimarisinin geliştiricisi, veritabanı kaynaklarını ihtiyaçlara göre istemcilere teslim gücü verir. Hizmet ayrıca çok sayıda kullanılmayan işlem kaynağı öbekleri olan birden çok SQL sunucularının bakımının bütçesini ve ek yükünü azaltır.

  • Azure Bilişsel Arama (eski adıyla Azure Search): Uygulamanıza güçlü bir dizin oluşturma ve sorgu altyapısı ekleyen bir hizmet. İstemcilere güçlü sorgu işlevlerine erişim verir. Sorgu işlevselliğini zenginleştirmek ve geliştirmek için Azure'ın AI özelliklerini de kullanabilirler. Azure Bilişsel Arama kiracı başına dizin veya kiracı başına hizmet stratejisi kullanarak çok kiracılılığı hesaba genişletilebilir.

  • Redis için Azure Cache:Gecikme süresini azaltmak ve istemciler için performansı artırmak için bellek içinde yönetilen bir önbellek sağlayarak çözüme bir hizmet olarak önbelleğe alma katmanı uygular. Yüksek aktarım hızı, sisteme erişen birden çok kiracıyı işlemek için yüksek hacimli istekler sağlar. Uygulama yükü artarak hizmetin ölçeğini esnek bir şekilde artırabilirsiniz. Ayrıca önbelleğe alınmış kiracı verilerini korumak ve yalıtmak için beklemede şifrelemeyi destekler.

Alternatif bileşenler

  • Sanal Makine Ölçek Kümeleri:Hizmetlerin gerektiğinde otomatik olarak ölçeklendirilen ve büyüyen bir VM ortamına dağıtımına olanak sağlar. Sanal Makine Ölçek Kümeleri, ölçek kümesi büyüdükçe yükü Load Balancer Application Gateway otomatik olarak yeniden dengelemek için sanal makine ölçek kümeleri ile iyi bir şekilde tümleştirilmiştir. Sanal Makine Ölçek Kümeleri, bu çözümün taleplerine göre ölçeklenebilirlik sağlar. Ancak çoğu durumda tam VM ortamını yönetmek gereksizdir ve yığının bu düzeyini aks veya App Service erteleyeceğiz.

  • Azure SQL Veritabanı:Elastik Havuzların yerine tek tek ayrılmış örnekler olarak uygulama. Bu Azure SQL Veritabanı, örneğin doğrudan yönetilmesine daha fazla ek yük getirir ve ayrılan kaynaklar için daha fazla maliyet oluşturur. Ancak, kiracı ayrılmış bir sunucu gerektirdiği zaman kabul edilebilir bir alternatiftir. Özellikle, istemci örneği ve ayrılmış kullanılabilir kaynaklar üzerinde daha fazla denetime ihtiyaç olabilir. Ayrılmış bir yapılandırma SQL Server kiracılar, bir yapılandırmada kiracılarla yan yana Elastik Havuz olabilir. SaaS lisansları satın SQL kiracılar için kullanılabilir fiyatlandırma seçeneklerine sahip veritabanlarının bir katmanını yapabilirsiniz.

  • sanal makinelerde SQL Server: SQL veritabanlarının dağıtımına yönelik başka bir seçenek. kiracı, önceden var olan bt altyapısına ve şirket içi SQL sunuculara sahip olabilir. Bu durumda, kiracı, tam geçiş ya da karma senaryoda, geçerli lisanslarını kullanmak isteyebilir. SaaS 'nin ayrılmış yapısı, uygulamanın veri katmanının yapılandırma yoluyla herhangi bir SQL Veritabanı hedeflemesini sağlar.

Dikkat edilmesi gerekenler

Çoklu Müşteri mimarisi

Çok kiracılı bir çözüm, bu çözümde önemli bir konudur. Çözüm bir dizi istemciyi eşzamanlı olarak işler. Ayrıca, tüm istemci isteklerini verimli bir şekilde işlemek için yeterli kaynak ayırır. İstekler işlenirken, çözüm küresel uç noktalardan gelen trafiğin güvenliğini sağlar ve ihlal ve çapraz kirlilik işlemlerini engellemek için istemci verilerini yalıtır. İstemcileri birincil konumlarına göre bir dizi bölgesel kaynak grubuna dağıtın. Bunun yapılması bölgesel kullanılabilirliği iyileştirir.

Sistem istekleri bu benzersiz tanımlayıcılar temelinde ayırt eden istekleri kimlik doğrulama ve istemci anahtarlarına göre yalıtarak, tek bir işlem grubuna çok sayıda istemci dağıtabilirsiniz. Sistem tüm istemci isteklerini anahtarlarla ayrı olarak şifreleyebilir, böylece hiçbir istemci diğer istemci verilerinin şifresini çözemeyebilir. Tek bir işlem yığınında birden fazla istemciyi yönetmek, istemcilere ihtiyaç duydukları yanıt hızını istemcilere sağlamak için kaynak ayırmayı en uygun hale getirmenize olanak tanır.

İstemci veritabanlarını, her bir istemci isteği bölge yığınından gelebileceğinden, işlem yığınının dışında benzer bir şekilde yönetirsiniz. Birçok istemci veritabanı, saydam veri şifrelemesi (TDE) tarafından yalıtılmış ve güvenli bir şekilde aynı Elastik Havuz bulunabilir. Her veritabanını, istemci tarafından yönetilen bir anahtarı kullanarak verileri şifrelemek üzere yapılandırabilir ve verilerin tam zamanında (JıT) şifresini çözebilirsiniz. JıT 'in şifresinin çözülmesi, istemci verilerini hem geliştiriciden hem de diğer istemcilerden korur. Sistem, kendisine atanan istemciler için kaynak sağlamak üzere Elastik Havuz kullanır ve maliyetleri sizin için düşük tutmaya çalışır. İstemci verileri için yedekleme ve yük devretme sağlamak üzere her bir Elastik Havuz çoğaltma ilkeleri atayabilirsiniz. Sisteme daha fazla istemci eklediğinizde daha esnek havuzlar çevrimiçi duruma getirin.

Ölçeklenebilirlik ve kullanılabilirlik

Bu çözüm, SaaS kullanarak çok sayıda kiracı için hesap görecek şekilde tasarlanmıştır. Yük temelinde büyümek üzere çok sayıda ölçeklenebilir bileşen ve hizmetten faydalanır. Bu mimari, birkaç kiracıya hizmet veren veya isteklerin ve verilerin küçük bir yükünü sağlayan çözümler için tasarlanmamıştır. Tek bir istemciyi veya daha küçük yükü hedefleyen bir çözümün bütçesini stres olabilir. Yüksek küresel kullanılabilirlik bir gereksinim olmadığı için çok bölgeli ek yüküne sahip olmak da gereksizdir. Gereksiz karmaşıklık ve maliyet ekler.

Güvenlik

Sistem, uygulamanın her düzeyinde güvenliği uçtan uca adresler:

  • Azure ön kapısı, etki alanları için yerleşik HTTPS desteği sağlar. Bu, sistemin SaaS uygulamasına tüm trafiği şifreleyebileceği anlamına gelir. Azure ön kapısı Ayrıca Azure Web uygulaması güvenlik duvarı 'nı uygular ve sistem, uygulamaya istekleri yönlendirmadan önce SaaS yığınını kenarda korur.

  • Her bölgedeki her bir uygulama yığını bir Azure sanal ağı içinde yer alır. Sistem, Azure ön kapılarından gelen istekleri kabul eden sanal ağla trafiği kısıtlar ve tüm uygulama hizmetlerini dış trafikten koruyor. Güvenli güvenlik duvarının içinde Application Gateway, SSL 'yi sonlandırabilir ve uygulama içinde performans yükü dengeleme ve yönlendirme sağlayabilirsiniz.

  • Tüm kimlik bilgileri, gizlilikler ve bağlantı dizeleri Azure Key Vault tarafından güvenli bir şekilde yönetilebilir. Bu hassas verileri gizli dizi olarak yönetirken, geliştiriciler dağıtım sırasında uygulamaya kimlik bilgilerini ekleyebilir. Bunun yapılması kodun hassas bilgilerle kirletilmişti olmadığından emin olur. Gizli dizi kullanımı, koddaki veya ortadaki adam saldırısındaki bir ihlalin kiracı veritabanlarına erişim sağlamamasını sağlayarak istemci verilerini korur.

  • Bu senaryoda, aynı veritabanı değilse, birden çok kiracının verisi aynı veritabanı sunucusunda yan yana bulunabilir. TDE ve JıT şifre çözme kullanımı, veritabanındaki verileri korur. Sistem, bekleyen veritabanındaki tüm verileri şifreler ve yalnızca kiracı tarafından istendiğinde şifresini çözer. İstemcileri kendi anahtarlarını sağlayabilir ve birden çok kiracının şifrelemesini yönetmek için Azure Key Vault tüm istemci anahtarlarını saklayabilirsiniz. İstemci verilerini uçtan uca koruduğu için, geliştiricinin istemci verilerine erişmesini, kiracılar arasında verileri yalıtmasını ve güvenlik ve verilere yönelik uyumluluk gereksinimlerini karşılamaya yardımcı olmasını önler.

Fiyatlandırma

Azure App Service, gereken beklenen işlem kaynaklarını temel alan fiyatlandırma katmanlarından oluşan bir konak sağlar. Çok kiracılı bir SaaS için, yüksek kullanılabilirlik ve genişleme özellikleri, hizmet planı seçme konusunda önemli bileşenlerdir. Birçok kiracıyı barındırmak istiyorsanız, yüksek trafikte hesaba yönelik işlem kaynaklarının sağlanması için Premium veya yalıtılmış bir katmanın seçilmesi gerekebilir. Standart, Premium ve yalıtılmış katmanlar tüm ayrılmış VM örnekleridir. Kaç tane VM 'nin belirtmiş olduğunu gösteren bir süre birimi için maliyeti hesaplayabilirsiniz. Daha fazla bilgi için App Service fiyatlandırma planlarına genel bakışmakalesini ziyaret edin.

Azure Kubernetes hizmeti, ekonomik bir kapsayıcı hizmeti sağlar. AKS düğümlerine yönelik ücretler yalnızca kullanım sırasında gerçekleşir; bu nedenle yalnızca şunları ücretlendirilirsiniz:

  • VM 'Ler

  • Tüketilen depolama ve ağ kaynakları

  • Doğrudan kullanımla ilgili ölçeklendirme maliyeti

Maliyetleri azaltmak istiyorsanız, veri katmanı hizmeti olarak AKS kullanımı idealdir. AKS örneklerinin bir katmanını fiyatlandırma konusunda bir tahmin için Kubernetes hizmet hesaplayıcısınıziyaret edin.

tasarım, Azure SQL Elastik Havuz fiyatlandırması çok kiracılı bir senaryoda yüksek maliyetli bir senaryodur. Bir Elastik Havuz kiracı veritabanları kullanılabilir kaynakları paylaşacaktır. Zaman içinde kiracılar arasında talep kaymasına göre kaynaklar da bu şekilde kaydırılır. Azure SQL Elastik Havuz, tüm veritabanlarında kaynak ek yüküne gerek duymadan, istenen veritabanlarına en fazla kullanılabilir kaynak sağlar. Hizmet, SaaS ve kiracılar geliştiricisi için maliyeti düşük tutar. kiracılarınıza ve bunların verilerine yönelik gereken katman ve kaynak miktarını öğrenmek için Azure SQL Veritabanı fiyatlandırma hesaplayıcı 'ı kullanın.

  • Sanal çekirdek (vCore) fiyatlandırma modelinin kullanılması, gerekli kaynakları karşılamak için ölçeklendirirken daha fazla esneklik sağlar. Ayrıca, Azure Hibrit Avantajı avantajlarından faydalanabilirsiniz. mevcut SQL Server lisansları, buluttaki sanal çekirdek SQL kaynakları için bir indirim sağlar. Bu nedenle, şirket içi sunucular zaten geliştirici altyapısının bir parçası olduğunda, bu indirimleri kullanarak maliyeti daha da yönetebilirsiniz. Azure hibrit avantajı tasarrufu hesaplayıcısınıkullanarak olası tasarrufları tahmin edebilirsiniz.

  • ayrıca, Azure SQL Veritabanı ayrılmış kapasiteyisatın alarak SQL Server kaynaklarına maliyet tasarrufu yapabilirsiniz. ayrılmış kapasite satın alma, uzun süreli SQL Veritabanı kullanımı taahhüdünü işaret ettirmektedir. Terim genellikle bir ila üç yıl arasındadır. Sonuç olarak, rezervasyondaki kaynakların işlem maliyetlerine indirim elde edersiniz. Örneğin, bir yılda 32 genel amaçlı sanal çekirdekleri için bir ayırma yapabilirsiniz, bu da bu yıl için bu 32 sanal çekirdeklerinin maliyetini azaltır. Bir SaaS için birden çok kiracının lisans satın alınması, bu iş yükünde ayrılmış kapasitenin kullanımını ve ideal maliyet tasarrufunu sağlayan güçlü bir göstergedir.

Redsıs için Azure önbelleği için fiyatlandırma yapısını redsıs fiyatlandırma sayfasına bulabilirsiniz. önbellek katmanını, gerek temelinde temel, standart ve Premium katmanı arasında istediğiniz zaman ayarlayın. Daha büyük önbellek sınırları ve çoğaltma ve olağanüstü durum kurtarma gibi ek özellikler üzerinde daha yüksek bir fiyatlandırma görürsünüz. Redde için Azure önbelleği, uzun süreli kullanım taahhütlerine yönelik ayrılmış kapasite fiyatlandırması sağlar.

Azure ön kapısının fiyatı, hizmetten gelen ve çıkan veri aktarımı miktarına bağlıdır. Giden veriler için fiyatlandırma, bölgelere göre farklılık fark edilir. Farklı bölgeler farklı maliyetlerine tabi olur. Fiyat farkındaki bir farklılık varsa, maliyeti ayrı olarak tahmin edin. Fiyat, bazı yönlendirme ve etki alanı kapasitesini içerir, ancak sistem başlangıç limitlerinden geçmiş olur. Azure Web uygulaması güvenlik duvarı, ilke veya kural başına uygulanan küçük bir ek ücret doğurur. Azure ön kapısının fiyatlandırma ayrıntılarını Azure ön kapısı fiyatlandırma sayfasında bulabilirsiniz.

Azure bilişsel arama fiyatlandırması , tam katmanlı bir sistemdir. Ücretsiz bir katman geliştirme ve test için kullanılabilir. Bundan sonra her katman, ayrılan her bir Bilişsel Arama örneği için saat başına maliyet doğurur. Katmanlar artdıkça toplam depolama, dizin sayısı ve genişleme sınırları da artar. Azure Bilişsel Arama, tüm ücretli katmanlara aynı hızda bir hizmet olarak görüntü ayıklama olanağı sağlar.

Sonraki adımlar