Was ist die Cloud und in welcher Beziehung steht sie zur Entwicklung? [geschlossen]

14

Ich höre immer wieder von der Cloud - Technologie, obwohl hauptsächlich in der Entwicklung sozialer Netzwerke usw. Ich habe heute wieder davon gehört, und jetzt bin ich sehr neugierig: Was ist die "Cloud" und wie verhält sie sich zu mir (in meinem Fall ich)? rate mal) als Webentwickler? Wie beantworte ich die Frage, die mir immer wieder gestellt wird: "Ist es in der Cloud?" - ohne zu sagen: "Was Sie fragen, ist bedeutungslos?"

mattsven
quelle
11
de.wikipedia.org/wiki/Cloud_computing sollte Ihnen den Einstieg erleichtern .
Demian Brecht
21
Cloud ist das neue Web2.0, allerdings ohne die abgerundeten Ecken.
Unholysampler
@unholysampler: Grafik oder CSS-Ed?
Christopher Mahan
Es soll robust und zuverlässig sein - mit der Ausnahme, dass die Amazon-Cloud vor einigen Wochen abgestürzt ist. Und meine White-Hat-Hacker-Freunde sagen mir, dass es auch nicht so "sicher" ist. Das heißt aber nicht, dass es nicht nützlich ist.
Steven A. Lowe
1
Ich bin die Große Wolke. Ignoriere die Computer hinter dem Vorhang. Du bist ein Programmierer. Du würdest es nicht verstehen. Es ist eine Hardware-Sache. Google es und stelle eine bessere Frage.
JeffO

Antworten:

32

Die "Wolke" ist ein Schlagwort. Es gibt keine Definition, die das Wort "Cloud" nicht enthält. So beschreibt Dell die Cloud:

Cloud Computing bietet IT als Dienstleistung. Dies kann Ihre eigene private Cloud sein, auf die nur in Ihrem Unternehmen zugegriffen werden kann, die öffentliche Cloud eines externen Anbieters oder eine Hybrid-Cloud, die beide umfasst.

Oh, die Cloud ist also IT as a Service. Richtig. Ich dachte, das Geek Squad wäre IT als Dienstleistung? Ist die Wolke die Geek-Truppe oder die Geek-Truppe die Wolke? Und wenn die Geek Squad Cloud-Dienste anbietet, wird sich dann eine Singularität ergeben, die das Universum beendet? Es gibt keine Hölle, die heiß oder tief genug für Marketingleute ist.

Grundsätzlich ist es die logische Folge von Clustern, Virtualisierung und schnelleren Internetverbindungen. Unternehmen können sich auf die Bereitstellung von Speicher- und Verarbeitungsleistung spezialisieren, und Sie können Ihre Anwendung in ihrem Cluster hosten und über das Internet darauf zugreifen. Mithilfe der Virtualisierung kann sie in einer beliebigen Umgebung existieren, die nicht mit der tatsächlichen physischen Hardware zusammenhängt, auf der sie ausgeführt wird. Sehr cool.

Die Möglichkeit, eine Anwendung auf Geräten von Drittanbietern zu hosten, die transparent skaliert werden können, ist sehr leistungsfähig. Sie können eine Webpräsenz erstellen, ohne zu viel Hardware einspielen zu müssen. Die spezielle Hardware-Implementierung spielt für Entwickler keine Rolle, das ist also auch gut so.

Sie nennen es "Cloud", weil in herkömmlichen Netzwerkdiagrammen das Internet, der Rest der Welt, das WAN, das Netzwerk und die Hardware, die über den Rahmen des unmittelbaren Diagramms hinausgehen, immer als Cloud dargestellt werden.

Netzwerkdiagramm

Die Natur der Wolke als unbekanntes Land hat sich bis heute erhalten und ist der Grund dafür, warum niemand zufriedenstellend beschreiben kann, was die Wolke ist . Der springende Punkt ist, dass Sie nicht wissen, was es ist. Das musst du nicht. Sie wissen nur, dass Sie Ihre App an Amazon, IBM oder einen anderen "Cloud" -Anbieter weitergeben können, der sie hostet und Ihnen nach Nutzung in Rechnung stellt.

Satanicpuppy
quelle
1
Aus welcher Marketingbroschüre haben Sie das erhalten?
Christopher Mahan
1
Sie haben gerade eine Definition angegeben, die das Wort "Wolke" nicht enthält.
Rein Henrichs
9
@Rein ja, aber es hat ein Bild von einer Wolke mit der Bezeichnung "Internet"
Steven A. Lowe
3
Das ist eine großartige Erklärung. +100 von mir.
1
Holy schmoly, das ist eine verdammt gute Antwort.
mattsven
10

