So klingen Sie wie ein Cloud-Experte

Veröffentlicht: 2022-03-10
Kurze Zusammenfassung ↬ Die Bereitstellung eines skalierbaren und stabilen Dienstes für einen wachsenden Kundenstamm über das Internet ist sehr komplex. Letztendlich ist es Ihre Aufgabe, gute Entscheidungen darüber zu treffen, wie Sie ihre Dienste nutzen.

Ihr Code ist geschrieben und das Design sieht gut aus. Das neue Projekt ist fast startklar, als der Kunde fragt: „Soll das in der Cloud laufen?“

Ihnen bricht kalter Schweiß aus. Die Frage ist gewaltig. Regionen und Zonen , Hochverfügbarkeit , Lastverteilung – die Cloud hat ihre eigene Sprache.

Mach dir keine Sorge; du hast das. In diesem Artikel erfahren Sie, wie Sie intelligente Entscheidungen über die Cloud treffen und die Cloud-Fragen Ihrer Kunden beantworten.

Vier große Fragen

Bevor Sie und Ihr Kunde wissen, welche Art von Cloud Sie möchten, müssen Sie vier Fragen besprechen:

  • Wie komplex ist die Software, die Sie ausführen müssen?
  • Wie stark muss skaliert werden?
  • Wie wichtig ist es, dass es nie untergeht?
  • Wie schnell muss es für Benutzer auf der ganzen Welt laufen?

Dieser Artikel liefert Ihnen den Hintergrund und die Informationen, die Sie benötigen, um diese Fragen zu beantworten und wie ein Cloud-Experte zu klingen.

Lass uns anfangen.

  1. Was ist eine Wolke?
  2. Warum sich Ihr Kunde für die Cloud interessiert
  3. Wie unterscheidet sich eine Cloud von einem Hosting-Service?
  4. Warum virtuelle Maschinen so wichtig sind
  5. Reden wir ein wenig über Networking
  6. Die verschiedenen Arten von Wolken
  7. Die grundlegenden Teile einer Wolke
  8. Fragen, die Ihre Kunden wahrscheinlich stellen werden
Mehr nach dem Sprung! Lesen Sie unten weiter ↓

Was ist eine Wolke?

Wenn wir von Cloud Computing sprechen, meinen wir wirklich die Möglichkeit, ein Stück Computer von jemand anderem zu mieten. Das ist alles dazu.

Unternehmen wie Amazon und Google haben viele Computer und sind bereit, Teile davon an Sie zu vermieten. Das Mieten von Computern bei ihnen ist kostengünstig, da Sie keine eigenen Rechenzentren bauen oder Ihr eigenes Expertenteam einstellen müssen, um sie zu betreiben.

Wenn Sie einen Teil eines Computers mieten, muss dieser wie ein ganzer Computer aussehen, damit Sie jede gewünschte Software ausführen können. Aus diesem Grund geben Ihnen Anbieter eine virtuelle Maschine (VM) – Software, die es so aussehen lässt, als würden Sie auf Ihrem eigenen separaten Computer laufen.

Warum sich Ihr Kunde für die Cloud interessiert

Bevor Sie mehr über die Cloud erfahren, ist es wichtig zu verstehen, warum sich Ihr Kunde darum kümmert. Lassen Sie uns den Reiz von Modewörtern nicht abtun; die cloud ist gerade voll im trend. Ihr Kunde fragt vielleicht nur, weil all die coolen Kids es tun, aber es gibt Gründe , warum die coolen Kids es tun.

Beginnen wir mit den Grundlagen. Das Hosten eines eigenen Rechenzentrums wäre ein Ärgernis. Sie müssten sich um den Stromverbrauch kümmern, Ihre Hardware auf dem neuesten Stand halten, ein Expertenteam für den Betrieb einstellen und tausend andere Probleme, die nichts mit Ihrem Unternehmen zu tun haben. Was würde passieren, wenn der Strom ausfällt, es eine Überschwemmung gibt oder das Dach einstürzt? All dies sind Gründe, Ihre Website nicht auf einem Server zu hosten, der in Ihrem Wohnzimmer läuft.

Sie können nicht nur alle Kopfschmerzen an jemand anderen weitergeben, sondern wenn Sie das Rechenzentrum betreiben, haben Sie drei große Vorteile:

  1. Wolken sind global .
    Sie sind in Rechenzentren auf der ganzen Welt vorhanden, einschließlich eines in der Nähe Ihres Kunden. Das bedeutet Geschwindigkeit . Sie möchten nicht, dass Kunden in China darauf warten, dass Daten aus den USA geladen werden. Wenn ich zu Google.com gehe, bekomme ich in Boston ein anderes Rechenzentrum als in Chicago oder LA, und das ist nur in den USA. Das ist ein großer Teil dessen, was die Geschwindigkeit von Google möglich macht.
  2. Wolken wachsen und schrumpfen .
    Wenn ich einen Server kaufe, habe ich einen Server; Selbst wenn meine App nicht den ganzen Computer benötigt, muss ich trotzdem für diesen Server bezahlen. Wenn meine App wirklich beliebt wird, muss ich schnell mehr Server kaufen. Die Cloud funktioniert so nicht. Das Mieten von Anteilen an Servern bedeutet, dass ich ändern kann, wie viel ich miete: Ich kann die Bestellung vergrößern, wenn ich beschäftigt bin, und sie verkleinern, wenn ich nicht so viel benötige.
  3. Wolken gehen nie unter .
    Sag niemals nie … aber fast nie. Cloud-Anbieter sprechen von „fünf Neunen“ – das bedeutet, 99,999 % der Zeit betriebsbereit zu sein (mit nur 5,26 Minuten Ausfallzeit pro Jahr). Mit Diensten wie Load-Balancing und Failover können Sie das sogar noch kleiner machen.

