Ich frage dies ganz allgemein. Sowohl aus Sicht des Cloud-Anbieters als auch des Cloud-Verbrauchers. Die Frage bezieht sich auch nicht auf eine bestimmte Art von Anwendung (tatsächlich soll bekannt sein, welche Art von Anwendungen / Domänen in welche der Cloud-Platten passen - SaaS PaaS IaaS).
Mein bisheriges Verständnis ist:
IaaS: Rohhardware (Prozessoren, Netzwerke, Speicher).
PaaS: Betriebssystem, Systemsoftware, Entwicklungsframework, virtuelle Maschinen.
SaaS: Softwareanwendungen.
Es wäre großartig, wenn Stackoverflower's ihr Verständnis und ihre Erfahrungen mit dem Cloud-Computing-Konzept teilen könnten.
EDIT: Ok, ich werde es genauer formulieren -
Amazon EC2: Sie haben keine Kontrolle über die Hardwareschicht. Sie können jedoch zwischen Betriebssystem-Image, Dev Framework (.NET, J2EE, LAMP) und Anwendung wählen und diese auf EC2-Hardware installieren. Können Sie Anwendungen bereitstellen, die mit Google App Engine oder Azure auf EC2 erstellt wurden?
Google App Engine: Sie haben keine Kontrolle über Hardware und Betriebssystem und erhalten ein bestimmtes Dev Framework zum Erstellen Ihrer Anwendung. Können Sie eine vorhandene Java- oder Python-Anwendung nehmen und auf GAE portieren? Oder können Anwendungen, die auf GAE erstellt wurden, aus GAE entfernt und auf einen Anwendungsserver wie Websphere oder Weblogic portiert werden?
Azure: Sie haben keine Kontrolle über Hardware und Betriebssystem und erhalten ein bestimmtes Dev Framework zum Erstellen Ihrer Anwendung. Können Sie eine vorhandene .NET-Anwendung nehmen und auf Azure portieren? Oder können Anwendungen, die auf Azure erstellt wurden, aus Azure entfernt und auf einen Anwendungsserver wie Biztalk portiert werden?
quelle
Antworten:
Gute Frage! Wie Sie hervorheben, passen die verschiedenen Angebote in verschiedene Kategorien:
EC2 ist Infrastructure as a Service. Sie erhalten VM-Instanzen und können mit ihnen arbeiten, wie Sie möchten. Rackspace Cloud Server sind mehr oder weniger gleich.
Azure, App Engine und Salesforce sind alle Platform as a Service. Sie bieten jedoch verschiedene Integrationsebenen: Mit Azure können Sie praktisch beliebige Hintergrunddienste ausführen, während sich App Engine an kurzlebigen Aufgaben des Anforderungshandlers orientiert (obwohl es auch eine Aufgabenwarteschlange und geplante Aufgaben unterstützt). Ich bin mit dem Angebot von Salesforce nicht besonders vertraut, aber ich verstehe, dass es App Engine in mancher Hinsicht ähnlich ist, obwohl es auf seine spezielle Nische spezialisierter ist.
Cloud-Angebote, die unter Software as a Service fallen, reichen von Infrastrukturelementen wie Amazon Simple Storage Service und SimpleDB bis hin zu vollständigen Anwendungen wie Fog Creeks gehostetem FogBugz und natürlich StackExchange.
Eine gute allgemeine Regel lautet: Je höher das Angebot, desto weniger Arbeit müssen Sie erledigen, aber desto spezifischer ist es. Wenn Sie einen Bug-Tracker benötigen, ist die Verwendung von FogBugz offensichtlich die geringste Arbeit. Das Erstellen einer auf App Engine oder Azure ist mehr Arbeit, bietet jedoch mehr Vielseitigkeit, während das Erstellen einer auf Raw-VMs wie EC2 noch mehr Arbeit bedeutet (tatsächlich viel mehr), aber noch mehr Vielseitigkeit bietet. Mein allgemeiner Rat ist, die Plattform auf höchster Ebene auszuwählen, die Ihren Anforderungen noch entspricht, und von dort aus zu bauen.
quelle
Dies ist eine ausgezeichnete Frage. Vollständige Offenlegung, da ich Teil von Azure bin, aber Erfahrung mit den anderen habe.
Ich denke, Azure hebt sich von den anderen ab, ist der schnelle Übergang von On Prem zu Cloud. Zum Beispiel -
Ich hoffe das hilft!
quelle
Meine Cloud-Erfahrung ist derzeit auf Salesforce.com beschränkt
Für den normalen Geschäftsbetrieb und die Automatisierung bietet es eine erhebliche Anzahl von Funktionen, mit denen wir Apps sehr schnell zum Laufen bringen können. Wir profitieren insbesondere von Folgendem:
Die Plattform löst NICHT jedes Problem.
Ich würde die Plattform nicht nutzen, um ein Kernkraftwerk zu modellieren oder das nächste Twitter zu bauen.
quelle
Die wichtigsten Punkte beim Cloud Computing sind Kosteneinsparungen durch Bezahlung der Nutzung und die sofortige Bereitstellung von Computerressourcen.
Die Kosten betragen nicht nur x Cent pro Instanz und Stunde. Die Kosten umfassen Wartung, Entwicklung, Verwaltung usw. Meiner Meinung nach besteht der große Vorteil der Cloud darin, dass die Kunden nichts verwalten müssen, was nicht im Bereich ihrer Kerngeschäftskompetenz liegt . Wenn ich ein Versicherungsunternehmen bin, möchte ich, dass sich meine Entwickler auf meine Versicherungsprobleme konzentrieren, die zur Lösung der Anforderungen meiner Ansprüche, Tarife usw. beitragen. Ich möchte lieber vermeiden, dass Probleme mit E-Mail-Servern, Dateiservern, Dokumentenspeichern und der Verwaltung von Betriebssystem-Patches auftreten , Service Packs usw.
Meiner Meinung nach ergeben sich die größten Vorteile aus den SaaS- und PaaS-Cloud-Angeboten. Man sollte nur dann zu IaaS gehen, wenn PaaS oder SaaS ernsthafte Einschränkungen für bestimmte Anforderungen haben (dh ich muss eine Reihe von proprietären COM-Komponenten installieren und Azure unterstützt sie nicht).
SaaS eignet sich für Standardanwendungen, die nicht das Kerngeschäft des Kunden darstellen, sondern eher ein Dienstprogramm sind. Dies sind Ihre typischen Messaging-Systeme, Portale, Dokumenten-Repositorys, E-Mail-Systeme, CRMs, ERPs, Buchhaltung usw. usw. usw. Warum sollten Sie das Rad neu erfinden, indem Sie Ihr eigenes schreiben, wenn Sie ein gut unterstütztes Produkt eines Drittanbieters anpassen können?
PaaS eignet sich hervorragend für Kerngeschäftssoftware, die das Hauptgeschäftsangebot von Unternehmen unterstützt. Entlastet Kunden von der Notwendigkeit, sich mit dem Betriebssystemmanagement zu befassen, und ermöglicht es Kunden, sich auf die Entwicklung von Geschäftssystemen zu konzentrieren - etwas, das sonst niemand für den Kunden tun kann.
quelle
Sie können auch die Vorteile von PaaS (z. B. Google App Engine) nutzen und es manchmal und bei Bedarf erweitern, indem Sie einige virtuelle Maschinen von IaaS-Anbietern (z. B. Amazon) herausziehen, um einige Zahlen zu ermitteln, und dann einfach zurücksenden die Ausgabe an Google App Engine.
Auf diese Weise erhalten Sie das Beste aus beiden Welten: Sie können schnell skalierbare Apps in GAE entwickeln und diese dann jederzeit erweitern, indem Sie ein beliebiges Programm auf virtuellen Amazon-Maschinen ausführen.
quelle
Dies ändert sich ständig, jetzt unterstützt Windows Azure auch VM, sodass es jetzt auch ein IaaS-Anbieter ist.
quelle
Wie wäre es nun mit Free Amazon EC2 für ein Jahr, um einen besseren Vergleich durchzuführen? Überprüfen Sie dies heraus.
http://www.buzzingup.com/2010/10/amazon-announces-free-cloud-services-for-new-developers/
quelle