Cloud-computing: Herausforderungen bei der Cloudkonfiguration

Die Auswahl, Konfiguration und Leistung Ihrer cloudbasierten Anwendungen wirken sich enorm auf die gesamte Umgebung aus.

Dan Marinescu

Angepasst von "Cloud Computing: Theorie und Praxis"(Elsevier Science & Technik-Bücher)

Entwicklung von effizienten Cloud-Anwendungen kommt bei vielen die gleichen Herausforderungen, die durch die natürliche Ungleichgewichte in der Datenverarbeitung, i/O- und Kommunikation Bandbreiten von physikalischen Systemen gefunden. Diese Herausforderungen werden erheblich verstärkt, der Umfang des Systems, seine Verteilungseigenschaft und die Tatsache, dass praktisch alle Anwendungen Daten-intensiv sind.

Obwohl jeder Cloud computing-Infrastruktur im Idealfall eine automatische Verteilung und Verarbeitung Belastungen auszugleichen versuchen werden, sind Sie immer noch mit der Verantwortung für das Platzieren der Daten in der Nähe der Verarbeitung-Website und der Festlegung ihrer optimalen Lagerung-Strategie abgegeben. Einer der wichtigsten Vorteile von Cloud computing – die gemeinsame Infrastruktur — kann auch ein Nachteil sein.

Leistung Isolation ist fast unmöglich, in einem echten System zu erreichen, vor allem, wenn das System stark ausgelastet ist. Dies ist sogar noch schwieriger mit Cloud computing. Die Performance von virtuellen Maschinen (VMs) schwankt je nach Belastung, Infrastruktur-Services, Umgebung und Anzahl der Benutzer. Sicherheitsisolation ist ein weiterer anspruchsvolle Faktor um auf multi-Tenant-Systeme zu identifizieren.

Zuverlässigkeit ist auch ein wichtiges Anliegen. Sie können erwarten, dass Knotenausfälle wenn eine große Anzahl von Knoten im Wettbewerb Ressourcen zu berechnen. Wählen Sie eine optimale Instanz (in Bezug auf Leistung Isolierung, Zuverlässigkeit und Sicherheit) aus von der Cloud-Infrastruktur ist ein entscheidender Faktor. Kosten Überlegungen spielen auch eine Rolle bei der Wahl des Typs der Instanz.

Die app-Erfahrung

Viele Anwendungen bestehen aus mehreren Stufen. Jede Stufe kann bedeuten, dass mehrere Instanzen parallel laufen, auf der Wolke und die Kommunikation unter ihnen. Daher sind Effizienz, Konsistenz und Kommunikation Skalierbarkeit Hauptprobleme für Anwendungsentwickler. Aufgrund der sozialen Netzwerke und unbekannte Topologie weisen Cloud-Infrastrukturen Internodium Latenz und Bandbreite Schwankungen, die sich oft Anwendungs-Performance auswirken.

Datenspeicherung spielt eine wichtige Rolle bei der Wahrnehmung von datenintensiven Anwendungen. Organisieren die Lagerung, Speicherort auswählen und Verwalten von Speicher-Bandbreite muss alle für eine optimale Anwendungsleistung sorgfältig analysiert werden. Wolken unterstützen viele Storage-Optionen, einschließlich off-Instanz Cloud-Speicher, Montage von Instanz-Blockspeicher und permanenten Speicher für die Lebensdauer der Instanz.

Viele datenintensive Anwendungen verwenden Einzeldatensätze zugeordneten Metadaten. Beispielsweise könnte die Metadaten für eine MPEG-audio-Datei den Namen des Liedes, die Sängerin, die Aufzeichnung von Informationen und so weiter enthalten. Metadaten sollten für den einfachen Zugriff und Lagerung sollte, skalierbare und zuverlässige.

Ein weiterer wichtiger Aspekt für die Anwendungs-Performance meldet. Es ist eine Gratwanderung. Überlegungen zur Leistung begrenzen die Protokollierung von Daten, während die Möglichkeit, die Identifizierung der Ursache des unerwarteten Ergebnissen und Störungen durch häufige Protokollierung geholfen ist. Protokollierung erfolgt in der Regel mit Instance-Speicher, die nur für die Lebensdauer der Instanz erhalten. So nehmen Sie immer Maßnahmen, die Protokolle für eine Post-mortem-Analyse zu erhalten.

Anwendungsmöglichkeiten