Das sind alles Gründe, warum Clouds cool sein können, aber Sie können einige davon von einem einfachen Hosting-Service erhalten. Wenn Ihr Kunde nach der Cloud fragt, müssen Sie den Unterschied kennen.

Wie unterscheidet sich eine Cloud von einem Hosting-Service?

Ich habe eine persönliche Website bei einem Hosting-Dienst namens Media Temple. Auf meiner Website wird WordPress ausgeführt, daher sind einige Dinge erforderlich:

  • Ein Verzeichnis, in dem ich meine Dateien ablegen kann
  • Ein HTTP-Server
  • Eine Datenbank
  • PHP

Mein Verzeichnis läuft auf Linux, mein HTTP-Server ist Apache, meine Datenbank ist MySQL und alles läuft auf PHP; deshalb nennen sie es einen LAMP-Stack (Linux-Apache-MySQL-PHP). Das mag nach vielen Stücken klingen, aber sie sind begrenzt. Ich kann zum Beispiel keine neue Software installieren. Wenn ich meine Datenbank auf PostgreSQL ausführen möchte, habe ich kein Glück. Ich kann andere Sprachen wie Python oder Go nicht ausführen; Ich kann keine eigenen separaten Programme schreiben. Ich bekomme nur eine sehr begrenzte, vorkonfigurierte Menge von Dingen, die ich tun darf.

Meine Website läuft auch nur auf einem Server an einem Ort. Wo ist dieser Server? Ich habe keine Ahnung. Ich glaube, es ist irgendwo in den Vereinigten Staaten, aber ansonsten weiß ich es nicht, und es interessiert mich auch nicht wirklich. Der Hosting-Anbieter gibt mir einen einzelnen Server, ich gebe eine URL ein und meine Website wird (meistens) angezeigt.

Hosting-Provider halten es einfach. Einige von ihnen hosten andere Stacks und andere erlauben etwas mehr Konfiguration, aber es ist immer ein festgelegtes Paket.

Der grundlegende Unterschied zwischen einem Hosting-Service und einer Cloud ist die virtuelle Maschine. Ein Hosting-Service gibt mir nur einen Teil eines bestehenden Betriebssystems. Eine virtuelle Maschine gibt mir ein ganzes Betriebssystem für mich allein.

Warum virtuelle Maschinen so wichtig sind

Eine virtuelle Maschine verhält sich wie eine reale Maschine. Es kann Linux oder Windows ausführen und es kann alles tun, was ein normaler Computer tun kann. Apple erlaubt Ihnen nicht, OS X auf einer virtuellen Maschine auszuführen (obwohl einige Leute es zum Laufen gebracht haben, indem sie einen „Hackintosh“ erstellt haben).

Wenn Sie eine virtuelle Maschine haben, haben Sie die volle Kontrolle. Sie können dort alles ausführen, was Sie wollen – Datenbanken, E-Mail-Server, Verschlüsselung, sogar Suchen nach Außerirdischen. Mit der virtuellen Maschine können Sie alles tun, was Sie wollen.

Ein ganzes Betriebssystem für sich allein zu haben ist wirklich mächtig, aber bevor Sie irgendetwas Nützliches tun können, müssen Sie auf die VM zugreifen.

Reden wir ein wenig über Networking

Virtuelle Maschinen sind nutzlos, wenn Sie nicht auf sie zugreifen können. Sie brauchen Networking, obwohl Networking ein wenig komplex werden kann.

Bild von Cloud-Netzwerkkabeln
Networking ist nicht so schwierig. (Große Vorschau)

Aber diese Grundlagen geben Ihnen, was Sie brauchen, um loszulegen. Beginnen wir mit einem Beispiel, mit dem Sie vertraut sind. Es läuft wahrscheinlich gerade in Ihrem Haus.

Diagramm des Heimnetzwerks
Mein Heimnetzwerk (große Vorschau)

Ich habe Comcast zu Hause. Comcast gibt mir ein Kabelmodem mit einer IP-Adresse wie 10.0.0.89 . Während es mir nur eine IP gibt, habe ich zwei Laptops, ein iPad und ein Telefon; Meine Frau und meine Tochter haben noch mehr Geräte. Damit das funktioniert, habe ich einen drahtlosen Router, der eine Verbindung zu meinem Kabelmodem herstellt. Mein drahtloser Router gibt jedem Gerät, das ich habe, eine IP-Adresse wie 192.168.0.100 , 192.168.0.101 und so weiter, aber diese Adressen sind für mein Netzwerk privat.

Der Fachbegriff für diese privaten Adressen ist nicht routbar . Es gibt einige Adressen, die für den privaten Gebrauch eingerichtet sind; Die meisten beginnen mit 10. oder 192.168 , als Zeichen für Internet-Router, dass diese Adressen nicht in freier Wildbahn verbreitet werden dürfen. Ich verwende diese speziellen Adressen, weil sie wiederverwendbar sind.