Wenn Sie den Begriff "Wolke" hören, handelt es sich in Wirklichkeit um einen (schlechten) abstrakten Begriff, der die Skala abdeckt von:

  • Infrastructure as a Service (IaaS): Hier stehen Ihnen virtualisierte Computerressourcen sowohl über einen Remoteanbieter als auch über eine programmgesteuerte API zur Verfügung. Häufige Beispiele hierfür sind Amazon EC2 und Rackspace Cloud. Beachten Sie, dass der Abschnitt "Programmatic API" in dieser Beschreibung der Kicker ist - ansonsten sprechen Sie nur über Remote-Hosting oder Virtual Private Server (VPS).
  • Platform as a Service (PaaS) - eine Abstraktion bis zur Anwendungsschicht. Beispielsweise würden Sie als Webanwendungsentwickler ein implementierbares Artefakt erstellen (z. B. .war in Java oder ein Juwel in Ruby) und dieses Artefakt dann für einen PaaS-Anbieter implementieren. Sie übernehmen Ihre App, verbergen alle Hardware- und Betriebssystemdetails vor Ihnen und verwalten die Auf- und Abwärtsskalierung Ihrer App basierend auf dem Datenverkehr / Durchsatz Ihrer App für Sie. Sie als Entwickler haben nur mit dem Schreiben der App selbst zu tun und mit nichts anderem (das ist eine grobe Übertreibung, soll aber darauf hinweisen, dass Sie wirklich nur die App steuern). Beispiele sind Google App Engine oder Heroku.
  • Software as a Service - hier geben Sie als Entwickler die Kontrolle über alles an Dritte ab, mit Ausnahme der Tatsache, dass Sie Kunde ihrer Dienste werden. Grundsätzlich verwenden Sie eine extern bereitgestellte API, um über eine Reihe von Webdiensten mit Ihren Daten in der Infrastruktur eines anderen Benutzers zu arbeiten. Das wahrscheinlich beliebteste Beispiel hierfür ist Salesforce.

Der Begriff "Wolke" selbst ist eine wirklich schlechte Beschreibung dieser drei Dinge. Im Allgemeinen ist der Paradigmenwechsel, bei dem Sie spezialisierte Anbieter haben, bei denen Sie die Kontrolle über einige (oder alle) nichtfunktionalen Belange Ihrer Software aufgeben, im Gegensatz zu Hosting und Schreiben und alles selbst verwalten.

Walfisch
quelle
1

Lange bevor "The Cloud" ein Schlagwort war, zeichneten Leute, die Netzwerkdiagramme zeichneten, alle Clients, Server, Router und Switches unter ihrer direkten Kontrolle und die Verbindungen zwischen ihnen, aber traditionell zeichneten sie nur eine Wolke für Teile des Netzwerks, die sie nicht haben nicht kontrollieren. Führen Sie für einige Beispiele eine Google-Bildsuche nach PSTN (Public Switched Telephone Network) durch. Die Wolke stellt eine nebulöse Sache dar, in die unsere Drähte ein- und ausgehen. Wir müssen nicht verstehen, wie es funktioniert, weil andere sich darum kümmern. Wir vertrauen einfach darauf, dass die Pakete an der richtigen Stelle auf der anderen Seite wieder herauskommen. Normalerweise wird das Internet als Cloud gezeichnet, da Sie darauf vertrauen, dass Ihre Pakete, sobald sie Ihren ISP erreichen, den richtigen Ort erreichen und es egal ist, welche spezifischen Router sie durchlaufen.

"Cloud Computing" in aller Kürze bezieht sich auf Dienste, die in der Cloud in Ihrem privaten oder geschäftlichen Netzwerkdiagramm, dh im Internet, gehostet werden. Die Hardware steht nicht unter Ihrer direkten Kontrolle. Sie senden Ihre Daten einfach "in die Cloud" und vertrauen darauf, dass Ihr Anbieter sie verarbeitet und speichert, damit sie für Sie verfügbar sind, wenn Sie sie wieder herausholen müssen. Die Modewortbedeutung davon impliziert auch, dass die Dinge, die jetzt "in der Cloud" gehandhabt werden, traditionell die Domäne eines lokalen Computers waren. Möglicherweise hatten Sie traditionell einen Backup-Server, wechselten jedoch zu einem Dienst wie Carbonite, der Ihre Backups "in der Cloud" erstellt. Sie haben zuvor MS Office auf Ihrem lokalen Desktop verwendet, jetzt jedoch Google Docs usw.

