Serverfarmen, C10M-Ansätze und Cloud Computing
Transcrição
Serverfarmen, C10M-Ansätze und Cloud Computing
Vorlesungsreihe Entwicklung webbasierter Anwendungen Serverfarmen, C10M-Ansätze und Cloud Computing Prof. Dr.-Ing. Thomas Wiedemann email: [email protected] HOCHSCHULE FÜR TECHNIK UND WIRTSCHAFT DRESDEN (FH) Fachbereich Informatik/Mathematik Gliederung Aufbau und Konfiguration von Serverfarmen und High-Performance-Servern Notwendigkeit und historische Entwicklung des Load Balancing Neue Entwicklungen im Bereich von C10K und C10M-Servern (z.B. mit NodeJS) Cloud Computing Arten und Prinzipien Aktuelle Anbieter und einige Tests Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 2 Entwicklung von Serverfarmen und des Load Balancing Typische Hardwareanforderung beim Aufbau von Webanwendungen • zu Beginn steht (bei Startups?) das Preis/Leistungsverhältnis im Fokus • bei Erfolg waren / sind dann schnelle Anpassungen an die höheren Zahlen der User-Requests notwendig • Probleme: einfache PC-basierte Server können trotz Hauptspeicherausbaus nur in Grenzen in der Antwortkapazität erweitert werden stärkere Workstations oder Supercomputer stellen wiederum spezielle Softwareanforderungen oder unterstützen nicht alle Optionen der Anwendungen Häufige (und heute typische) Lösung • Aufbau von größeren Rechnerclustern auf PC-Hardwarebasis und meist LinuxBetriebssystemen (Serverblades) • Die Anfragen müssen dann möglichst gleichmässig auf die Rechner verteilt werden (= Load Balancing) Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 3 Allgemeine Anforderungen an das Load Balancing Im Rahmen der Lastverteilung sind folgende Anforderungen zu erfüllen: • Hochverfügbarkeit (highly available) auch bei Ausfall einzelner Server muss die Gesamtfunktionalität der Serverfarm erhalten bleiben • Skalierbarkeit (scalable) Neue Anforderungen an die Leistung müssen einfach und ohne Beeinträchtigung des vorhandenen Systems umgesetzt werden können • Voraussagbares, konsistentes Verhalten (predictable) Das Verhalten der Serverfarm muss aus Sicht der Webapplikationen ohne Unterschiede zu einem Einzelsystem funktionieren und konsistente Ergebnisse bei mehrfachen Aufrufen bringen. Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 4 Erste Optionen des Load Balancing Load Distribution unter Nutzung der DNS-Server • DNS-Round Robin (pro Aufruf werden mehrere Adressen vom DNS-Server zurückgegeben, dies ergibt ein eher zufälliger Verteilen, kein Balancing) • funktioniert für kleinere Serverfarmen auch heute noch ganz gut, Probleme können auftreten bei long-term-Sessions und Serverausfällen Quelle: http://www.f5.com/pdf/white-papers/ Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 5 Optionen des Load Balancing Load Balancing auf Softwarebasis • Erster Client-Aufruf der Anwendung erfolgt über eine zentrale Cluster-IP, • der Cluster entscheidet dann in der Anwendungssoftware (oder auf OSNiveau), welcher Server die geringste Auslastung hat und initiiert einen REDIRECT auf diesen Server. • Bei geringer Serverzahl (<10) sehr gut, dann anwachsende Probleme mit dem Serverabgleich. Quelle: http://www.f5.com/pdf/white-papers/ Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 6 Optionen des Load Balancing Netzwerk-Infrastruktur-basiertes Load Balancing • Lastverteilung durch die Netzwerkrouter (spezielle Hardware >Performance) • mit bidirektionalem Network Address Translation (NAT) • Verteilung der Anfragen erfolgt durch ständiges Messen der Auslastung und Antwortzeiten und kann auch unterschiedliche Hardwareausbauten in der Serverfarm unterstützen Quelle: http://www.f5.com/pdf/white-papers/ Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 7 Aktuelle Entwicklungen Weiterentwicklung des reinen Load Balancings zum Application Delivery Controller (ADN) mit folgenden Zusatzfunktionalitäten: • Health Monitoring: Gesamtüberwachung der Serverfarm auf Funktionalität und Leistung • Dynamic provisioning : Automatisches Verwalten der verfügbaren Rechnerresourcen (Erweiterung bei Last / Abschaltung zwecks Energiesparen) • Intelligentes Caching und Kompression in Abhängigkeit von den Inhalten • einheitliche Authentifizierung auf dem ADN (spart verteilte Auth. auf den Applikationsservern selbst • Location - basiertes Verteilen der Anfragen (Suche nach dem netzwerkstechnisch “räumlich nächsten” Serverpool • Bereitstellung von Content Delivery Networks (CDN) (vgl. GoggleJquery-Bereitstellung oder Ablage hochfrequentierter Presse-Seiten ) • Integration weiterer Services (wie Antiviruskontrolle etc.) in die Hardwareebene Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 8 Allgemeine Probleme beim Load Balancing • Probleme mit Long-term http-Connections : Bei Verwendung von long term Sessions oder größeren Datenoperationen (Download per ftp oder http) müssen die folgenden Requests wieder auf dem gleichem Server erfolgen, damit die Daten ab der aktuellen Stelle verfügbar sind Auch bei permanenten Server-Datenobjekten (DLL oder Java Enterprise) muss eine konstante Zuordnung zum Server erfolgen ! • Mögliche Lösung: Speicherung der Quell-IP im Load Balancer und konstante Zuordnung des Clients zum Hosts (dies kann aber wiederum zu Problemen mit Clients hinter einem Proxy geben) • Beim Ausfällen von Serverhardware muss dies erkannt und ggf. eine erneute Aussendung des Request erfolgen Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 9 Entwicklung neuer Strategien - Kritik der bisherigen Server Request LISTEN:8080 Fork Thread • Bei bisherigen Servern (wie z.B. dem ApacheHTTP-Server) läuft eine relativ kleine LISTEN-Schleife und generiert für jeden URLRequest jeweils einen NEUEN (schwergewichtigen) Thread im Betriebssystem • OS-Threads sind relativ aufwändig bzgl. Speicheranforderungen und auch langsam beim Umschalten (meist ist ein Kontext-Switching im Prozessor mit jeweiligem Speicher-Sichern auf dem Stack erforderlich…) IO IO DB RQ In der Default-Installation ist z.B. beim Apache eine max. Anzahl von 200 Threads eingestellt IO DB RQ IO DB RQ Das Problem hat sich verschärft durch neue mobile Anwendungen (Whatsapp etc.) mit sehr VIELEN KLEINEN Anfragen IO IO Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 10 Aktuelle Hardwareleistung vs. Serveranforderungen • Die nur ca. 200 parallelen Anfragen pro Zeiteinheit stehen in starken Kontrast zur aktuellen Leistungsfähigkeit der Hardware: • Ein „besserer“ Hardwareserver mit 8 Cores, 3 GHz, 64 GByte RAM und 10-Gbit Ethernet erlaubt theoretisch : 10 Gbits/s Übertragungsrate und damit 10 Millionen Pakete /s, bei nur einigen Paketen (mit 0.5 KByte) pro Connections wären damit 1 Million parallele Connections möglich • Entsprechende Diskussionen zu diesem Thema sind unter den Stichworten „C10K-Problem“ (http://www.webcitation.org/6ICibHuyd) • oder aktuell analog zu „C10M-Problem“ (10 Million connections) finden – siehe http://c10m.robertgraham.com/p/blog-page.html Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 11 Skalierbarkeit der Serverleistung • Die bereits diskutierte OS-Thread-Abhängigkeit von Apache verhindert auch eine Skalierbarkeit durch bessere Hardware: • Bei entsprechend starker Belastung bricht die Anzahl möglicher paralleler Verbindungen zusammen - Ursachen: ältere Unix- und Win-OS erlaubten nur ca. 5000 bis 7000 Interrupts pro /s und entspr.viele Handler Quelle: c10m.robertgraham.com/p/blog-page.html • 1. Lösung: Optimierung der OS in Richtung größerer Interrupt, Pufferund Handler-bereiche Erreichung von 10.000 Connections (C10K), aber danach trotzdem Stagnation • 2. Lösung (und Erkenntnis) : „The Secret To 10 Million Concurrent Connections -The Kernel Is The Problem, Not The Solution “ see http://highscalability.com/blog/2013/5/13/the-secret-to-10-million-concurrent-connections-the-kernel-i.html Auslagerung der performancekritischen Codeteile AUS DEM SERVER (d.h. Management der 10 Mio. Connections durch eigenen Code !!! Akt. Lösungen: Webserverlösungen auf der Basis von NodeJS (Folgeseiten) Nginx ("engine x") - Hochpar. Werbserver – see Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann http://nginx.org/ - HTW Dresden - Folie 12 Serverlösungen mit NodeJS • NodeJS-basiert auf V8 JavaScript Engine von Google, welche auch im Chrome-Browser eingesetzt wird • Die V8-Engine wurde über die Jahre stark bzgl. Performance optimiert und erreicht bei optimal geschriebenen JS-Code die Performance vom C++-Code !!! (bzgl. Details siehe https://developers.google.com/v8/ Quelle: http://v8-io12.appspot.com/#68 Historische Entwicklung von NodeJS • Erste Version 2009 durch Ryan Dahl in der Fa. Joyent mit Fokus auf Cloud-Computing • package manager (npm) zur einfacheren Installation von Bibl. 2011 • Anfang 2015 wurde Node.js Foundation gegründet (nach einem Intermezzo mit io.js wegen Differenzen bzgl. Weiterentwicklung) • Offizielle Webpage: https://nodejs.org/ (MIT Lizenz) Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 13 Serverlösungen mit NodeJS – Einfache HTTP-Server • NodeJS beinhaltet bereits alle Komponenten für einen HTTP-Server var http = require('http'); var server = http.createServer(function(request, response) { console.log('Got Request Headers: '); console.log(request.headers); response.writeHead(200, { 'Content-Type': 'text/plain' }); response.write('Hello World'); response.end(); }).listen(8080); Besonderheiten: - NodeJS arbeitet mit einer Event-driven architecture und Nichtblockierenden I/O- (non-blocking I/O API), damit ist kein echtes Thread-Multitasking notwendig und alle diskutierten Nachteile herkömmlicher Server entfallen ( C10K … C10M-Connections) Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 14 Serverlösungen mit NodeJS – Streaming files over HTTP • Mit zusätzlichen File-Read-Funktionen können auch größere Dateien gestreamt werden : require('http').createServer(function(req, res) { res.writeHead(200, {'Content-Type': 'video/mp4'}); var rs = fs.createReadStream('test.mp4'); rs.pipe(res); }).listen(8080); Besonderheiten: - Die Übertragung auf die obige Art wird vom Browser auch bei noch vollständiger Übertragung verarbeitet und die Wiedergabe sollte damit sofort beginnen Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 15 Serverlösungen mit NodeJS Weitere Beispiele und Details zu NodeJS können den folgenden E-Books entnommen werden: E-Books zu NodeJS (eine Auswahl) : http://it-ebooks.info/book/984/ http://it-ebooks.info/book/6025/ Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 16 Beispiele für aktuelle Serverfarmen (Schätzungen nach http://storageservers.wordpress.com/2013/07/17/facts-andstats-of-worlds-largest-data-centers/ ) • Google Data Center ca. 13 weltweit verteilte Data Center mit ca. 900,000 Servern (Verbrauch ca. 300 Megawatt = 0.01% der Welt-Elektroenergie = ausreichend für ca. 200,000 Haushalte) In der Regel werden neue Datacenter in der Nähe von Wasserkraftwerken (billige Elektroenergie + Kühlung ) gebaut -> Colorado / Finnland • Microsoft Data Center ca. 1.000.000 Server weltweit verteilt (europäischer Node in Dublin Irland) • Amazon Data Center 450,000 Server, davon ca. 40.000 für Cloud-Nutzer (siehe Folgeseiten) Andere Big-Player (Facebook, Domain-Hoster) verfügen über ähnliche Serverfarmen. Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 17 Cloud computing – Einführung und Historie Entstehung des Cloud Computing • Mit der Entwicklung großer Internetfirmen wie Amazon, Facebook oder Yahoo entstanden auch sehr große Serverfarmen und in der Folge Probleme bei deren Auslastung Bei Internet-Shops wie Amazon wurde die Hauptlast nur im Weihnachtsgeschäft benötigt. Außerhalb dieser Zeit waren die Server meist nicht ausgelastet (tw. nur 10% Auslastung > 90% freie Kapazitäten) Idee einer Verwertung der freien Kapazitäten auf dem freien Markt unter dem Slogan „Cloud Server“ ab ca. 2006 • Ursache / Voraussetzung für den Erfolg von Cloud Computing und Cloud Services sind auch die schnellen Internetverbindungen, welche den Unterschied zu einem lokalen Speicher/Rechnersystem stark verringert haben (bzw. nicht mehr sichtbar für Endanwender) Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 18 Arten des Cloud Computing Typen des Cloud Computing nach dem Servicetyp: Cloud Software as a Service (SaaS) stellt eine Software zur Nutzung bereit und wird deshalb auch als Software on Demand bezeichnet. Der Anwender muss die Software nicht selbst kaufen und installieren, sondern nutzt diese auf Mietbasis fallweise. Cloud Platform as a Service (PaaS) stellt eine Programmier- und/oder Laufzeitplattform zur Verfügung und erlaubt das Entwickeln und Ausführen von (Kunden-) Software auf dieser Plattform. Cloud Infrastructure as a Service (IasS) stellt eine Hardwareplattform zur Verfügung. Der Anwender muss selbst die Laufzeitund Anwendungssoftware installieren und administrieren. Typen des CC nach Vertraulichkeit und Datenschutz : • Public Clouds - meist auf fremden (weit entfernten) Servern • Private Clouds - die Cloud wird innerhalb der eigenen Firma aufgebaut und betrieben (im Prinzip nur Nutzung der Cloud-Managementsoftware im firmeneigenen Rechenzentrum) •Hybrid Clouds - Mischform: unkritische Inhalte auf Public, kritische auf private Cloud Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 19 Allgemeine Vorteile und Nachteile des Cloud Computing Vorteile : • sehr hohe Flexibilität bei Performance und techn. Parametern, starke Automat. Der technischen Abläufe • starke Kosteneinsparungen bei Aufbau und Betrieb von Cloudcomputing-Kapazitäten (Skaleneffekte) • Professionelle Datensicherheit und hohe Verfügbarkeit • immer aktuelle Softwarestände Nachteile : • bei Public Clouds meist kein direkter (lokaler) Zugriff auf den Rechner, sondern nur über Webmasken oder RemoteDesktop etc. • starke Abhängigkeit vom Anbieter (Pleite ?, Ausfälle [Blitzschlag Irland!]) • Bei Public clouds Probleme mit Sicherheit / Vertraulichkeit (Geheimnis-schutz nicht 100% gewährleistet !) Ausführliche BITKOM - Bewertung unter : http://www.bitkom.org/files/documents/BITKOM-Leitfaden-CloudComputing_Web.pdf Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 20 Test des Cloud Computing am Bsp. von Simulationsanw. Historie und bisherige Ansätze vor ca. 10 Jahren : : erste Konzepte zur fallweisen Nutzung von Simulationssoftware : SIMPC/ GPSS/H –Websimulator der Uni. Magdeburg, Lösungen des Fraunhofer Institut Stuttgart (Mail-basiert) Simsolution-System des Autors (Application Service Prov.-System) Allgemeine Bedingungen bei heutigen Cloud-Systemen Cloud-Masseneinsatz statt singulärer Anwendung – statt exotischer ASP-Ansätze nun allgemeine Akzeptanz des Cloud-Gedankens starke Kosteneinsparungen durch Skalierungseffekte (billigere HW) jetzt insgesamt höhere Akzeptanz in der Managementebene • breite Bandbreite an technischen Einsatzoptionen und Quasistandards mit den neuen Angeboten (vgl. Microsoft Azure-Cloud / Amazon Cloud Computing) sind universelle IT-Clouds verfügbar Hinweis : Die nachfolgenden Tests beziehen sich auf die aktuellen Cloud-Systeme im Sommer 2011. Möglich sind entsprechende Änderungen durch neue Lösungsansätze ! Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 21 Potentiale und Grenzen der Simulationsanwendung auf der Cloud a.) Einsatz von bekannten Simulatoren auf der Cloud Problem: Cloud-Anbieter sind aufgrund von Sicherheitsbedenken sehr restriktiv : fremde EXE-Dateien sind i.d.R. NICHT zugelassen damit entfallen fast alle bekannten Simulatoren, da diese nicht im Sourcecode, sondern als Binaries vorliegen ggf. können bei intensiven Verhandlungen mit Cloud-Anbietern auch geprüfte Simulatoren als Binaries angeboten werden Option B: Einrichtung einer Private Cloud mit Binaries (effektiv?) b) Verfügbare, alternative Lösungen auf Public Cloud: auf Scriptbasis oder Zwischencode operierenden Simulatoren : Java-basierte Simulatoren .NET – basierte Simulatoren PHP und Python u.a. (je nach Cloud) Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 22 Test von Cloud Computing – Systemen: Microsoft Azure Allgemeine Charakteristika : starke Anlehnung auf bekannte Microsoft-Technologien Windows Server 2008 R2 als Serverbasis Visual Studio 2010 als Entwicklungsplattform damit ALLE VS-Sprachen der .NET-Familie als Basis für Applikationen (C#, Visual Basic, ASP.NET, etc) Erste Einsatzerfahrungen Schneller Einstieg durch gute Dokumentationen und Beispiele mittelmäßige Managementumgebung : intuitiv bedienbar, aber relativ langsam und nicht sehr komfortabel, kein Single-SiteLogin zum Einblick in die Vertrags- und Rechnungsdaten unterdurchschnittliche Leistungswerte der einfachen Serveroptionen, vergleichbar mit ca. 1,6 Ghz – PC ! Schlechtes Bezahlmodell : Berechnung auch im Standby-Modus Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 23 Test von Cloud Computing – Systemen: Microsoft Azure II Softwaremodule: Abb. - Quelle: http://www.microsoft.com/de-de/azure/entwickeln/Optimierung-mit-CDN.aspx Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 24 Test von Cloud Computing – Systemen: Microsoft Azure II Bereitstellung und Upload DIREKT aus VS 2010 Abb.: Bereitstellung und Upload DIREKT aus VS 2010 Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 25 Test von Cloud Computing – Systemen: Microsoft Azure III Managementconsole Host -Status Host – Webinterface Screendump as MS Visual Studio Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 26 Test : Google App Engine Allgemeine Charakteristika : : starke Orientierung auf freie Tools uf Google-Technologien unterstützt Java, Python, PHP und GO Erste Einsatzerfahrungen sehr schneller Einstieg durch gute Dokumentationen und Beispiele mittelmäßige Managementumgebung : intuitiv bedienbar, graphische Darstellung der Werte, teilweise sehr verzögert sehr schneller Upload der App durch Eclipse-Plugin (In 2011 tw. noch unterschiedliche Leistungswerte, da manchmal 200ms, teilweise aber auch 4fache Zeit → Performance sehr unterschiedlich ) Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 27 Test : Google App Engine https://cloud.google.com/appengine/pricing Aktuelle Preise (2015 / 01) : Service Kostenloses Kontingent pro App pro Tag Preise bei Überschreitung des kostenlosen Kontingents auf Google-Technologien Instanzen 28 Instanzstunden 0,05 $/Instanz/Stunde Cloud Datastore (NoSQL-Datenbank) 50.000 (Lesen/Schreiben/geringer Umfang) 1 GB Speicher 0,06 $/100.000 (Lesen oder Schreiben) Kleine Operationen kostenlos* 0,18 $/GB/Monat Ausgehender Netzwerkverkehr 1 GB 0,12 $/GB Eingehender Netzwerkverkehr 1 GB Kostenlos Cloud Storage 5 GB 0,026 $/GB/Monat Memcache Kostenlose Nutzung des freigegebenen Pools Kein kostenloses Kontingent für den dedizierten Pool Kostenlose Nutzung des freigegebenen Pools Dedizierter Pool: 0,06 $/GB/Stunde Suchen 1.000 Basisoperationen 0,01 GB Dokumentindexierung 0,25 GB Dokumentenspeicherung 100 Suchanfragen 0,50 $/10.000 Suchanfragen 2,00 $/GB Dokumentindexierung 0,18 $/GB/Monat Speicherung Email API 100 Empfänger Vertrieb kontaktieren Logs API 100 MB 0,12 $ pro GB Aufgaben-Warteschlange und Protokollspeicherung 5 GB 1 GB 0,026 $/GB/Monat Virtuelle IP-Adressen (SSL) Kein kostenloses Kontingent 39,00 $/virtuelle IP-Adresse pro Monat Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 28 Test : Amazon Elastic Compute Cloud Allgemeine Charakteristika : : starke Orientierung auf das Amazon-Shop-Geschäft Linux und Windows-basiert, (und Amazon-eigenes Betriebssystem) Unterstützt v.a. .NET, Java, aber auch Ruby, Python Erste Einsatzerfahrungen sehr umfangreich, da keine Funktionseinschränkungen und komplettes Amazon Cloud Angebot nutzbar : Amazon Elastic Cloud (variable Rechenleistung) Amazon S3 Simple Storage Service AWS Lambda on Demand Verarbeitungsservice (nur die reine Laufzeit nach einem Ereignis wird berechnet) Aktuelle Preise für alle Dienste (mit komplexem Rabattsystem unter http://aws.amazon.com/de/ec2/pricing/ ) gute Managementumgebung : intuitiv bedienbar, komfortabel, anfangs unübersichtlich, guter Einblick in Vertrags- und Rechnungsdaten Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 29 Vergleich der Kosten Generell gilt: Die aktuellen Preismodelle sind stark im Wandel, teilweise undurchsichtig und schlecht vergleichbar und können sich je nach Konkurrenzsituation schnell ändern (gewisse Unsicherheit und Nachteil gegenüber selbst betriebenen Rechnercluster ..) Die Gesamtkosten ergeben sich aus Preis_pro_h * Anzahl_Instanzen * Anzahl_h + Preis_pro_Gigabyte_Datenspeicher * Datenablage + Preis_pro_Gigabyte_Datentraffic * DatenIO + Preis_für_Sonderoptionen Aktuelle Werte sind : Minimal Typisch Maximal Preis_pro_h : $0,095 $0,38 $2,28 Preis_pro_Gbyte: <1Gb free $0,11 / GB Preis_Traffic <1Gb free $0,12/ GB Zum Vergleich : Die reinen Stromkosten für eine eigene Rechnerstunde (Annahme 500 W) liegen bei ca. 0,12€ / Stunde ! Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 30 Einsatzerfahrungen zu aktuellen Cloud-Systemen Cloud Computing im Simulationsbereich • Prinzipiell sinnvoll aus Sicht von Kosteneinsparungen und zum Abdecken von Lastspitzen (z.B. 20 x Sim / Pause / 100 x Sim ) • Die allgemein wachsende Akzeptanz in der IT und im Management ist auch im Simulationsbereich positiv bemerkbar ! Technische Probleme und Restriktionen • (noch) keine Lauffähigkeit von COTS-Systemen • scriptbasierte Simulatoren (.NET / Java) möglich • Clouds von MS / Amazon und Google anwendbar, aber optimierunswürdig !I • Datenschutz, Sicherheit und Vertrauenswürdigkeit noch nicht abschliessend geklärt -> Private oder Hybrid Cloud als Lösungsalternative !!? • NSA-Affäre w#re zumindest in D. /Europa kontraproduktiv ! Nach Klärung der offenen technischen Fragen der Sicherheitsprobleme könnten Cloud-Lösungen eine interessante Option für die Modellierung und Simulation sein ! Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 31