Wie Anwendungen für Cloud Computing entwerfen, in der mehrere Wolken beteiligt sein können

StackOverflow https://stackoverflow.com/questions/1619650

  •  06-07-2019
  •  | 
  •  

Frage

Ich habe gerade auf diese Frage suchen: https://stackoverflow.com / Fragen / 753.122 / welche-Cloud-Computing-Plattform-soll-ich-wählen

Aber ich bin nicht sicher, was ich für Sicherheitsingenieure bei der Gestaltung eine Anwendung tun soll, so dass eine hohe Verfügbarkeit wichtig ist.

Also, wenn meine Anwendung in ASP.NET geschrieben wird, SQL Server, so scheint es, dass meine beste Wette für Azure zu entwerfen, aber wäre eine gute Wahl Amazon Lösung? Wie würde ich entscheiden, ob ich einfach alles auf dem gleichen System haben sollte oder die Daten auf Amazon Cloud haben und die ASP.NET auf Azure?

Ich habe eine andere Anwendung, die ich auf, dass ich Arbeit beschäftigt sich mit dem Nützlichen Informationen, für Wasser und Strom, so gibt es Nutzung und Abrechnung Info, und es wurde in PHP mithilfe von SQL Server geschrieben. Wäre dies eine möglicherweise gute Anwendung für Cloud Computing sein? Es scheint, dass Amazon-Lösung die beste Lösung für PHP wäre, so meine einzige Option, aber, wie Sie entscheiden, welche Teile ihrer Angebote zu benutzen?

Im Grunde ist meine Frage auf der Anwendungsarchitektur. Entwerfen für das Hosting ist einfach, aber Cloud Computing bringt neue Herausforderungen mit sich.

Mein Hauptanliegen ist rein auf die Gestaltung meiner Anwendung.

Wenn ich auf die Sprache entscheiden, bedeutet das sperr mich in eine Cloud-Lösung?

Wenn mag ich die Datenbank als die Anwendung in einer anderen Wolke sein?

Wenn ich will, das LIFT Rahmen (in Scala geschrieben) verwenden, würde mir einer von ihnen erlauben, zu installieren, was ich brauche?

War es hilfreich?

Lösung

Wir betreiben einen ziemlich großen Finanzdienstleister SaaS auf Amazon AWS.

Es gibt zwei allgemeine Fragen hier im Spiel. Application Architecture and Cloud Platform Services

Ich habe festgestellt, dass unsere Anwendungsarchitektur im Wesentlichen das gleiche ist, wie es sein würde, wenn wir im Hause von virtuellen Maschinen oder reale Hardware bereitstellen wurden. Wir haben eine ziemlich Standard-Anwendung n-Tier mit meist Open-Source-Tools (Java, Spring, Hibernate, MySQL, Terrakotta, ...). Es gibt einige Überlegungen, wenn es zu einer hochverfügbaren / fehlertolerante Datenbank kommt (da hardwarebasierte Optionen sind nicht verfügbar), aber außer, dass wir nicht wirklich „Ziel“ eine bestimmte Cloud-Implementierung.

Die Cloud Platform Services ist eine ganz andere Sache. Damit meine ich Dinge wie:

  • Starten / Stoppen / Monitoring / Management / Skalierung Instanzen
  • Verfügbarkeit / Redundanz (z Amazon hat Availability Zones)
  • Bereitstellen / Initialisieren / Konfigurieren von Instanzen
  • Datei-Backup / Recovery
  • Sicherheit (zum Beispiel Firewall-Kontrolle)

Es gibt wenig, wenn eine Standardisierung in diesem Bereich, wenn auch, dass ein Bereich des aktiven Interesses ist.

Allgemein gesagt, werden Sie wahrscheinlich zu Architekten wollen Ihre Anwendung in einer Wolke neutral, werden aber betriebliche Abläufe schaffen, die sehr spezifisch sind.

Bei der Präsentation und DB zwischen verschiedenen Anbietern zu spalten, würde ich nicht vorschlagen, weil:

  • Wenn entweder Anbieter ausfällt, Sie sind nach unten
  • Datenübertragung über das Internet ist langsamer, teurer und weniger sicher als die Datenübertragung innerhalb einer Cloud-Anbieter.

