TEST HEADLINE
ACC
Suche

Ab in die Cloud: Welche Vorteile bringt Cloud-Hosting am Beispiel von AWS?

von ACC Content Team

Immer mehr Kunden möchten ihre Webseiten auf der ganzen Welt verfügbar machen ohne Abstriche bei der Darstellung und der Geschwindigkeit zu haben. Die Nutzung von den großen Cloud-Hosting-Diensten wie Amazon Webservices, Google Cloud Platform, Microsoft Azure oder IBM Cloud ermöglicht diese weltweite Auslieferung der Webseiten. Dominik Jais, Chef unseres Web-Developments, erklärt in einem kurzen Interview die Vor- und die Nachteile vom Cloud-Hosting anhand von Amazon Web Services (AWS).

Was versteht man unter Cloud-Hosting?

Cloud-Hosting setzt sich aus mehreren Micro-Services zusammen, die es ermöglichen, Applikationen und Webseiten weltweit verfügbar und ausfallsicherer zu machen. Dabei werden die Daten in virtuellen Maschinen verpackt, die weltweit verteilt und verfügbar gemacht werden. Gleichzeitig sind sie dadurch ausfallsicherer und nahezu unbegrenzt skalierbar.

Welche Punkte müssen all jene beachten, die sich das erste Mal mit AWS oder Cloudservices beschäftigen?

Im Vergleich zu normalen Webseiten ist die Arbeit mit Cloudservices auf alle Fälle komplexer. Das erste Projekt, das man damit realisiert, erfordert eine intensive Auseinandersetzung mit dem Thema und bedingt gewisse Learnings.

Bei AWS oder ähnlichen Lösungen von Google oder Microsoft muss man auf die Kosten für den Service achten. Beim Kunden fallen nämlich andere Kosten an, als bei einem einfachen Server. Diese können auch höher sein. Der große Nachteil liegt darin, wie diese Services von Amazon und anderen Anbietern abgerechnet werden. Amazon bietet Pakete an, die minutiös nach Stunden und Minuten abgerechnet werden. Am Anfang ist es daher schwierig abzuschätzen, wie viel der Service kosten wird. Ein Paket bei AWS beinhaltet gewisse Micro-Services, die einen Einfluss auf die Kosten haben. Zum Beispiel erhöhen sich die Kosten wenn die Datenbanken auf der ganzen Welt verteilt werden. Sie erhöhen sich auch je nachdem wie viel Traffic generiert wird. Es braucht viel Erfahrung, um hier die Kosten gut einschätzen zu können.

Was sind die Kriterien, welche die Kosten maßgeblich beeinflussen?

Die Servergröße, die Leistung des Servers und diverse Micro-Services, die es immer zusätzlich braucht. Es hängt davon ab, wie viele Instanzen weltweit verteilt gebraucht werden. Globale Webseiten brauchen beispielsweise Instanzen in Europa, in Nordamerika, Südamerika, in Asien und vielleicht in Afrika. Diese globale Verteilung multipliziert die Kosten relativ schnell.  Ebenso treibt die Anzahl der Backups die Kosten in die Höhe, da dadurch mehr Speicherplatz benötigt wird. Die Kosten für die Micro-Services bewegen sich im Cent-Bereich, summieren sich allerdings zu einer stattlichen Summe. Die Höhe der monatlichen Ausgaben für die Amazon Web Services hängt auch davon ab, wie viele Rechen-Kerne von Amazon zur Verfügung gestellt werden. Bei Amazon Web Services zahlt man nach Auslastung, d.h. wenn in der Nacht wenig los ist, fallen weniger Kosten an. Services wie Elastic Beanstalk übernehmen solche Up- und Downgrading-Aktionen automatisiert. Wenn wieder mehr Traffic auf der Webseite ist, steigen dann wieder die Kosten.

Unterm Strich kann es auch dazu führen, dass man günstiger mit der Amazon-Lösung fährt, da man ansonsten ständig die großen Server bezahlen müsste. Dennoch ist die Kostentransparenz bei AWS ein großer Knackpunkt, da sich diese Kosten nicht von vornherein mit Sicherheit bestimmen lassen.

Bei Cloud-Lösungen liegen die Datenbanken teilweise weltweit verteilt. Wie schaut es mit dem Schutz der Daten bei solchen Lösungen aus?

Vom Datenschutz her ist das sehr sicher. Amazon trifft bei seinen Web Services die größten Sicherheitsvorkehrungen, die machbar sind.

Wir haben ja Kunden aus dem Gesundheitsbereich die mit einer AWS-Lösung arbeiten. Ein Kunde bietet medizintechnische Produkte an, bei denen es um Patientendaten geht. Deshalb unterliegt es den strengsten Auflagen der Gesundheitsbehörde und muss schärfste Sicherheitsvorkehrungen treffen, damit die Daten nicht kopiert werden können oder Unbefugte an die Daten kommen. Amazon kann ihnen das alles bieten.  Das Unternehmen hat bewusst diese Entscheidung getroffen, weil sie verpflichtet sind, diese Sicherheitsvorkehrungen zu treffen, diese im Haus in effizienter Weise gar nicht auf diesem Niveau sicherstellen können, wie es Amazon ihnen anbietet und zusichert.

Wenn ich mich das erste Mal mit AWS beschäftige. Was muss ich beim Einrichten beachten?