Jede IP-Adresse muss in einem bestimmten Netzwerk eindeutig sein; Andernfalls wüsste der Router nicht, mit welchem ​​Computer ich mich verbinden möchte. Es gibt 4.294.967.296 mögliche IP-Adressen. Obwohl Netzwerkdesigner dachten, das sei viel, als all dies in den 1970er Jahren begann, geht uns jetzt die Zeit aus. Es gibt einige andere Protokolle wie IPv6, die dieses Problem in Zukunft lösen könnten, aber heute lösen wir dieses Problem mit Network Address Translation (NAT). Lassen Sie mich Ihnen zeigen, wie es funktioniert.

Die Geräte in meinem Haus haben Adressen, die in meinem Haus einzigartig sind, aber nicht auf der ganzen Welt. Wenn ich ins Internet gehen möchte, muss der WLAN-Router sie für mich übersetzen. Jedes Mal, wenn ich auf einen Link klicke, kommuniziert mein Laptop mit meinem drahtlosen Router, um die Anfrage für mich zu stellen; Der WLAN-Router wiederum kommuniziert in meinem Namen mit der Welt, verwendet jedoch seine eigene Adresse. Dann macht mein Kabelmodem dasselbe, wenn es mit Comcast kommuniziert, und Comcast macht dasselbe noch einmal in viel größerem Umfang, wenn es meine Anfrage an das allgemeine Internet sendet. Jeder Router übersetzt die IP-Adresse von der vorherigen. All dies bedeutet, dass viele Computer eine IP-Adresse wie 192.168.0.101 wiederverwenden können und alles ohne Konflikte funktioniert.

Was ist also meine echte IP-Adresse im echten Internet? Im Moment ist meine echte IP-Adresse 66.30.118.150 und meine private IP-Adresse ist 192.168.0.103 .

Woher kommt die Adresse 66.30.118.150 ? Es ist eine IP-Adresse, die Comcast besitzt. Es macht deutlich, dass ich mich in Cambridge, Massachusetts, im Nordosten der Vereinigten Staaten befinde. Ich brauche die Details nicht; alles, was ich wissen muss, ist, dass es eine echte öffentliche Adresse ist, die Comcast für mich verwaltet. Comcast verwendet wahrscheinlich dieselbe Adresse für Hunderte oder Tausende anderer Personen.

All diese Adressübersetzung bewirkt noch etwas sehr Wichtiges. Es gibt mir einen einzigen Zugriffspunkt, der alles steuert, was in mein Heimnetzwerk geht. Niemand außerhalb kann auf 192.168.0.103 zugreifen; für sie ist es eine andere Adresse. Ich erhalte viel Sicherheit, indem ich kontrolliere, welcher Datenverkehr ein- und ausgehen kann. Mein WLAN-Router ist ein zentraler Punkt, an dem ich steuern kann, was passiert.

Die meisten Clouds funktionieren genauso wie mein Heimnetzwerk. Die Computer sind virtuell, Netzwerke werden als Subnetze bezeichnet und der WLAN-Router wird als Gateway bezeichnet, aber es ist alles dasselbe. Sie haben virtuelle Maschinen mit privaten Adressen und Gateways, die sie in öffentliche Adressen übersetzen. Sie haben auch einen Bereich mit Adressen, den sie genau wie meinen WLAN-Router zu Hause verwenden können. So was:

Ein Diagramm eines Cloud-Netzwerks
Mein Cloud-Netzwerk (große Vorschau)

Es mag kompliziert klingen, aber es ist nicht zu schwer. Eine Cloud ist für mich eine Möglichkeit, Computer von jemand anderem zu mieten und sie so einzurichten, dass sie wie mein Heimnetzwerk aussehen.

Die wichtigsten Dinge, die Sie sich merken sollten, sind:

  • Private IPs sind nur in Ihrem privaten Netzwerk verfügbar;
  • Öffentliche IPs sind im Internet verfügbar;
  • NAT lässt private IPs wie öffentliche IPs aussehen.

Das ist nicht alles, was mit Cloud-Netzwerken passiert, aber es ist mehr als genug, um loszulegen und auf Ihre Cloud zuzugreifen. Jetzt müssen Sie entscheiden, welche Art von Cloud Sie möchten.

Die verschiedenen Arten von Wolken

Cloud ist ein amorpher Begriff – Menschen verwenden ihn für viele verschiedene Dinge. Es gibt eigentlich drei verschiedene Kategorien von Wolken.

Infrastruktur-Clouds

Die virtuelle Maschine und das Netzwerk sind die Bausteine ​​für eine Infrastruktur-Cloud , auch bekannt als Infrastructure as a Service ( IaaS ). Sie stellen die virtualisierte Infrastruktur bereit, über die Sie die volle Kontrolle haben. Sie entscheiden über das Betriebssystem und alles, was darauf läuft.

Sie erhalten Flexibilität und Kontrolle, sind jedoch für die Verwaltung und den Support Ihrer gesamten Installation verantwortlich.

