Ein Enterprise CMS-System wie Sitecore in der Cloud zu betreiben macht in vielen Fällen Sinn. Insbesondere bei regelmäßigen Lastspitzen oder bei weltweit verteilt betriebenen Webseiten. Azure ist Microsofts Cloud-Lösung, bringt automatisches Deployment von Webservern mit und unterstützt natürlich auch Microsoft SQL Datenbanken. Da Sitecore auf Windows-Server-Plattformen läuft, bietet sich hier eine genauere Prüfung einer kombinierten Lösung an.
Ein solches Vorhaben bringt einiges an Fragen, Anforderungen und Herausforderungen mit sich. Deswegen führten wir ein Testprojekt durch, bei dem unsere Kollegin Friederike die Kopie eines Kundenprojekts in die Azure Cloud umzog, um valide Erfahrungen mit dieser speziellen Lösungs-Kombination zu sammeln. Diese Erfahrungen haben wir in einem Test-Tagebuch festgehalten, aus dem wir Ihnen hier die wichtigsten Erkenntnisse vorstellen möchten.
Alles ist ein Service
Mittlerweile gibt es tatsächlich die Abkürzung XaaS bzw. EaaS – „Everything as a Service“ als Überbegriff für all die Leistungen wie Software, Plattformen, Infrastrukturen, Laufzeitumgebungen, Hardware und viele mehr, die sich als Services buchen und on demand beschaffen lassen.
Die generellen Hauptvorteile für Kunden beim Einsatz einer Cloud-Strategie sind:
- Keine Bindung an physische Güter
- Aktualität und Leistung von Hardware immer ausreichend
- flexible Abrechnung nach Nutzungsintensität, -Dauer, Nutzeranzahl
- keine Kapital-Bindung
- geringe bis keine Wartungskosten
Die eingangs gezeigte Infographik von Microsoft (hier zum Download als PDF) illustriert sehr gut, welche Gesamtmöglichkeiten die Microsoft Azure Cloud-Services bieten. Wir konzentrieren uns hier auf einen kleinen Teilbereich.
Sitecore CMS in der Cloud – IaaS
Eine Telko mit dem Azure Vertrieb brachte zunächst Überraschendes hervor: Das Aufsetzen einer Sitecore Instanz dauert nur 7 Minuten. Weltweit! Das ist erstmal schwer zu glauben, stellte sich aber als Tatsache heraus.
Aber: Das bedeutet im einzelnen das hinzu schalten / hochfahren einer weiteren Sitecore CD Instanz dauert 7 Minuten. Das basiert allerdings auf einer vollständig konfigurierten Publizierungsinstanz / Deployment Center. Dieses vorzubereiten und aufzusetzen (Sitecore Installation) und dann zu konfigurieren dauert natürlich länger. Diese Arbeit hätte man aber auch bei einer Installation im eigenen Rechenzentrum.
In einem unserer Testläufe haben wir Azure als IaaS (Infrastructure as a Service) getestet. Zum einen kann ein virtueller Server als „Quick Create“ aufgesetzt werden. Diesen kann man sich wie einen frisch installierten Rechner vorstellen.
Interessanter sind für uns in diesem Fall die vorkonfigurierten Server-Images aus einer Gallery. Wir entscheiden uns für Option A3 mit 4 CPU-Kernen und 7 Gigabyte Arbeitsspeicher. Übrigens ist als Serverstandort in Westeuropa nur Amsterdam oder Dublin möglich. Eine Standort-Option in Deutschland gibt es (zumindest noch) nicht.
Die Installation von Sitecore lief für unsere Experten an sich problemlos. Einzig an einigen Stellen musste die Dokumentation konsultiert werden:
- diverse Module für den IIS Webserver nachinstallieren
- Datenbankuser korrekt anlegen
- korrekte Portangabe setzen
Kosten für den Installationsvorgang auf der virtuellen Maschine: 0,21 €
Zitat aus unserer Technik: „Hier habe ich genau die gleichen Malessen mit Lizenzen, Updates, Wartung, Administrierung wie im eigenen Rechenzentrum. Nur das Blech habe ich in diesem Fall nicht.“
Mehr können Sie dazu hier in der Dokumentation bei Microsoft erfahren.
Azure SQL wird in die Cloud ausgelagert – SaaS
Hier liegt nur die Datenbanksoftware in der Cloud. Dadurch wird das zu Grunde liegende Betriebssystem irrelevant. Dabei unterliegt Azure SQL einigen Unterschieden zur Microsoft SQL, wodurch sich die Datenbanken nicht so einfach migrieren ließen wie gewohnt.
In diesem SaaS-Fallbeispiel wird also nur ein Softwarebestandteil in der Cloud genutzt.
Wenn die Windows-Server sowieso zur Verfügung stehen, haben wir für dieses Modell keine direkte Anwendungsmöglichkeit in unserem Umfeld gefunden.
Sitecore CMS in der Cloud – PaaS
Sicherlich das spannendste Szenario. Hierzu haben wir zunächst die virtuelle IaaS Maschine kopiert und als Deployment Center benutzt. Natürlich hätten wir hierfür auch einen bereits lokal und physisch vorhandenen Server hernehmen können.
- Betriebssystem
- IIS Webserver
- lauffähiges Sitecore
- und Datenbank als SaaS oder Datenbank-Server oder im eigenen Rechenzentrum“
Wenn der DNS-Eintrag auf den Azure Traffic-Manager und die Routings entsprechend angepasst sind, werden bspw. Anfragen aus Südostasien deutlich schneller bedient, als wenn diese Besucher auf einen Webserver in Deutschland geroutet würden, da der Traffic Manager als Geo-DNS fungiert und den Traffic intelligent je nach Standort der Benutzer umleitet.
Bei besonderen Lastspitzen geht das ganze Procedere übrigens auch automatisch.
Sprich:
Server werden nach Bedarf gestartet, wenn plötzlich der Traffic irgendwo auf der Welt hoch geht. (Wenn zum Beispiel ein Fernsehbeitrag in Australien gezeigt wird.) Genauso können stärkere Maschinen per Termin im Voraus gebucht werden. An Weihnachten, bei einer geschalteten Kampagne oder zum Produkt-Launch. Zum angegebenen Zeitpunkt werden demnach die Serverkapazitäten erhöht und nach Ablauf wieder gesenkt um auf smarte Weise Kosten zu sparen.
Aus welchen Gründen kann eine CMS-Instanz in der Cloud Sinn machen?
- Admins sparen Hardware, Zeit, Geld, Lizenzen, Wartung. Backups aus der Cloud auf lokale Rechner sollte man sich natürlich trotzdem noch ziehen.
- Entwickler können schnell mal ein volles Testsystem hochziehen für 1-3 Tage nutzen und dann wieder abschalten. Gezahlt wird zeitgenau abgerechnet anstatt für fünfstellige Summen neue Server zu kaufen.
- Global verteilte Standorte sind on demand möglich und damit auch eine schnellere Auslieferung an Endnutzer.
- Plötzlich ansteigender Traffic kann automatisiert und nach fein einstellbaren Regeln abgefangen werden.
Gibt es eine Kostenersparnis?
In unserem Beispiel könnte die Azure-Lösung einige Prozentpunkte günstiger sein als die vorhandene physische Struktur.
Aber:
Ein Umzug in die Cloud wäre ein umfangreiches Projekt, das momentan noch die Einsparungen auffressen würde.
Für neue Projekte könnte eine Cloudnutzung durchaus von Beginn an günstiger sein.
Qualitätssicherungssysteme und Entwicklungssysteme, die nur bei Bedarf genutzt werden, könnten in einem „Pay-as-you-Go“-Bezahlmodell durchaus zukünftig eine Ersparnis bedeuten.
Fakt ist, dass sich Anbieter von Cloudlösungen wie Google, Microsoft und Amazon – um nur einmal die großen zu nennen – quasi ständig neu unterbieten was die Kosten angeht oder den Funktionsumfang für den Kunden erweitern. Damit werden Cloud-Ansätze zunehmend attraktiver.
Unser Fazit:
Die Komplexität eines Cloud-Umzugs ist nicht zu unterschätzen und setzt eine sehr präzise Planung für einen konkreten Use-Case voraus. Je nach Use-Case kann bereits heute eine Kostenersparnis realisiert werden. Performance-Gewinn und -Optimierung ist auf jeden Fall möglich.
Interessieren Sie Details zu unseren Erfahrungen mit Sitecore in der Cloud? Nehmen Sie gerne Kontakt mit uns auf!
Weiterführende Informationen:
In einer hervorragenden 7-teiligen Blog-Serie beschäftigt sich Microsoft Architect Evangelist Holger Sirtl hier bei MSDN mit der Auswahl der einzelnen Ausführungsmodelle von Microsoft Azure anhand von verschiedenen Szenarien:
Teil 1: Überblick über die Ausführungsoptionen
Teil 2: Virtual Machines
Teil 3: Cloud Services
Teil 4: Websites
Teil 5: Mobile Services
Teil 6: Auswahl des besten Ausführungsmodells
Teil 7: Wechsel des Ausführungsmodells
Für die Kostenkalkulation eines Cloud-Projekts hat Microsoft einen Preisrechner veröffentlicht
Monatliche, kostenlose Webcasts zum Thema Azur bietet Microsoft hier an
Fallstudien zu Microsoft Azure finden Sie hier
Eine zusätzliche Beschreibung der Besonderheiten bei der Installation des Moduls Sitecore Azure finden Sie bei den schweizer Kollegen im namics-Blog