Es gibt mehrere Services von Amazon, die man für das Hosten von Webseiten verwenden kann. Diese Services sind dann skaliert, d.h. man kann rasch die Größe und den Umfang ändern oder ortsbezogene Migrationen oder Duplikate erstellen. Beim Einrichten der AWS muss man immer darauf achten, wo die Daten liegen und was passiert, wenn ein Klon davon gemacht wird.

Mit Elastic Beanstalk oder dem Elastic Container Service von Amazon werden die kompletten Umgebungsdaten immer wieder neu aufgebaut. So kann bei einem Ausfall, Hackerangriff oder einer enormen Auslastung einfach eine neue Instanz automatisiert aufgebaut bzw. multiple Instanzen erstellt werden, die Daten sind allerdings auf getrennten Datenbank- und Storage-Services jederzeit verfügbar. Da diese Daten und Dateien wie Assets, individuelle Uploads, etc. auf einem anderen Server liegen, können User in einem solchen Falle trotzdem dieselben Inhalten auf der Webseite sehen. Dies muss man bei der Programmierung beachten sowie in der Architektur der Applikation mitbedenken und strikt voneinander trennen.

Diese Vorgehensweise hat den Vorteil, dass man sehr schnell auf unterschiedlichste Szenarien reagieren und Webseiten weltweit verteilen kann. Auch die Datenbanken wie beispielsweise die Amazon Aurora Datenbank kann man weltweit verteilen und so das Optimum an Performance herausholen.

Ab welcher Größe einer Webseite ist es sinnvoll auf Cloud-Hosting zurückzugreifen?

Faustregel gibt es hier keine. Wenn man zum Beispiel im Monat 20 bis 50 Euro für Server ausgibt und operativ im deutschsprachigen Raum aktiv ist, dann muss man die Webseite nicht unbedingt über AWS oder Cloud-Hosting abwickeln. Wir von der ACC haben in Österreich gute Partner zur Verfügung, mit denen wir das Hosting wesentlich günstiger abwickeln können. Dies hat den Vorteil, dass wir Ansprechpartner vor Ort haben und mit Ihnen kleinere Projekte gut umsetzen können. Sobald man aber in mehreren Regionen der Welt vertreten sein will, lohnt es sich auf Cloud-Hosting zu setzen. Bei sehr komplexen Kunden-Projekten bei dem bereits Millionen Einträge entstanden sind, ist eine Cloud-Umgebung von Vorteil. Die Flexibilität und Skalierbarkeit ist in diesem Fall einfach größer.

Brauchen Programmierer spezielle Kenntnisse oder Fähigkeiten, um mit Cloud-Hosting Diensten wie Amazon Web Services zu arbeiten?

Die Aufgabe vom Programmierer ist es, die Funktionstüchtigkeit der Applikation sicherzustellen, die Einrichtung und Konfiguration ist eher Aufgabe eines Systemarchitekten. Die Systemarchitektur müssen wir als Programmierer jedoch bei unserer Arbeit mitbedenken und mit den Systemarchitekten zusammenarbeiten. Für das Einrichten braucht es keine bestandene Prüfung von Amazon, allerdings sind die regelmäßigen Prüfungen bei Amazon sinnvoll, einfach um auf dem neuesten Stand zu bleiben.

Gibt es in Tirol irgendwelche Ausbildungsmöglichkeiten für Amazon Web Services?

In Deutschland gibt es ein Unternehmen, das mit Amazon verbunden ist und diese Schulungen anbietet. In Tirol gibt es hierzu derzeit keine Ausbildungsmöglichkeiten. In Österreich bieten einige Weiterbildungsunternehmen Online- sowie Offlinekurse an. Amazon selbst hat zahlreiche Tutorials und Videobeiträge produziert. Hier kann man sich auch im Selbststudium weiterbilden.

 

Glossar für AWS Fachbegriffe:

Elastic Beanstalk:

AWS Elastic Beanstalk ist ein Dienst von Amazon, der Webanwendungen und -Services, die mit Java, .NET, PHP, Node.js, Python, Ruby, Go und Docker auf vertrauten Servern wie Apache, Nginx, Passenger und IIS entwickelt werden, bereitstellt und skaliert.

Elastic Container Service:

Der Web-Service Amazon Elastic Compute Cloud (Amazon EC2) stellt sichere, skalierbare Rechenkapazitäten in der Cloud bereit. Der Service erleichtert Cloud Computing für Entwickler und stellt mühelos Kapazität bereit.

S3 Bucket:

Ein Bucket ist eine logische Speichereinheit in Amazons Simple Storage Service (S3) und enthält Objekte mit Dateien und zusätzlich beschreibende Metadaten. Ein S3 Bucket ist notwendig um Daten in der Amazon Public Cloud speichern zu können.

Amazon Aurora:

Aurora ist eine mit MySQL und PostgreSQL verwaltete kompatible relationale Datenbank-Engine. Bestehende MySQL- und PostgreSQL Datenbanken können Sie mit Aurora verwenden. Aurora kann jedoch einen bis zu fünfmal höheren Durchsatz als MySQL haben.

Webdevelopment
künstliche Wolke mit blauen Details hängt an blauen Fäden in der Luft
facebook twitter share mail behance dribbble instagram linkedin facebook2