Infrastruktur-Clouds sind entweder statisch oder elastisch . Eine statische Cloud funktioniert wie mein Heimnetzwerk: Ich habe eine Reihe von virtuellen Maschinen, auf denen alles läuft, was ich brauche. Sie leben in einem privaten Netzwerk mit einem öffentlichen Gateway, das ihnen Zugang zum Internet gewährt. Statische Clouds eignen sich hervorragend zum Verarbeiten von Daten, für zusätzliche Rechenleistung oder zum Hosten einer komplexeren Website, als ein Hosting-Anbieter bewältigen kann. Sie können Ihre statische Cloud auch auf andere Rechenzentren auf der ganzen Welt replizieren.

Elastische Wolken funktionieren wie statische Wolken, sind aber dynamisch. Anstelle eines festen Satzes virtueller Server haben Sie einen Satz, der je nach Bedarf wachsen oder schrumpfen kann. Ihre Cloud wird erweitert, wenn Sie eine hohe Nachfrage nach Ihrer Website oder Ihrem Dienst haben, und schrumpft auf die normale Größe zurück, wenn Sie dies nicht tun. All das Erweitern und Schrumpfen spart Ihnen Geld. Sie geben die Rechenleistung zurück, die Sie nicht benötigen, wenn Sie sie nicht benötigen.

Netflix verwendet IaaS. Amazon Web Services stellt die Infrastruktur bereit, und Netflix implementiert sein gesamtes System darüber; Es hat seine eigene Software geschrieben, um hochgradig angepasste Unterstützung für das Streaming von High-Definition-Inhalten bereitzustellen. The Weather Company ist ein weiteres Beispiel – es läuft auf der IBM Cloud.

Plattform-Clouds

Eine Plattform-Cloud , auch bekannt als Platform as a Service ( PaaS ), ist eine spezialisierte Cloud, die Softwarebausteine ​​für Ihre Anwendung bereitstellt, während der Cloud-Anbieter die Infrastruktur und den Software-Stack für Sie verwaltet.

Wenn Sie beispielsweise eine Webanwendung benötigen, könnte PaaS Ihnen Vanilla WordPress oder Drupal zur Verfügung stellen, die Sie verwenden können. Wenn Sie eine Datenbank benötigen, können Sie MySQL oder PostgreSQL auswählen. Wenn Sie Entwicklungstools benötigen, können Sie zwischen Node, Java oder PHP wählen. Sie brauchen sich keine Gedanken darüber zu machen, welches Betriebssystem läuft oder ob ein MySQL-Sicherheitspatch eingespielt werden muss – das erledigt der Cloud-Anbieter für Sie.

Heroku ist eine PaaS-Cloud. Darunter befindet sich die Software, und Sie schreiben einfach, was Sie wollen. Es gibt Ihnen eine gewisse Flexibilität, erledigt aber viel mehr Verwaltung als eine IaaS-Cloud.

Software-Clouds

Eine Software-Cloud , auch bekannt als Software as a Service ( SaaS ), ist eine sehr spezialisierte Art von Cloud, die Ihnen einen genau definierten Online-Service bereitstellt. Hosting-Provider sind eine spezielle Art von SaaS-Cloud unter der Decke; Sie arbeiten nur sehr eingeschränkt.

Wix ist ein weiteres Beispiel für SaaS. Es bietet Ihnen einen kompletten Hosting-Service für Webanwendungen mit einem großartigen Editor, Unterstützung für Benutzeranmeldung und -zahlung sowie einer Vielzahl von Vorlagen zur Auswahl. Wix konzentriert sich auf nur einen Job. Es ist sehr eingeschränkt in der Funktionalität, aber auch einfacher zu bedienen.

Die grundlegenden Teile einer Wolke

Wir haben über die verschiedenen Arten von Clouds gesprochen und warum Sie sie brauchen. Bevor Sie wirklich wie ein Cloud-Experte klingen können, müssen Sie die verschiedenen Komponenten kennen, aus denen eine Cloud besteht.

Virtuelle Maschinen

Eine virtuelle Maschine ist eine Software, die wie Hardware läuft und sich wie eine echte Maschine verhält, ohne dass jemals irgendwo ein separater Server benötigt wird. Sie können mit der VM machen, was Sie wollen, und sie wird den Ententest bestehen – sie läuft und quakt wie ein echter Server. Ihre Software wird den Unterschied nie erkennen.

Diese Flexibilität hat ihren Preis. Sie sind für die Wartung Ihrer virtuellen Maschine verantwortlich. Der Cloud-Anbieter sorgt dafür, dass die Hardware in Top-Zustand ist, aber Sie müssen Ihr Betriebssystem und alles andere, was darauf läuft, auswählen – Sicherheitspatches, Software-Updates, Konfiguration. Es liegt an dir.

Und wenn Sie sich nicht in einer elastischen Cloud befinden, denken Sie besser daran, alle virtuellen Maschinen freizugeben, die Sie nicht mehr benötigen. Der Anbieter berechnet Ihnen, ob die VM funktioniert oder nicht.

Subnetze

Wir haben Cloud-Networking bereits behandelt. Subnetze sind Netzwerke, die in der Cloud ausgeführt werden.

Private IPs und öffentliche IPs