Eine bessere Verwendung mehrerer Cloud-Anbieter wäre gesamten Kopien Ihrer Anwendung auf zwei oder mehr bereitstellen, Last über die beiden Ausgleichs oder möglicherweise eines mit auf Hot-Standby, falls der primäre nach unten ging. Wenn Sie Transaktionsdaten erfassen, allerdings müßten Sie eine Strategie, Daten in der Standby-Umgebung erfaßt in Einklang zu bringen. Das kann oder nicht durchführbar sein, je nach Art der Anwendung.

Sie können in der Regel installieren, was für Software in Ihre virtuellen Server mögen, obwohl ich mit Azure spezifische Erfahrung nicht haben. Wenn Sie AWS oder ähnliche Dienste verwenden, LIFT Installation wird kein Problem sein.

Andere Tipps

auf einer Sprache Entscheidung nicht gesperrt Sie zu einem Anbieter; jedoch auf Windows laufen die Gestaltung der Fall ist. Windows-Virtualisierung ist ein viel engerer Markt als Linux-Virtualisierung; Xen, die Technologie Linode, Slicehost und so weiter verwendet, wird Windows nicht mehr virtualisieren als einmal.

Mit Ihren Anwendungen für Windows gezielten, sind Ihre Entscheidungen entscheiden dünner. In meinem Markt, ich weiß, dass Amazon für Windows bietet (wie Azure tut, natürlich). Allerdings kostengünstige Lösungen wie der unsrigen und Slicehost ist nicht -. Sie werden von Windows eine Prämie kosten

Wie für Cloud-Trennung: der Hauptgrund zu segmentieren Ihre Anwendung in mehr „Wolken“ ist die Zuverlässigkeit der Anwendung zur Verfügung zu stellen. Wolken gehen nach unten - zugegebenermaßen selten - und in einen Korb alle Eier, die werden Sie für eine Anwendung kosten, die eine hohe Verfügbarkeit erfordern. Mit Ihrer Datenbank in einer separaten Wolke aus Ihrer Anwendung, jedoch werden Sie die Latenz leiden für SQL über das Internet tun (plus einige Architektur erfordern für den Schutz, dass der Verkehr, wie ein SSH-Tunnel oder Protokoll-Level-Verschlüsselung, die SQL Server anbieten könnten, [nicht wirklich sicher, ich bin ein PostgreSQL Typ]).

Sie nicht in die Falle tappen, dass Cloud-Hosting des Denkens ist so verschieden von Hosting. In der Tat sind sie fast gleich. In meiner Firma haben wir die Meinung, dass Cloud-Hosting des Denkens über das gleiche ‚ole Hosting nur eine neue Art und Weise ist. Es ist nichts Magisches.

So entwerfen für Cloud-Hosting, Ihre Anwendung muss nur sharding Fähigkeiten haben und sich bewusst sein, dass die Knoten hinzugefügt oder jederzeit wieder entfernt werden können. Das ist nicht sehr schwer zu erklären, je nachdem, wie man es Architekten; in der Regel nur ein Belastungsausgleich ist auch bewusst die Cloud-spezifische Semantik.

Es ist der Beginn von „Cloud Computing“ und wie mit einer solchen entstehen, die Kandidaten legen ihre „Mausefallen“ in der Hoffnung, so viele wie möglich zu fangen. Es wird einige Zeit dauern, bis die Spieler kommen, um eine gemeinsame Basis zu definieren (das heißt Standard der einen oder anderen Form) und bis dahin ihre Waffen der „Differenzierung“ werden uns eine Seite zu entscheiden erzwingen.

Ich denke, das ist auch „Business-orientiert“ und es wird .. bekommen abgewählt, aber hey, ich denke an den Business-Aspekten vor die Technik / Sprache. Am Ende des Tages kommt es auf Geld zu machen.

Wenn jemand denkt über nicht gesperrt werden zu einem Cloud-Computing-Anbieter (die SaaS / PaaS-Typen, während die IaaS-Typ-Anbieter sind weiter entlang), um diese früh im Spiel, na ja, sind Sie für einige große Überraschungen. Feuer weg!

HAFTUNGSAUSSCHLUSS: Ich bin nicht ein Cloud Computing-Anbieter jeglicher Art darstellt (SaaS, PaaS, IaaS). Würden die Leute, die mir Sorge niedergestimmt ihre Treue zu identifizieren?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top