Sie können bestehenden Cloud-Anwendungen in mehrere große Gruppen unterteilen: Verarbeitungspipelines, Batch-Verarbeitung-Systeme und Webanwendungen. Processing Pipelines sind datenintensive und oft rechenintensive Anwendungen. Diese repräsentieren einen ziemlich großen Teil Anwendungen, die derzeit auf der Wolke. Es gibt verschiedene Arten von EDV-Anwendungen:

  • **Indizierung:**Die Verarbeitungspipeline unterstützt die Indizierung von großen Datasets erstellt von Web-Crawler-Motoren.
  • **Data-Mining:**Die Verarbeitungspipeline unterstützt die Suche großer Sammlungen von Datensätzen zu Elementen der Interessen zu suchen.
  • Bildbearbeitung: Eine Reihe von Unternehmen können Sie die Bilder auf der Wolke, zu speichern, wie z. B. Flickr und Google. Die Bildverarbeitung-Pipelines unterstützen Bildkonvertierung, Komprimierung und Verschlüsselung.
  • **Video-Transcodierung:**Die Verarbeitung Pipeline transcodiert aus einem video-Format in ein anderes (z. B. von AVI zu MPEG).
  • **Verarbeitung von Dokumenten:**Die Verarbeitungspipeline konvertiert große Sammlungen von Dokumenten von einem Format in ein anderes (z. B. von Word in PDF) oder die Dokumente verschlüsselt. Es kann auch optische Zeichenerkennung (OCR) verwenden, um digitale Bilder von Dokumenten zu produzieren.

Batch-Verarbeitung-Systeme umfassen auch ein breites Spektrum von datenintensiven Anwendungen im Enterprise computing. Solche Anwendungen müssen in der Regel auch Fristen. Nichteinhaltung dieser Fristen könnte schwerwiegende wirtschaftliche Folgen haben. Sicherheit ist auch ein wichtiger Aspekt für viele Anwendungen der Batch-Verarbeitung. Eine nicht erschöpfende Liste der Batch-Verarbeitung Anwendungen umfasst:

  • Generieren täglich, berichtet wöchentliche, monatliche und jährliche Aktivität für Organisationen im Einzelhandel, Fertigung und andere Wirtschaftsbereiche.
  • Verarbeitung, Aggregieren und Zusammenfassen von täglichen Transaktionen für Finanzinstitute, Versicherungsgesellschaften und Gesundheits-Organisationen.
  • Bestandsführung für Großunternehmen.
  • Rechnungsstellung und Abrechnung-Record-Verarbeitung
  • Software-Entwicklung-Management (z. B. nächtliche Updates der Software-Repositories).
  • Automatisches Testen und Verifikation von Software und Hardware-Systemen.

Schließlich, und von zunehmender Bedeutung sind Cloud-Anwendungen für Web Access. Verschiedene Kategorien von Websites haben eine periodische oder ein vorübergehender Aufenthalt, z. B. die Websites für Konferenzen oder anderen Veranstaltungen. Es gibt auch Websites, die während einer bestimmten Jahreszeit wie die Ferien aktiv sind. Sie können auch eine bestimmte Art von Aktivität, z. B. Einkommensteuer reporting mit dem Stichtag 15. April jedes Jahr unterstützen. Anderen zeitlich-Web-Sites für Werbemaßnahmen "schlafen" während der Nacht und die automatische Skalierung während des Tages verwendet.

Es sinnvoll wirtschaftlich zu speichern die Daten in der Wolke in der Nähe, wo die Anwendung ausgeführt wird. Die Kosten pro GB ist gering und die Verarbeitung ist effizienter, wenn die Daten in der Nähe von den Servern gespeichert sind. Dies kann auf mehrere neue Klassen von Cloud computing-Anwendungen in den Jahren führen, zu kommen. Beispielsweise gäbe es Batch-Verarbeitung für Decision-Support-Systeme und andere Aspekte der BA.

Eine andere Klasse von Neuanmeldungen könnte parallel Batch-Verarbeitung auf der Grundlage von Programmierung Abstraktionen. Mobile interaktive Anwendungen, die große Mengen von Daten aus verschiedenen Arten von Sensoren und Dienstleistungen, die mehr als eine Datenquelle kombinieren zu verarbeiten sind offensichtliche Kandidaten für Cloud computing.

Wissenschaft und Technik könnte erheblich profitieren von Cloud-computing, da viele Anwendungen in diesen Bereichen rechenintensiven Anwendungen und Daten sind. Ebenso würde eine Wolke Bildung gewidmet äußerst nützlich sein. Mathematischer Software wie MATLAB und Mathematica konnte auch in der Cloud ausgeführt.

Anwendungsentwicklung, Auswahl, Konfiguration und Performance-tuning alle werden wesentlichen Aktivitäten, wenn eine Cloud-computing-Umgebung ausgleichen. Haben Sie viele Anwendungen auf verschiedene Weise ausgeführt, und die Büroaufgaben benötigen einige Überwachung und Wartung.

Dan C. Marinescu

Dan C. Marinescu war Professor für Informatik an der Purdue University von 1984 bis 2001. Danach trat er in die Fakultät für Informatik an der University of Central Florida. Er hatte Besuch Anstellung an der IBM T. inne. J. Watson Research Center, dem Institute of Information Sciences in Peking, die skalierbare Systems Division von Intel Corp., Deutsche Telekom AG und INRIA Rocquencourt in Frankreich. Seine Forschungsinteressen Abdeckung parallele und verteilte Systeme, cloud computing, scientific computing, computing und Quantum Informationen Quantentheorie.

Schauen Sie für weitere Informationen zu dieser und anderen Titeln von Elsevier, Elsevier Science & Technik-Bücher.

Verwandte Inhalte