Das Cloud-Netzwerk weist virtuellen Maschinen im Subnetz eine nicht routingfähige IP-Adresse zu. Diese werden als private IPs bezeichnet, da sie für mein Netzwerk privat sind. Wenn eine virtuelle Maschine Anfragen an das Internet sendet, übersetzt das öffentliche Gateway diese Anfragen. Das wird von den Cloud-Anbietern als ausgehender Datenverkehr bezeichnet.

So wie ich von einem Café aus nicht auf meinen Heimdrucker zugreifen kann, brauche ich in der Cloud eine öffentliche IP, um auf eine virtuelle Maschine zuzugreifen.

Öffentliche IP-Adressen können virtuellen Maschinen zugewiesen werden, um eingehenden Datenverkehr (Datenverkehr aus dem Internet, der an virtuelle Maschinen geleitet wird) zuzulassen. Das ist wichtig, weil Cloud-Anbieter Ihnen für eingehenden und ausgehenden Datenverkehr unterschiedliche Gebühren berechnen.

SSH-Schlüssel

Ein SSH-Schlüssel ist eine private Information, die Ihnen den Zugriff auf Ihre Cloud ermöglicht. Es besteht aus zwei Dateien. Es gibt einen öffentlichen Schlüssel, der so aussieht:

 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5b8xmtjUd1taP4svy9FM/WZc/n5gkqKVkhIsqW27hw2WuhfTVNLA6IBBOs9+br+HlqGYwgYB3DSh0Zm/3Bok1uQhinH77FmKsrPGDpvtJv16weIvGiTMVp+Mct8DVKl48KZxvQKa0Hp6MxEc7cQ9WPvzWn9BPLHERSkSNwXSUobqpFBgIPy9UBWr5DsI2Li5HeMgMgTcbuVVdO/8I/rhKoIyTqkhY4CZcyssmWhMvPmk6+9IcOr0O4SyW9TL+CZgDH1mW2dUypT+1j6HgFjr9H8NfJ4EKnWnFkQXo8HZ4oh6lSTaIfDQfnbrjVUO14N7FW9ZgXbL9cJVx5FLw3ny9 [email protected]

Und es gibt einen privaten Schlüssel, der so aussieht:

 -----BEGIN RSA PRIVATE KEY----- MIIEogIBAAKCAQEAuW/MZrY1HdbWj+LL8vRTP1mXP5+YJKilZISLKltu4cNlroX0 1TSwOiAQTrPfm6/h5ahmMIGAdw0odGZv9waJNbkIYpx++xZirKzxg6b7Sb9esHiL xokzFafjHLfA1SpePCmcb0CmtB6ejMRHO3EPVj781p/QTyxxEUpEjcF0lKG6qRQY CD8vVAVq+Q7CNi4uR3jIDIE3G7lVXTv/CP64SqCMk6pIWOAmXMrLJloTLz5pOvvS HDq9DuEslvUy/gmYAx9ZltnVMqU/tY+h4BY6/R/DXyeBCp1pxZEF6PB2eKIepUk2 iHw0H52641VDteDexVvWYF2y/XCVceRS8N58vQIDAQABAoIBAHU7UKW+m2X55Dui zf0SqW5rXUtDwhOq6qTZhoGIvFjOBwKGfXosjRyyGJ0o6jyqvM1L4Q7ZUDXzg5fT CwXIhAYKrFprRXvHcypnS2hHsKW27k3yZ6tkIX+XW+VT5fzdhCXUyKks3jcRBHtJ ux7BI0kLGR02e6MSHYkowp47p1Auukx1saRkFTwvy+znABgqVETvtHBxAiElXndL JfQntaQacgWWDjl2qUj+06IB/Qzd9/Mo1Vtdb8SUZxv/Qc2raSi3LL0N4aSJGLGU pq395ggv9NdhUQf+DN9uGaOC4hYeGdO8gm27yysZ4rTT5iln5wOaCAcMTMrGL4+k GoU/nKECgYEA7AP/Mh9sUi9AX/17a3A/zxNAO1ZrvM+Caj/X/t/pt3HEOhqLz7o5 z3g8/Z+H0CJLZNiP9XbMak2wvOiqRj0y+FihX/ESll6XgIEPTBUcFSirWMe4f9og FltrnelUjHG9MTDW0P4jmmp1E5V8RgnCCv2VjN40ulP5zHPXXdU2FP8CgYEAySNs /qlFL7DTB/A851y6cUzQC5kiKlr/T8aUtOHeBo626jlnHDy/VY9vIJ0ttsYyHCdM OSdqZh5wRwvshr94tpOBQNnDTI4Xv7t2couHl7q2xTOYeWViwGyZaatNYlWWFh/u YSCTd2jn6cvBZOZP3BAiWoF9nzLcsjfpNLdzAkMCgYAx8TaTOKsHSRBqP41aUspt 2zkAVW0+6vpB2Xivalpegyhu0yc6scGB8YOWd6eZl2g00s7DtnvTEtWPY/yEGHcs rjSXxL+WKjYM70J5aw4iPBTmGH0mMNYRZQ8Ev1cw0PCj9B3A48ZM6rITjtJZT79L 7BU1Vd/6fcKiTPEJ3hAvqQKBgBKOQBnmR8m0iGNtGFFHzrNxIKhRQkOiDXewnDtr su3r8Jf/H7INMKGWD+x0U6lO84SBY5jKOBifqkADq5hqxZoiVYREEq5XVX2Mr8q1 cJbg1MewkNpyLgAOhMCo2wS9XJFB9N3lAXW8qdh5waerT6a/nku3Mn2jVZTjb5I7 clK9AoGAZLuvLAJpFOf/mweajULV+oFMGzIArvbk1c+cGySeI5uZwfQ9lv2MOb0N DuFTXZt6QpKV9Nix/8KgBIP2Vac6gSAeF6kIXk2+nV6gXm5tojYrf6gG1jY8ceRD IFSeGlnBhYVrFcQ79fYwJtSQgGde4PtNF1yq9ipluAyLuy1cLUc= -----END RSA PRIVATE KEY-----