Als Webentwickler suchen Kunden häufig nach Möglichkeiten, Dienste, die traditionell von Desktop-Computern verwaltet werden, durch Webanwendungen zu ersetzen. In der Lage zu sein, Desktop-Software zu ersetzen und nicht nur zu ergänzen, kann Ihnen einen Wettbewerbsvorteil verschaffen.

Karl Bielefeldt
quelle
Die Wolke stellt "eine nebulöse Sache" dar - ich mag es. Sehr meta :-)
1

Viele Leute haben bewundernswert erklärt, was Cloud ist. Deshalb werde ich versuchen, zu untersuchen, was Cloud Ihnen (einem Webentwickler) zusätzlich zu Einhörnern und goldenen Regenbögen bringen kann: (mit schamlosen Steckern für unsere Technologie)

  1. Hosting und horizontale Skalierung nach Bedarf - Amazon EC2. Nehmen wir an, unsere Website wird gestrichen oder redditted und Sie benötigen zusätzliche Hosts für die nächsten Tage - kein Problem. Sie können bei Bedarf hoch- und heruntergefahren werden.
  2. feinkörniges Laden - zahlen Sie nur für das, was Sie verwenden. Der günstigste Service in AWS ist tatsächlich kostenlos für eine eingeschränkte Nutzung! Versuchen Sie also, Ihre Website kostenlos zu erstellen. Kein Springen mehr für das Hosting von Rechenzentren usw.
  3. Sie möchten eine Site erstellen, die eine Sicherungsdatenbank benötigt - kein Problem. Sie können AWS SimpleDB für noSQL / RDS verwenden, wenn Sie SQL benötigen.
  4. Sie möchten diese niedlichen Kätzchenbilder speichern und mit ihnen verknüpfen? AWS S3.
  5. Sie möchten einen globalen Personenkreis mit geringer Latenz ansprechen? AWS Cloud-Vorderseite! Diese haben Edge-Server in der Nähe Ihrer Kunden, damit sie diese Bilder blitzschnell erhalten!
  6. Live-Überwachung / Berichterstattung über die Nutzung Ihrer Websites
  7. Sie möchten, dass ein verteiltes System ein großes Datenmengenproblem löst? AWS MapReduce
  8. Sie möchten Ihren Kunden zuverlässig eine E-Mail senden? AWS SES
  9. Sie möchten eine asynchrone Verarbeitung wie ein Backend für Online-Bestellungen durchführen? AWS SQS

Es gibt noch viel mehr unter http://aws.amazon.com/ . Hör zu! Offensichtlich ist dies alles von AMZN. Andere wie Google haben ebenfalls wettbewerbsfähige Angebote.

Subu Sankara Subramanian
quelle
0

Das Problem ist "Cloud" ist eine etwas mehrdeutige Bedeutung (im Umfang).

Das Minimum, an das die meisten Leute denken, wenn sie "Cloud" hören, ist eine virtualisierte Infrastruktur und deren Vorteile:

  • Beseitigen Sie die Redundanz, die zur Berücksichtigung eines möglichen Hardwarefehlers erforderlich ist
  • das Potenzial, über "elastische" oder bedarfsgesteuerte Infrastrukturressourcen zu verfügen (dh 10 vollständig bereitgestellte VMs für die Bewältigung von Spitzen- oder saisonbedingten Belastungen hochzufahren)
  • Einfache Neuzuweisung / Neuzuweisung / Außerbetriebnahme von Ressourcen
  • Einfache Replikation von Umgebungen
  • Möglichkeit zum "Snapshot" und "Rollback" von virtualisierten Infrastrukturressourcen und in einigen Fällen ganzen Umgebungen

Übrigens erhalten Sie nicht immer alles in der Liste, und selbst wenn Sie es tun, kann es sein, dass es nicht 100% ist. Sie können bei Google nachsehen, was mit "AWS US East Outage" geschehen ist, um ein Beispiel aus der Praxis zu erhalten.

Manchmal werden im Rahmen von "Cloud" auch andere Dienste wie Datenbank, Protokollierung und alle anderen Dienste hinzugefügt, die sich zwischen "Infrastruktur" und "Anwendung" befinden.

Manche Leute verwenden "Cloud" auch als Synonym für "virtuell". Manchmal wird es auch als "Software und Plattform als Service" bezeichnet.

dietbuddha
quelle
0

Cloud ist nur ein anderes Wort für das Internet. Jetzt, da das Internet so weit fortgeschritten ist, dass Unternehmen sich bei wichtigen Softwarediensten darauf verlassen können, wird es immer beliebter. Daher hören wir immer wieder von Dingen wie SAAS.

Craig
quelle