7. Cloud-Technologien Inhalt: Begriffe SOA, SOC, Grid, Cloud Verschiedene Arten von Cloud-Computing Beispiele für Cloud-Computing-Infrastrukturen Ausgewählte technische Details Peter Sobe 1
Distributed Computing Anfang mit Client/Server-Systemen Komplexere verteilte Rechen-Infrastrukturen Granularität: Prozeduren, Funktionen, Methoden Plattform: Verzeichnisse für o.g. Prozeduren, Authorisierung, Verschlüsselung Komplexes Design Service-orientierte Architekturen (SOA) lose gekoppelte Dienste (Services) auf Basis von Web-Technologien 2
Distributed Computing Client/Server: Web, Databases, License-Manager, typically work via IP networks, application-specific message formats, recently moved to XML structured formats SOA and web services: business applications, services within sensor networks, communicate via standard formats using a meta-description (WSDL, XML schemas for messages) Grid computing: compute-intense services, e.g. GridSolve, usage of remote supercomputing facilities, partly make use of Web service technologies, run on complex platforms including resource management, security, authorization Cloud computing: use of Web and Web Service Technologies, 3
Cloud-Computing (1) Definition von Gartner David W. Cearley and David Mitchell Smith: Key Attributes Distinguish Cloud Computing Services, March 2009: Cloud computing is a style of computing where scalable and elastic ITenabled capabilities are delivered as a service to external customers using Internet technologies. Cloud computing is positioning itself as a promising platform for delivering infrastructure (IaaS), platform (PaaS), and software (SaaS) as services. 4
Cloud-Computing (2) Kern-Technologien: Virtualisierung Prozessorknoten (Virtual Machines) virtuelle Netzwerke (VPN, Tunnel) Virtuelle Speicherressourcen (Netzwerk-Blockgeräte, -Dateisysteme) serviceorientierte Architektur ortsunabhängige und gut erprobte Interfaces (Web-browser, Web Services) automatisierte Operation (Self-X wird angestrebt) Self-X: Self-Organization, Self-Explaining, Self-Configuration, Self-Healing (Begriffe kommen aus der Forschungsrichtung Organic Computing ) 5
Cloud-Computing (3) Service-Paradigmen Hardware as a Service Infrastructure as a Service Low-Level, virtualisierte Ressourcen (Speicher, Netzwerk, Virtuelle Maschinen) Software as a Service Data as a Service Zusammenfassung in Platform as a Service 6
Cloud-Computing (4) Hardware as a Service Dieser Begriff wurde ca. 2006 geprägt, als schnelle Fortschritte bei der Virtualisierung von Hardware gemacht wurden. Nutzer können IT-Hardware on-demand über das Internet ausleihen. Das Spektrum reicht von einzelnen virtuellen Prozessorknoten (Hosts) bis hin zu gesamten Data-Centers mit Rechnern und Speicher. Konzept: Dynamische Erzeugung virtueller Ressourcen, Erlaubnis für den Nutzer zum Einloggen und zur Nutzung der Ressourcen für Berechnungen, Speicherung, Web-Hosting Kombination mit virtualisiertem Speicher (Storage, wie z.b. Festplatten- Images) und Snapshots der virtuellen Maschinen 7
Cloud-Computing (5) Hardware-as-a-Service ergibt als Kombination verschiedener virtualisierter Hardware-Komponenten eine virtualisierte Infrastruktur Vergleich: Virtualisierte Infrastruktur Eigene Infrastruktur Bereitstellung Vorteil: flexibler, u.u. kostengünstiger Nachteil: Abhängigkeit vom Cloud-Provider 8
Beispiele für Cloud-Computing-Systeme Amazon Cloud (EC2, S3 mit SOAP- und REST-Schnittstellen, zusätzlich eine s.g. Mechanical Turk API ) Google Cloud - Google Apps: Email, Office, für Unternehmen ca. 40/Nutzerkonto/Jahr als klassische Software as a Service -Anwendung - Google app engine - deployment von Web Anwendungen in der Cloud Microsoft Azure - Platform as a Service, Ausführungsplattform Salesforce - Enterprise Management, vergleichbar mit SAP Eucalyptus freie Cloud-System-Implementierung, Interface angelehnt an Amazon EC2, S3 9
Beispiele für Cloud-Computing-Systeme Closed-Platform Clouds: Die meisten Cloud-Computing-Systeme werden von Provider- Gesellschaften bereitgestellt, welche das System selbst betreiben und nicht an Kunden verkaufen. Lediglich die Dienste (Nutzung) werden nach außen geöffnet. Benutzung ist öffentlich, Plattformen sind aber geschlossen On-premises Cloud: Das System erlaubt eine Installation auf der eigenen Infrastuktur Beispiel: Eucalyptus (open source) Microsoft kündigte On-premises Cloud für firmenspezifische Lösungen an (2010) 10
Amazon Web Services (AWS) AWS Konzept Verschiedene HaaS-Services: Compute resources, EC2 (VMs) Storage S3 (block storage, object storage, data base) Network Content-Delivery Infrastructure, Cloud Front Diese Services können einzeln, aber auch in Verbindung zueinander genutzt werden (Infrastructure), z.b. VMs und Storage AWS sind so gestaltet, dass eine Plattform geschaffen werden kann. mehrere VMs können über den Network Service verbunden werden VMs können mit Storage verbunden werden Berechnungsergebnisse sind per Content-Delivery-Plattform (Web) darstellbar 11
Amazon Web Services Storage, SOAP SOAP: Beispiel zur Erzeugung eines Buckets HTW". Request (ohne Envelope): <CreateBucket xmlns="http://doc.s3.amazonaws.com/2006-03-01"> <Bucket>HTW</Bucket> <AWSAccessKeyId>1D9FVRAYCP1VJEXAMPLE=</AWSAccessKeyId> <Timestamp>2006-03-01T12:00:00.183Z</Timestamp> <Signature>Iuyz3d3P0aTou39dzbqaEXAMPLE=</Signature> </CreateBucket> Response (ohne Envelope): <CreateBucketResponse xmlns="http://s3.amazonaws.com/doc/2006-03-01"> <CreateBucketResponse> <Bucket>HTW</Bucket> </CreateBucketResponse> </CreateBucketResponse> 12
Amazon Web Services Storage, REST AWS Simple Storage S3 - Cloud Storage REST, Beispiel-Request zur Erzeugung eines s.g. Buckets htw (vergleichbar mit Verzeichnis in einem Dateisystem): Request: PUT / HTTP/1.1 Host: htw.s3.amazonaws.com Content-Length: 0 Date: Wed, 01 Mar 2009 12:00:00 GMT Authorization: AWS 15B4D3461F177624206A:xQE0di... Response: HTTP/1.1 200 OK x-amz-id-2: YgIPIfBiKa2bj0KMg95r/0zo3emzU4... x-amz-request-id: 236A8905248E5A01 Date: Wed, 01 Mar 2009 12:00:00 GMT Location: /htw Content-Length: 0 Connection: close Server: AmazonS3 13
Amazon Web Services Storage, REST REST, Beispiel-Request zum Schreiben einer Datei Request: PUT /my-image.jpg HTTP/1. Host: htw.s3.amazonaws.com Date: Wed, 10 Jun 2015 10:00:00 GMT Authorization: authorization string Content-Type: text/plain Content-Length: 201327 Expect: 100-continue [201327 bytes of object data] Response: HTTP/1.1 200 OK x-amz-id-2: XYZ001911+zzt556 x-amz-request-id: 0B12DA4270411ABC Date: Wed, 10 Jun 2015 10:00:20 GMT ETag: 12345678912345678912345 Content-Length: 0 Connection: close Server: AmazonS3 14
AWS-Anwendungsbeispiel Anwendung mit Web- Interface Admin Management virtueller Ressourcen (Auftragswartschlangen, Storage, Compute Nodes, DBs) Anwender Anwendung mit Web- Interface Webserver PHP-Skript Zugriff auf Storage Anstoßen von Diensten bzw. Aufträgen über Auftragswarteschlangen Webserver PHP-Skript Zugriff auf Web-Plattform zur Anzeige der Ergebnisse Abfrage von Monitoringdiensten 15
AWS-Anwendungsbeispiel AWS Cloud Front Web- Interface Transcoding-Aufträge mit Verweis auf Originaldaten Angelehnt an Quelle: aws.amazon.com Video im Web Simple Storage S3 Video- Originaldaten Simple Queue Service Fertig-Meldungen mit Verweis auf Ergebnisdaten Weitergeleitete Aufträge Ergebnisdaten SimpleDB Metadaten, z.b. zur Abrechnung Compute Cloud (EC2 Nodes) 16