Sie verwenden diese beiden Dateien zusammen anstelle eines Kennworts.

Die SSH-Public-Key-Authentifizierung ist eine zuverlässige Möglichkeit, sich bei einem Remote-System anzumelden, sicherer als der Standardbenutzername und das Standardpasswort. (SSH steht für „Secure Shell“.) Sie haben wahrscheinlich schon einmal SSH-Schlüssel in Form Ihres Github-Schlüssels gesehen.

SSH-Schlüssel basieren auf Public-Key-Kryptographie und Challenge-Response-Authentifizierung, um Brute-Force-Angriffe und andere Bedrohungen zu verhindern.

Diese Schlüssel stellen sicher, dass nur Sie Zugriff auf Ihre virtuellen Maschinen haben, und sie funktionieren hervorragend mit Skripten und anderen automatisierten Aufgaben.

Daten Center

Ein Rechenzentrum ist ein großes Gebäude voller Computer. Cloud-Anbieter vermieten Teile davon an Sie.

Ein bei IBM aufgenommenes Bild eines Cloud-Rechenzentrums
Ein Cloud-Rechenzentrum von IBM (große Vorschau)

Die Computer sind leistungsstarke Server, die jeweils viele virtuelle Maschinen gleichzeitig hosten können. Diese Server verbrauchen viel Strom und erzeugen viel Wärme, und sie müssen physisch nahe beieinander stehen, damit das Netzwerk schnell ist. Ein Rechenzentrum ist also die Einrichtung, in der ein Cloud-Anbieter die gesamte physische Hardware unterbringt, die einen Teil seiner Cloud betreibt. Das Rechenzentrum erfordert eine angemessene Kühlung, eine redundante Stromversorgung, eine enorme Netzwerkbandbreite, kontrollierten Zugriff und qualifiziertes Personal, um alle Maschinen am Laufen zu halten.

Ein Rechenzentrum kann viel Last bewältigen, aber es befindet sich nur an einem Ort. Ein globaler Cloud-Anbieter muss Rechenzentren auf der ganzen Welt verteilen, um sicherzustellen, dass Clients überall eine akzeptable Netzwerkzugriffslatenz zu ihren Servern haben.

Regionen und Zonen

Ein Cloud-Anbieter muss seine Rechenzentren organisieren, um sicherzustellen, dass er Anforderungen bei Stromausfällen, Überschwemmungen, Wirbelstürmen und anderen Katastrophen weiterhin erfüllen kann. Provider nennen dies Quality of Service und es gehört alles dazu, dafür zu sorgen, dass die Cloud niemals ausfällt.

Eine Region ist ein geografisches Gebiet mit einer bestimmten Roundtrip-Netzwerklatenz (von wo nach wo?). Regionen haben Namen wie Dallas, Tokio oder Frankfurt. Innerhalb dieses Bereichs erhalten Sie garantiert die Netzwerklatenz, für die Sie bezahlen.

Eine Region besteht aus einer oder mehreren Zonen. Zonen sind ein isoliertes Rechenzentrum in einer Region mit unabhängiger elektrischer, mechanischer und Netzwerkinfrastruktur, die darauf ausgelegt ist, keinen gemeinsam genutzten Single Point of Failure zwischen anderen Zonen zu gewährleisten. Dadurch können Sie hochverfügbare fehlertolerante Anwendungen erstellen, indem Sie sie in mehreren Zonen in einer Region bereitstellen. Die Region kann weiterlaufen, wenn eine Zone abstürzt, aber es ist wirklich schlimm, wenn alle Zonen ausfallen.

Ein Rechenzentrum hostet eine Zone. Mehrere Rechenzentren werden zu einem Cluster zusammengefasst, um eine Region mit mehreren Zonen zu erstellen. Zonen haben Namen wie us-south-1, us-south-2 und us-south-3. Eine kleine Region kann von einem einzigen robusten Rechenzentrum bedient werden, während eine bevölkerungsreiche Region möglicherweise mehrere Rechenzentren benötigt, um den Netzwerk- und Rechenbedarf zu decken.

Disaster Recovery, Hochverfügbarkeit und Fehlertoleranz

Diese Konzepte bringen selbst die versiertesten IT-Architekten ins Schwitzen. Sie bleiben nachts wach und fragen sich, wie sie sicherstellen können, dass die Wolke niemals untergeht.

Aber du hast das! Die Wolke geht (fast) nie unter, und es ist einfach sicherzustellen, dass Sie abgedeckt sind, wenn dies der Fall ist. Sehen wir uns diese Konzepte nacheinander an:

Disaster Recovery (DR) ist eine Reihe von Richtlinien und Verfahren, die detailliert beschreiben, was während und nach einem schwerwiegenden Vorfall zu tun ist. Gestalten Sie Ihr System so, dass es ordnungsgemäß ausfällt (was bedeutet, dass Ihre Benutzer verstehen, dass etwas nicht stimmt, Sie es aber abdecken) und Sie nach einem Vorfall wissen, wie Sie es so schnell wie möglich wiederherstellen können. Sie brauchen DR, wenn eine ganze Region ausfällt, Ihr Dienst einem Cyberangriff ausgesetzt ist oder anfällig ist und Sie ihn herunterfahren müssen.

Hochverfügbarkeit (HA) ist nur ein Ziel – die „fünf Neunen“, über die wir zuvor gesprochen haben. Sie möchten, dass Ihre Anwendung ausfallsicher ist. Das ist fast unmöglich, wenn Sie einen Server in Ihrem Wohnzimmer betreiben, aber es ist mit der Cloud machbar. Sie erreichen das Ziel der Hochverfügbarkeit, indem Sie sich auf die fehlertolerante Infrastruktur der Cloud verlassen – alles wird für Sie erledigt.

Eine fehlertolerante Infrastruktur ist ein Design, das sicherstellt, dass ein Backup übernimmt, wenn etwas ausfällt. Die Cloud ist ein fehlertolerantes System. Wenn eine Zone innerhalb einer Region ausfällt, stellen die anderen Zonen die Kontinuität des Dienstes sicher. Sie müssen diese Fehlertoleranz nutzen, indem Sie Komponenten wie Load Balancer verwenden.

Load-Balancer

Hohe Verfügbarkeit ergibt sich aus der gleichzeitigen Ausführung mehrerer Instanzen Ihrer Anwendung. Ein Load Balancer ist ein Gerät, das den Datenverkehr von Ihren Benutzern zu einer Ihrer Instanzen weiterleitet, die aktiv und in Ordnung ist. Es nimmt Anforderungen entgegen und sendet sie an den nächsten fehlerfreien Server.

Der Load Balancer überwacht den Zustand Ihrer virtuellen Maschinen und kann verschiedene Parameter berücksichtigen. Es kann erkennen, ob Ihre virtuelle Maschine oder App abstürzt, aber es kann auch auf Netzwerklatenz, bestimmte Daten in den Anforderungsheadern und vieles mehr prüfen.

Fragen, die Ihre Kunden wahrscheinlich stellen werden

Ihre Anwendung läuft also hervorragend, aber Ihr Kunde denkt darüber nach, die Cloud zu nutzen. Bist du dafür bereit? Hier sind häufige Fragen, die Sie beantworten können sollten, um wie ein Cloud-Experte zu klingen.

Wann möchte ich mehr als einen Hosting-Anbieter?

Ihr Kunde könnte mit Hochdruck daran arbeiten, alle Dienste in die Cloud zu migrieren. Mit größerer Flexibilität, Ausfallsicherheit und einer geografisch verteilten Präsenz macht die Cloud es einfach, sich zu begeistern.

Aber obwohl die Cloud schneller, flexibler und zuverlässiger ist, ist sie auch teurer; es könnte sogar zusätzlicher IT-Support erforderlich sein, um das System Ihres Kunden am Laufen zu halten. Die Cloud ist nicht jedermanns Sache.

Wenn das System Ihres Kunden derzeit auf einem Hosting-Anbieter läuft, sollten Sie in die Cloud wechseln?

Berücksichtigen Sie aktuelle und zukünftige Anforderungen: Wenn Ihr Kunde nach Hochverfügbarkeit sucht, um Vorschriften einzuhalten, dann wechseln Sie in die Cloud. Wenn Ihr Kunde ein globales Publikum anspricht, wechseln Sie in die Cloud. Wenn das ganze Jahr über drastische Nachfrageschübe zu erwarten sind, wechseln Sie in die Cloud.

Wenn auf das System hauptsächlich lokale Benutzer in einer bestimmten Region zugreifen oder es für Ihren Kunden nicht geschäftskritisch ist, wechseln Sie nicht in die Cloud.

Das Wichtigste zum Mitnehmen: Wenn das System Ihres Kunden auf einem Hosting-Anbieter gut läuft, sollten Sie vorhandene SaaS-Angebote in Betracht ziehen, die die Ausfallsicherheit und Leistung der Cloud bieten und gleichzeitig Ihren Kunden von unnötigen IT-Kosten befreien. Es gibt traditionelle Hosting-Anbieter wie Bluehost, die Cloud-basierte Dienste anbieten, und es gibt Cloud-Anbieter, die Hosting-Dienste anbieten.

Welche Art von Cloud sollte ich verwenden?

Die Suche nach dem richtigen Cloud-Typ kann überwältigend sein, da jeder Anbieter eine breite Palette von Diensten und Optionen anbietet. Das erste, was zu berücksichtigen ist, ist die Komplexität des Software-Stacks Ihres Kunden und der Hardware, auf der er derzeit ausgeführt wird.

