MongoDB on Linux-VM
Agenda Infrastructure as a Service in Windows Azure Was ist NoSQL? Einführung in MongoDB MongoDB in Windows Azure Einführung in Node.js FAQ
Infrastructure as a Service in Windows Azure Was ist Infrastructure as a Service? „If deploying an application requires a developer‘s involvement, it‘s not IaaS“ Abstrahiert physische Hardware Kunde ist verantwortlich für das OS, Software und Datenbanken Rechenkapazitäten wie Performance, Bandbreite und Speicherzugriff sind standardisiert Abstrahiert physische Hardware Server, Speicher, Netzwerk-Infrastruktur
Infrastructure as a Service in Windows Azure Übersicht
Infrastructure as a Service in Windows Azure Verfügbare Images - Gallerie-Experience in Windows Azure
Infrastructure as a Service in Windows Azure Verfügbare VM-Größen VM-Größe Anzahl CPUs RAM Bandbreite Anzahl Disks Extra Small Shared 768 MB 5 (Mbps) 1 Small 1.75 GB 100 (Mbps) 2 Medium 3.5 GB 200 (Mbps) 4 Large 7 GB 400 (Mbps) 8 Extra Large 14 GB 800 (Mbps) 16 Jede persistente Disk kann bis zu 1 TB betragen
Virtuelle Maschine vs. VM Role Speicher Nicht-persistenter Speicher Persistenter Speicher Einfaches Hinzufügen von weiterem Speicher Deployment Erstellen einer VHD on-premise mit Upload in den Storage Erstellen der VHD direkt in der Cloud oder on-premise über den Upload Networking Internal und Input Endpoints konfiguriert durch das Service Model Internal Endpoints sind generell offen. ACS durch die Firewall im Gast OS. Input Endpoints kontrolliert durch das Portal, Service Model oder API/Skript Haupteinsatzgebiet Installation von Applikationen mit langen oder komplexen Installationen Applikationen, die persistenten Speicher in Windows Azure benötigen
Was ist NoSQL? Herkömmliche Datenbanken basieren auf dem ACID-Prinzip Einführung Herkömmliche Datenbanken basieren auf dem ACID-Prinzip Atomarität Konsistenz Isoliertheit Dauerhaftigkeit NoSQL-Datenbanken bauen in der Regel auf BASE-Prinzip auf Grundsätzlich verfügbar „Sanfter“ Zustand Eventuell konsistent Verschiedene NoSQL-Datenbankentypen Typische Vertreter: Key-Value- und Dokumentorientierte Systeme Keine festgelegte Schemata Versuchen Joins zu vermeiden Skalieren horizontal Grundsätzlich verfügbar: Das System ist grundsätzlich verfügbar, aber nicht unbedingt alle Daten in der Datenbank „Sanfter“ Zustand: Daten können „auslaufen“ Eventuell konsistent: Nach einer gewissen Zeit sind alle Datenbankknoten konsistent, aber nicht zu jedem Zeitpunkt
Einführung in MongoDB Dokumentenbasierte NoSQL-Datenbank von 10gen Entitäten werden als Dokumente persistiert Schemaloser Aufbau Daten werden im BSON-Format gespeichert JavaScript ist Hauptzugriffssprache Konnektoren für andere Programmiersprachen verfügbar Erste Veröffentlichung 2009 Schemaloser Aufbau: Jedes Dokument in einer Collection kann unterschiedliche Schemas haben BSON: Binary JSON
MongoDB in Windows Azure MongoDB kann unterschiedlich in Windows Azure genutzt werden In einer Worker Role In einer Windows Azure VM Kann auf verschiedenen Windows Azure VMs installiert werden U.a. in Windows Server- oder Linux-VM
Einführung in Node.js JavaScript auf dem Server Ereignisgesteuerte Architektur Asynchrones Ausführungsmodell Minimaler Overhead bei maximaler Skalierbarkeit Ereignisgesteuerte Architektur: Verhindert das I/O-Operationen blockiert werden
Einführung in Node.js Ein Beispiel
FAQ Allgemeine Informationen Downloads Node.js - http://nodejs.org/ Allgemeines Allgemeine Informationen Node.js - http://nodejs.org/ MongoDB - http://www.mongodb.org/ MongoLab - https://mongolab.com/ Freischalten der virtuellen Maschinen - https://account.windowsazure.com/PreviewFeatures Downloads Command-Line Tools - http://www.windowsazure.com/en-us/manage/downloads/