Beim Cloud Computing steht der Begriff Tenant für eine Gruppe oder einen einzelnen Benutzer, der Zugriff auf einen gemeinsamen Pool von Computerressourcen wie Speicher, Server und Anwendungen hat. Die Ressourcen werden von einem Cloud-Service-Anbieter bereitgestellt.
Jeder Tenant ist von anderen Tenants isoliert und kann nicht auf die Daten oder Ressourcen des anderen zugreifen. Mehrere Mieter können dieselbe Infrastruktur gemeinsam nutzen und dabei ihre eigene Privatsphäre und Sicherheit wahren. Bei den Mietern kann es sich um Einzelpersonen, Organisationen oder Abteilungen innerhalb einer Organisation handeln.
Wenn die Ressourcen und die Infrastruktur nur einem Mandanten vorbehalten sind, nennen wir eine solche Architektur einen einzelnen Mandanten. Wenn mehrere verschiedene Mandanten dieselben Ressourcen gemeinsam nutzen, handelt es sich um eine Multi-Tenant-Architektur.
Der Unterschied zwischen einer Single-Tenant- und einer Multi-Tenant-Architektur ist jedoch etwas komplizierter. Sie können z. B. AWS als Cloud-Service-Anbieter nutzen, um sowohl eine Single-Tenant-Architektur als auch eine Multi-Tenant-Architektur einzurichten. Der Unterschied liegt in den Details. Hier sind sie.
Schauen wir uns zunächst die Zusammenfassung beider Architekturen an, bevor wir ins Detail gehen.
Funktion | Single-Tenant-Architektur | Multi-Tenant Architektur |
---|---|---|
Gemeinsame Nutzung von Ressourcen | Nicht mit anderen geteilt | Gemeinsame Nutzung durch mehrere Kunden |
Anpassung | Hochgradig anpassbar | Eingeschränkt anpassbar |
Kosten | In der Regel teurer | In der Regel weniger teuer |
Sicherheit | Erhöhte Sicherheit | Geringeres Sicherheitsniveau |
Leistung | Vorhersehbare Leistung | Auswirkungen auf die Skalierbarkeit |
Wartung | Kunde pflegt Ressourcen | Cloud-Anbieter kümmert sich um die Wartung |
Zusammenarbeit | Begrenzte Zusammenarbeit | Größere Zusammenarbeit |
Einhaltung von Vorschriften | Bessere Einhaltung spezifischer Vorschriften | Standardprozesse für alle Mieter |
Single-Tenant-Architektur
Single-Tenant-Cloud-Anwendungen sind für einen einzelnen Kunden oder ein einzelnes Unternehmen konzipiert und bieten dedizierte Ressourcen, die nicht mit anderen Kunden geteilt werden.
Es handelt sich um ein Modell, bei dem ein einzelner Kunde oder Mieter exklusiven Zugriff auf einen Server, eine Anwendung oder eine Infrastruktur in der Cloud hat. Bei diesem Modell hat der Kunde die vollständige Kontrolle über die Ressourcen und kann sie an seine speziellen Bedürfnisse anpassen. Das bedeutet, dass die Cloud-Ressourcen ausschließlich für diesen Kunden bestimmt sind.
Dieser einzelne Mieter kann die Ressourcen an seine speziellen Bedürfnisse anpassen. Das bedeutet mehr Flexibilität und Kontrolle über die Ressourcen.
Sie ist im Allgemeinen teurer als eine Multi-Tenant-Architektur, da nur der Kunde für die dedizierten Ressourcen bezahlt.
Hier ist ein Beispiel dafür, wie Sie eine durchgängige Single-Tenant-Architektur in der AWS-Cloud aufbauen können:
- Erstellen Sie ein Virtual Private Network (VPC), um die Ressourcen des einzelnen Mandanten zu isolieren. Die VPC sorgt für Netzwerkisolierung und Sicherheit.
- Verwenden Sie Identitäts- und Zugriffsmanagement (IAM), um den Zugriff auf Ressourcen für den einzelnen Mandanten zu verwalten. IAM erstellt Richtlinien, die festlegen, auf welche Ressourcen der Mandant zugreifen kann.
- Verwenden Sie Elastic Compute Cloud (EC2), um virtuelle Maschinen für einen einzelnen Mandanten bereitzustellen. EC2 erstellt Instanzen mit spezifischen Konfigurationen und bietet vollständige Kontrolle über die Ressourcen.
- Verwenden Sie Elastic Block Store (EBS), um Speicherplatz auf Blockebene für die virtuellen Maschinen bereitzustellen.
- Verwenden Sie Relational Database Service (RDS), um einen verwalteten Datenbankdienst für den einzelnen Mandanten bereitzustellen. Sie können eine separate Datenbankinstanz für den Mandanten erstellen, die für Isolierung und Sicherheit sorgt.
- Verwenden Sie Amazon S3, um statische Assets wie Bilder, Videos und Dokumente zu speichern. Sie können einen separaten Bucket für den Mandanten erstellen, auf den nur der Mandant zugreifen kann.
- Verwenden Sie Elastic Load Balancer (ELB), um den Datenverkehr über mehrere Instanzen Ihrer Anwendung zu verteilen, und zwar innerhalb der Ressourcen, die nur für Ihren Mandanten bestimmt sind.
Beispiele für Cloud-Anwendungen
Hier sind einige der bekanntesten Cloud-Anwendungen, die Sie für eine Single-Tenant-Architektur verwenden können.
- Workday ist eine Cloud-basierte Personal- und Finanzmanagement-Software, die ihren Kunden eine Single-Tenant-Architektur bietet.
- SAP HANA Cloud-basierte Plattform.
- Oracle Cloud-Architektur.
- IBM Cloud Dedicated mit dedizierten Ressourcen, die nicht mit anderen Kunden geteilt werden.
- Rackspace Private Cloud.
Vorteile der Single Tenant Cloud-Architektur
Die Single Tenant Cloud-Architektur hat einige Vorteile gegenüber der Multi-Tenant-Architektur:
- Erhöhte Sicherheit, da die Ressourcen einem einzigen Kunden vorbehalten sind. Der Kunde hat die vollständige Kontrolle über die Sicherheit seiner Ressourcen. Das Risiko eines Datenverlusts oder eines unbefugten Zugriffs, wie es in mandantenfähigen Umgebungen vorkommen kann, ist damit ausgeschlossen.
- Ein weiterer Vorteil ist die größere Anpassungsfähigkeit. Sie können die Ressourcen an Ihre speziellen Bedürfnisse anpassen, was zu einer besseren Leistung und Effizienz führt. Auch bei der Auswahl von Software und Hardware haben Sie mehr Flexibilität.
- Vorhersehbare Leistung, da die Ressourcen für einen einzigen Kunden bestimmt sind. Sie können mit einer konstanten Leistungsbelastung rechnen, was für Anwendungen wichtig ist, die ein hohes Maß an Leistung und Zuverlässigkeit erfordern.
- Bessere Einhaltung bestimmter Vorschriften oder Standards, da die Ressourcen nur für einen Mieter bestimmt sind.
- Größere Skalierbarkeit, da der Kunde die Ressourcen je nach Bedarf nach oben oder unten skalieren kann.
Allerdings ist die Single-Tenant-Architektur in der Regel teurer als die Multi-Tenant-Architektur, so dass sie definitiv nicht für alle Unternehmen die beste Wahl ist.
Anwendungsfälle der Single Tenant Cloud-Architektur in der realen Welt
Hier sind einige der besten Anwendungsfälle für eine Single-Tenant-Architektur:
- Organisationen des Gesundheitswesens müssen strenge Vorschriften wie den HIPAA einhalten, die ein hohes Maß an Sicherheit und Datenschutz erfordern. Die Single-Tenant-Architektur ermöglicht es Organisationen des Gesundheitswesens, die vollständige Kontrolle über ihre Ressourcen zu behalten und Sicherheitsmaßnahmen zu implementieren, die speziell auf die Bedürfnisse von Patienten und Mitarbeitern zugeschnitten sind.
- Finanzdienstleister müssen strenge Vorschriften wie PCI DSS einhalten. Eine Single-Tenant-Architektur ist daher eine gute Lösung.
- Regierungsorganisationen müssen strenge Vorschriften wie FISMA einhalten, die wiederum ein hohes Maß an Sicherheit und Compliance erfordern.
- Forschungseinrichtungen benötigen oft ein hohes Maß an Anpassung und Leistung für ihre Ressourcen.
- E-Commerce-Organisationen sind ein weiterer Anwendungsfall für eine Single-Tenant-Architektur. Sie können ihre Ressourcen je nach Bedarf vergrößern oder verkleinern, um die sich ändernden Anforderungen ihrer Kunden zu erfüllen.
Multi-Tenant-Architektur
Eine Multi-Tenant-Architektur ist oft die beste Lösung für Unternehmen, die Kosteneinsparungen, Skalierbarkeit und Zusammenarbeit über hohe Sicherheits- und Anpassungsanforderungen stellen.
- Mehrere Kunden teilen sich die gleichen Ressourcen in der Cloud. Das bedeutet, dass die Ressourcen keinem Kunden zugewiesen sind und von allen Kunden gemeinsam genutzt werden.
- Eine Multi-Tenant-Architektur ist in der Regel günstiger als eine Single-Tenant-Architektur, einfach aufgrund der Art der gemeinsam genutzten Ressourcen.
- Die Anpassungsmöglichkeiten sind begrenzt. Dies kann ein Nachteil für Kunden sein, die sehr individuelle Ressourcen benötigen.
Hier ein Beispiel dafür, wie Sie eine durchgängige Multi-Tenant-Architektur in der AWS-Cloud aufbauen können:
- Erstellen Sie eine VPC, um die Ressourcen der einzelnen Mandanten zu isolieren. Jeder Mandant hat seine eigene VPC, die Netzwerkisolierung und Sicherheit bietet.
- Verwenden Sie IAM, um den Zugriff auf Ressourcen für jeden Mandanten zu verwalten. IAM legt Richtlinien fest und bestimmt, auf welche Ressourcen jeder Mandant zugreifen kann. Für jeden Mandanten können unterschiedliche Richtlinien gelten.
- Verwenden Sie ELB, um den Datenverkehr über mehrere Instanzen Ihrer Anwendung zu verteilen. Steuern Sie, welcher Datenverkehr zu welchem Tenant geht.
- Verwenden Sie RDS, um einen verwalteten Datenbankdienst für jeden Mandanten bereitzustellen. Erstellen Sie separate Datenbankinstanzen für jeden Mandanten mit separaten Datenbankprivilegien und Dateninhalten. Sie können denselben Datenbank-Cluster verwenden. Dies gibt den Mandanten Isolation und Sicherheit.
- Verwenden Sie Amazon S3, um statische Inhalte wie Bilder, Videos und Dokumente zu speichern. Sie können die Zugriffe auf die Buckets für die Mandanten kontrollieren. Sie können sie auf mehrere Konten aufteilen oder bei Bedarf trennen.
- Verwenden Sie CloudFront, um statische Assets an die Benutzer zu verteilen. Erstellen Sie separate Verteilungen für jeden Mandanten, was Isolierung und Sicherheit bietet.
Beispiele für Cloud-Anwendungen
Hier sind einige Beispiele aus der Praxis für mandantenfähige Cloud-Anwendungen:
- Salesforce ist eine Cloud-basierte CRM-Plattform (Customer Relationship Management), die es mehreren Unternehmen ermöglicht, dieselbe Infrastruktur zu nutzen und gleichzeitig ihre Daten getrennt und sicher zu halten.
- Dropbox ist ein Cloud-basierter Dateispeicher- und Freigabedienst, der es mehreren Benutzern ermöglicht, gemeinsam an denselben Dateien zu arbeiten.
- Microsoft Office 365 ist eine Cloud-basierte Produktivitätssuite, die es mehreren Benutzern ermöglicht, gemeinsam an denselben Dokumenten, Tabellen und Präsentationen zu arbeiten.
- Google Workspace ist eine weitere Cloud-basierte Produktivitätssuite, die der von Microsoft ähnelt.
- AWS ist eine Cloud-basierte Infrastrukturplattform, die es mehreren Unternehmen ermöglicht, dieselbe Infrastruktur zu nutzen und dabei ihre Daten getrennt und sicher zu halten.
Vorteile der Multi-Tenant-Architektur
Die mandantenfähige Cloud-Architektur hat einige spezifische Vorteile:
- Diese Architektur ist im Allgemeinen kostengünstiger als eine Single-Tenant-Architektur. Mehrere Kunden teilen sich die Ressourcen.
- Sie hat einen größeren Einfluss auf die Skalierbarkeit. Die Ressourcen werden je nach Bedarf nach oben oder unten skaliert, um den sich ändernden Anforderungen der Kunden gerecht zu werden, da sie sich die Ressourcen gemeinsam teilen. Die Skalierung erfolgt für alle Kunden zur gleichen Zeit.
- Diese Architektur erfordert weniger Wartung. Der Cloud-Anbieter ist für die Wartung der Ressourcen verantwortlich, die für alle Mieter gleich sind. Sie müssen sich also nur einmal um die Wartung kümmern.
- Sie haben eine bessere Zusammenarbeit zwischen den Kunden, da sie sich dieselben Ressourcen teilen. Die Kunden können gemeinsam an Projekten arbeiten und Daten effizienter austauschen.
- Diese Architektur fördert die Standardisierung. Der Cloud-Anbieter kann Standardprozesse und -verfahren implementieren und sie auf alle Mieter gleichzeitig anwenden.
Die Multi-Tenant-Architektur ist jedoch möglicherweise nicht die beste Wahl, wenn Unternehmen ein hohes Maß an Sicherheit, Konformität oder individueller Anpassung benötigen. Gemeinsam genutzte Ressourcen verringern die Möglichkeiten für all diese Aspekte.
Anwendungsfälle der Multi-Tenant-Architektur in der realen Welt
Hier sind einige der besten Anwendungsfälle für eine mandantenfähige Architektur:
- Kleine und mittlere Unternehmen (SMBs) haben oft begrenzte Budgets und Ressourcen, was eine mandantenfähige Architektur zu einer attraktiven Option macht.
- Anbieter von Software as a Service (SaaS) nutzen eine mandantenfähige Architektur, um Dienste für mehrere Kunden bereitzustellen.
- Soziale Medienplattformen erfordern ein hohes Maß an Skalierbarkeit und Zusammenarbeit. Die mandantenfähige Architektur ermöglicht es sozialen Medienplattformen, ihre Ressourcen nach Bedarf zu skalieren, um den sich ändernden Bedürfnissen ihrer Nutzer gerecht zu werden.
- Bildungseinrichtungen benötigen oft kostengünstige Lösungen für ihre IT-Infrastruktur. Die mandantenfähige Architektur ermöglicht es Bildungseinrichtungen, die Kosten für Ressourcen mit anderen Einrichtungen zu teilen, was zu Kosteneinsparungen führt.
- Public Cloud-Anbieter nutzen die Multi-Tenant-Architektur, um ihre Dienste für mehrere Kunden bereitzustellen.
Wo passt die AWS Cloud hin?
Wie bereits erwähnt, können Sie AWS sowohl als Single- als auch als Multi-Tenant-Architektur einrichten.
Sie können eine dedizierte Infrastruktur für einen einzelnen Kunden oder eine Organisation einrichten. AWS verfügt beispielsweise über EC2 Dedicated Hosts, die physische Server bereitstellen, die einem einzelnen Kunden vorbehalten sind. Dadurch hat der Kunde die vollständige Kontrolle über die zugrunde liegende Hardware.
AWS hat auch eine Virtual Private Cloud (VPC), mit der Kunden isolierte virtuelle Netzwerke innerhalb der AWS-Cloud erstellen können.
AWS bietet jedoch eine Reihe von Services, mit denen Sie eine gemeinsame Infrastruktur schaffen können. AWS bietet zum Beispiel EC2-Instanzen (nicht dediziert), die virtuelle Server bereitstellen, die von mehreren Kunden gemeinsam genutzt werden können. Dann teilen Sie dieselbe zugrunde liegende Hardware und Infrastruktur, während sie ihre eigene Privatsphäre und Sicherheit behalten.
Oder Sie können Dienste wie Amazon S3 nutzen, mit denen Sie denselben Speicherplatz für mehrere Kunden freigeben können. Die Kunden können Daten in einer gemeinsamen Umgebung speichern und abrufen.
Wenn es um RDS-Datenbanken in AWS geht, haben Sie wiederum die Möglichkeit, diese auf verschiedene Weise einzurichten. Sie können separate Datenbankinstanzen für jeden Mandanten erstellen. Sie können auch einen eigenen Datenbank-Cluster und eine eigene Instanz für einen einzelnen Mandanten erstellen.
Schließlich können Sie RDS nutzen, um einen gemeinsamen Datenbankservice für mehrere Mandanten zu erstellen. Eine solche Datenbankinstanz unterstützt dann mehrere Mandanten und schränkt letztlich den Grad der Anpassung oder Leistung ein.
Es ist also nicht die Plattform, die bestimmt, ob Sie eine Single- oder Multi-Tenant-Architektur haben werden. Es kommt viel mehr darauf an, wie Sie die Plattform konfigurieren und einrichten.
Abschließende Worte
Die Entscheidung zwischen einer Single-Tenant- und einer Multi-Tenant-Architektur hängt von den spezifischen Bedürfnissen des Kunden ab. Die Single-Tenant-Architektur wird in der Regel von Unternehmen bevorzugt, die ein hohes Maß an Sicherheit, Konformität und Anpassungsfähigkeit benötigen. Die Multi-Tenant-Architektur wird von Unternehmen bevorzugt, bei denen Kosteneinsparungen und Skalierbarkeit im Vordergrund stehen.
Cloud-Plattformen wie z.B. AWS bieten Ihnen die Möglichkeit, Ihre Meinung im Laufe der Zeit zu ändern. Sie können sie auch nutzen, um eine hybride Umgebung zu schaffen, in der jeder Fall seinen eigenen Platz hat und gut zusammenarbeitet.
Sehen Sie sich als Nächstes Multitenancy im Cloud Computing erklärt an.