Wenn der gesamte Stack stark angepasst ist mit neu kompilierten Open-Source-Bibliotheken, angepassten Linux-Kerneln oder speziellen Speicheroptimierungen, sollten Sie sich zuerst IaaS ansehen. Einige Anbieter ermöglichen Ihrem Kunden das Mischen und Anpassen, wobei IaaS für hochgradig angepasste Komponenten verwendet wird, während PaaS für andere Teile ausgewählt wird.

Wenn die Anforderungen Ihres Kunden jedoch hauptsächlich auf handelsüblichen Bibliotheken aufbauen, ist PaaS höchstwahrscheinlich ein besserer Ausgangspunkt. Der Cloud-Anbieter stellt sicher, dass der Code Ihres Clients immer mit den aktuellen Abhängigkeiten ausgeführt wird.

Sobald das richtige Cloud-Modell identifiziert ist, werden die Anforderungen und Bewertungskriterien für Ihren Kunden einzigartig sein. Aber es lohnt sich immer, auf nicht-funktionale Anforderungen zu achten: Muss Ihr Kunde domänenspezifische Vorschriften, Zertifizierungen oder Standards einhalten? Haben sie eine Abhängigkeit oder Partnerschaft mit bestimmten Anbietern?

Denken Sie schließlich an die Migrationsunterstützung des Cloud-Anbieters und die Anbieterbindung – wie schwierig es für Ihren Kunden ist, zu einem Wettbewerber zu migrieren, sobald das System läuft. Erwägen Sie einen Ausstiegsplan, auch wenn Ihr Kunde nicht plant, auszuziehen.

Wie stelle ich sicher, dass meine Website niemals ausfällt?

Angenommen, Ihr Kunde arbeitet in der US-Gesundheitsbranche. HIPAA verlangt, dass jede Organisation über eine Art Notfallwiederherstellungsplan verfügt, und dazu gehört auch Ihre Website. Das Geschäft Ihres Kunden wird scheitern, wenn die Website ausfällt, also brauchen Sie die Ausfallsicherheit der Cloud.

Die Cloud bietet Ihnen die Tools, die Sie benötigen, um sicherzustellen, dass Ihre Website niemals ausfällt. Sie benötigen mehrere Instanzen Ihrer Anwendung, die gleichzeitig ausgeführt werden, und eine Möglichkeit, den Datenverkehr zu steuern, damit Ihre Benutzer niemals auf eine fehlerhafte Instanz zugreifen.

Wenn Ihr Kunde Ihre Website in einer IaaS-Cloud bereitstellt, benötigen Sie mehrere Instanzen Ihrer Anwendung und einen Load Balancer, um den Datenverkehr zu steuern. Wenn Ihr Kunde über eine PaaS-Cloud verfügt, stellen Sie einfach sicher, dass mehrere Instanzen ausgeführt werden, da die Cloud den Routing-Teil automatisch bereitstellt.

Wenn Ihre Website eine Datenbank verwendet, stellen Sie sicher, dass die Cloud Ihres Clients so konfiguriert ist, dass sie Sitzungsaffinität (auch als Sticky Sessions bezeichnet) unterstützt, um sicherzustellen, dass der gesamte Benutzerdatenverkehr an dieselbe virtuelle Maschine geleitet wird.

Wie mache ich meine Website für alle auf der Welt schnell?

Wenn Ihr Kunde global tätig ist und Ihre Anwendung Endbenutzern auf der ganzen Welt schnellen Service bieten muss, benötigen Sie die Flexibilität und geografische Reichweite der Cloud.

Auch wenn die Cloud global ist, müssen Instanzen Ihrer Anwendung in der Nähe Ihrer Benutzer ausgeführt werden.

Arbeiten Sie mit Ihrem Kunden zusammen, um herauszufinden, welche Cloud-Regionen am besten für Ihre Benutzerbasis geeignet sind und wo Ihr Kunde die APIs hostet, die Ihre Website unterstützen – Ihre Instanzen sollten sich in der Nähe von beiden befinden. Sie könnten auch die Einrichtung eines globalen Proxys erörtern, der den Datenverkehr basierend auf dem Standort des Benutzers an verschiedene geografische Gebiete weiterleitet.

Fazit

Die Bereitstellung eines skalierbaren und belastbaren Dienstes für einen wachsenden Kundenstamm über das Internet ist sehr komplex. Wir haben hier kaum an der Oberfläche gekratzt. Deshalb wollen wir die Details Amazon, Google und den anderen Cloud-Anbietern überlassen. Ihre Aufgabe ist es, gute Entscheidungen darüber zu treffen, wie Sie ihre Dienste nutzen.

Denken Sie daran, wenn Ihr Kunde Sie fragt, ob etwas in der Cloud laufen soll, müssen Sie vier Fragen stellen:

  • Wie komplex ist die Software, die Sie ausführen müssen?
  • Wie stark muss skaliert werden?
  • Wie wichtig ist es, dass es nie untergeht?
  • Wie schnell muss es für Benutzer auf der ganzen Welt laufen?

Beginnen Sie mit diesen vier einfachen Fragen und Sie werden wie ein Cloud-Experte klingen. Arbeiten Sie mit Ihren Kunden zusammen, um zu verstehen, was die Antworten auf diese Fragen unter Berücksichtigung der verschiedenen Cloud-Typen für sie bedeuten, und Sie werden einen großen Teil zur Lösung ihrer Anforderungen beitragen.