Rainer Stropek time cockpit / cubido business solutions gmbh

Slides:



Advertisements
Ähnliche Präsentationen
Was gibt´s neues im Bereich Sicherheit
Advertisements

Sichere Anbindung kleiner Netze ans Internet
Zusammenarbeit in Office mit den SharePoint Technologien Michael Carpi
SQL Server 2005.NET Integration Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH.
Design- und Entwicklungswerkzeuge
Web-Entwicklung mit ASP.NET 2.0 und Visual Studio 2005 Uwe Baumann Marketing Manager Developer Tools Microsoft Deutschland GmbH Oliver Scheer Developer.
Web Matrix Project Kurzüberblick Dirk Primbs Technologieberater Developer Platform Strategy Group Microsoft Deutschland GmbH.
Java: Grundlagen der Sprache
Uwe Habermann WPF Avalon Formulare aus VFP verwenden Venelina Jordanova
Uwe Habermann VFX 10.0 Visual Extend Produktaktivierung.
Microsoft Windows Azure
Google App Engine Microsoft Windows Azure
SharePoint 2010 for Information Architects
Video Streaming mit Silverlight
Consulting and Solutions.NET Vortragsreihe – Vorstellung der Referenten Happy Arts Software Markus Kämmerer IT-Erfahrung seit 1987,
Developer Day Webseiten auf Windows Azure hosten Britta Labud bbv Software Services AG Roland Krummenacher bbv Software Services AG.
E-Learning mit Moodle und Windows Azure
Developer Day Office APPs entwicklen Simon Amrein Trivadis AG Die ersten Schritte in eine neue Office-Welt.
Frank Fischer + Bernhard Frank Microsoft Deutschland GmbH.
Claudia Fischer Licensing Marketing Manager Jochen Katz Product Manager – Windows Server Anna Fetzer Product Manager – System Center.
SQL Azure Administration
Dariusz Parys Developer Evangelist Microsoft Deutschland GmbH Christian Weyer Solutions Architect thinktecture.
Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist.
Intensivmedizin-Applikation mit WPF, WCF und LINQ
Microsoft Student Partners
Technische Information. © Sistema GeoDAT, S.L. 01/08/2004Sistema GeoDAT, S.L.2 SERVER … Betriebssysteme … –Microsoft Windows Server 2000 oder –Microsoft.
Windows Server 2012 R2 Upgrade-Potential
Windows Azure VMs und Storage
Bereitstellen von PHP-Webanwendungen auf Windows Azure
Warum IIS? Best of Microsoft Webserver
[Sprecher/Autor] [Titel] [Organisation][Kontaktinfos] Windows Azure Windows Azure SQL Databases.
Real World Windows Azure Die Cloud richtig nutzen.
Thomas Schissler – artiso solutions GmbH Artur Speth – Microsoft Deutschland GmbH.
Jan Rohe Education Support Centre
Datenbanken im Web 1.
11 Zugriffskontrolle (Access Control) Ziele Privilegien Rollen GRANT und REVOKE Befehl Privilegien Rollen GRANT und REVOKE Befehl.
ROS – Robot Operating System
Ralf M. Schnell Technical Evangelist Microsoft Deutschland GmbH
WINLearn Technische Umsetzung. Basistechnologie Oberfläche in HTML JSP (JavaServerPages) zur Datenauswertung Datenhaltung: Datenbank oder Filesystem JDBC.
Cloud Entwicklung: Web Services
Lync and Learn mit Manfred Helber Thema heute: Überblick der Leistungserweiterungen von Windows Server 2016 Start: 9.30 Uhr 30 Minuten Vortrag & Demo 30.
© 2003, Rudolf Jansen Einsatz der XML-Features der Oracle 9i DB zur Systemintegration Rudolf Jansen Freiberuflicher Entwickler und Autor
© Copyright INFORM GmbH / 25 Einführung in Cloud Computing und Validierung der Provider im Kontext der Anwendung INVENT Xpert Seminarvortrag.
Application Infrastructure Technologies Extending OnPremise EAI to the Cloud Wilfried Mausz BSc. dataformers GmbH Lothar Mausz dataformers.
Forms 9i - New FeaturesSeite 1 Forms 9i New Features Gerd Volberg OPITZ CONSULTING GmbH.
Technischer Überblick. Wireless Lite Wireless & Mobile: Zugriff & Darstellung VoicePullOffline Wie kann ich mit Informationen interagieren?
AMS confidential & proprietary International Business and Technology Consultants 1 Sicherheitskonzepte in Oracle Von der Entwicklung in die Produktion.
Das Software Defined Datacenter Rüdiger Melzer Senior Systems Engineer, Alliance Management VMware
Programmierung unter VB.Net mit der IDE VisualStudio. Schritt für Schritt erklärt und beschrieben. Zielgruppe: Komplette Neueinsteiger mit fundiertem Computerwissen.
Cubido business solutions gmbh Haidfeldstrasse 33 A-4060 Leonding di(fh) Wolfgang Straßer ° Rundumblick.
Application Performance Management Udo Brede.  Komplexe Umgebungen  Häufige Änderungen  Hohe Aktivität Database Servers Application Servers Web Servers.
Patrick Richterich Lattwein GmbH Web Services Softwareentwicklung mit SOAP.
Wechsel von Oracle Cloud Control 12c zu 13c
D-SQL Vom Datenbank-Container zur SQL Server-Datenbank
Geräteverwaltung mit der Cloud
Spontan testen! Das eigene Test Lab, für jeden in der Cloud!
Workshop 1 Getting Started 2016 Boris Wylutzki
Google App Engine - Technische Stärken und Schwächen
Azure Backup, Azure Backup Server und Azure Site Recovery
Sichere Brücken in die Cloud - Wie Sie mit CloudBridge hybride Cloud- Strategien unterstützen Peter Leimgruber, Senior Systems Engineer Citrix Systems.
Azure Active Directory und Azure Active Directory Domain Services
Erweiterte Azure Dienste
Lync and Learn mit Manfred Helber Thema heute:
Microsoft Azure Optionen zur Verbindung mit OnPremises Netzwerken
Create Table, Rechte und Rollen
Du kommst hier nicht rein!
Datenbanken online sowie offline verfügbar machen
SOFTWARE- UND WEB-LÖSUNGEN
Aggregations in Power BI
Cloud Computing SBV – Weitebildungskurse 2018.
 Präsentation transkript:

Rainer Stropek time cockpit / cubido business solutions gmbh Blauer Himmel – Teil 1 Einführung in Windows Azure

Agenda  Cloud – ist doch einfach nur Hosting, oder?  Die Windows Azure Cloud  Hello World – lokale Entwicklungsumgebung  Windows Azure einrichten  Architektur von Anwendungen in Windows Azure  SQL Azure  Call to Action!

Flexibel Strom Kühlung Netzwerk Zutritt Hardware Hardware ist spannend Betriebssystem Datenbank Backup Ausfallssicherheit Load Balancing SLAs Daten unter Kontrolle Lizenzen Einnahme- quelle Skalierbarkeit Katastrophen- schutz On-Premise Applikation

Flexibel Hardware ist spannend Betriebssystem Datenbank Backup Ausfallssicherheit Load Balancing SLAs Daten unter Kontrolle Lizenzen Einnahme- quelle Skalierbarkeit Hosted Applikation

Flexibel Backup SLAs Daten unter Kontrolle Einnahme- quelle Cloud Applikation

Arten von Cloud Computing Infrastructure as a Service (IaaS) Mieten einer virtuellen Maschine + grundlegender Services Netzwerk, Hardware, etc. abstrahiert Platform as a Service (PaaS) Mieten von Rechenkapazitäten für auszuführende Anwendungen Sogar die virtuellen Maschinen sind abstrahiert Software as a Service (SaaS) Zugang zu einer fertigen Anwendung mieten

Cloud Computing optimal für jeden? Pro Cloud  Starke Schwankungen Last/Ressourcen  Zukünftige Kapazität schwer abschätzbar  Fehlendes Infrastrukturwissen Warum?  Pay-Per-Use  Elastizität, dynamische Ressourcen  Infrastruktur-Outsourcing  Starke Schwankungen Last/Ressourcen  Zukünftige Kapazität schwer abschätzbar  Fehlendes Infrastrukturwissen Warum?  Pay-Per-Use  Elastizität, dynamische Ressourcen  Infrastruktur-Outsourcing Contra Cloud  Strenge Datenschutzbedingungen  Geringe Kosten bei Ausfall  Hohe Preissensitivität Warum? Daten nicht im eigenen Rechenzentrum Daten eventuell nicht im Land Wenig Kontrolle über Infrastruktur  Strenge Datenschutzbedingungen  Geringe Kosten bei Ausfall  Hohe Preissensitivität Warum? Daten nicht im eigenen Rechenzentrum Daten eventuell nicht im Land Wenig Kontrolle über Infrastruktur Auf keinen Fall  zusätzliche Option

Agenda  Cloud – ist doch einfach nur Hosting, oder?  Die Windows Azure Cloud  Hello World – lokale Entwicklungsumgebung  Windows Azure einrichten  Architektur von Anwendungen in Windows Azure  SQL Azure  Call to Action!

Windows Azure-Plattform Power Usage Efficiency (PUE): Server/Container Ca Server/Container-Farm Austausch bei ca. 60% Ausfall / Container

Windows Azure – Verfügbarkeit N. Central – US Sub-region W. Europe Sub-region S.E. Asia Sub-region E. Asia Sub-region N. Europe Sub-region S. Central - US Sub-region

Was braucht eine „Cloud-Plattform“? Zugriff auf Ressourcen/Datenquellen (ADO.NET EF, nHibernate, System.IO...) Anwendungslogik, Geschäftslogik UI (Web)UI (AJAX, RIA, Client) Dienste von anderen Anwendungen und Organisationen TCP/TDS Alles Mögliche HTTP/XML (SOAP, REST…) HTTP/HTML HTTP/XML (SOAP, REST…) Stream

Was braucht eine „Cloud-Plattform“? Zugriff auf Ressourcen/Datenquellen (ADO.NET EF, nHibernate, System.IO...) Anwendungslogik, Geschäftslogik UI (Web)UI (AJAX, RIA, Client) Dienste von anderen Anwendungen und Organisationen TCP/TDS Alles Mögliche HTTP/XML (SOAP, REST…) HTTP/HTML HTTP/XML (SOAP, REST…) Stream Storage Rechenleistung (skalierbarer) Store Relationale Datenbank Sichere Integration

Azure – Ihre Entwickler-Maschine  Windows Azure Tools für Visual Studio (inkl. SDK) Enthält lokale Simulationsumgebung Developer Fabric, kurz DevFabric  Windows 7, Windows Server 2008, Windows Vista mit SP1 installiert  IIS 7.x mit ASP.NET, WCF HTTP, CGI  Microsoft Visual Studio Visual Studio 2008 mit SP1 Visual Web Developer 2008 Express mit SP1 Visual Studio 2010  SQL Server 2005 Express Edition oder höher

Agenda  Cloud – ist doch einfach nur Hosting, oder?  Die Windows Azure Cloud  Hello World – lokale Entwicklungsumgebung  Windows Azure einrichten  Architektur von Anwendungen in Windows Azure  SQL Azure  Call to Action!

demodemo Hello World in der DevFabric

DevFabrik Local Machine Windows Azure Simulation Environment Development Fabric Development Storage

DevStorage einrichten Speicherung in SQL Server Initialisierung mit DSInit Default: SQL Express SQL Server: dsInit /sqlInstance dsInit /sqlInstance.

Unterschied DevFabrik / Azure DevFabrik Debugging möglich Zugriff auf lokale Ressourcen des Computer (z.B. GAC, Filesystem, SQL Server, etc.) Logging im DevFabrik UI sichtbar Azure App läuft nicht als Admin Änderung der Anzahl an Instanzen oder Servicerestart möglich

Cloud Service hinzufügen

Agenda  Cloud – ist doch einfach nur Hosting, oder?  Die Windows Azure Cloud  Hello World – lokale Entwicklungsumgebung  Windows Azure einrichten  Architektur von Anwendungen in Windows Azure  SQL Azure  Call to Action!

demodemo Windows Azure Umgebung einrichten

Azure Testen

Windows Azure Management-Portal

Windows Azure Portal

Deploymentprozess

 Publish im VS auf Cloudprojekt erstellt Packagefile Configfile  Typen von Deployments In-place Upgrade VIP (Virtual IP) Swap Upgrade

Agenda  Cloud – ist doch einfach nur Hosting, oder?  Die Windows Azure Cloud  Hello World – lokale Entwicklungsumgebung  Windows Azure einrichten  Architektur von Anwendungen in Windows Azure  SQL Azure  Call to Action!

Windows Azure Roles

Rollen Mind. eine Rolle pro Service Web Role IIS 7, ASP.NET Ein HTTP und/oder ein HTTPS Endpoint (siehe.csdef-Datei) Worker Role Hintergrundverarbeitung Beliebige Anzahl an HTTP, HTTPS und/oder TCP Endpoints

 Warum kein „normales“ Dateisystem? Binärdaten in der Cloud

Temporäre Dateien (Code, 1/2)

Temporäre Dateien (Code, 2/2) var tempPath = string.Empty; if (RoleEnvironment.IsAvailable) { tempPath = RoleEnvironment.GetLocalResource( "TemporaryFiles“).RootPath; } Else { tempPath }

Binärdaten in der Cloud Große Binärdaten hierarchisch abgelegt Asynchrone Kommunikation Semistrukturierte Daten hochskalierbar

Blob Access (Code) public class CloudTemplateManager : TemplateManager { public override byte[] GetRegistrationConfirmationTemplate() { var blob = this.GetTemplateContainer().GetBlobReference("Anmeldebestaetigung.docx"); return blob.DownloadByteArray(); } public override void SendRegistration(Stream source, System.Guid registrationId) { var targetFileName = string.Format("Anmeldebestaetigung_{0}.docx", registrationId.ToString()); var blob = this.GetTemplateContainer().GetBlobReference(targetFileName); blob.UploadFromStream(source); } private CloudBlobContainer GetTemplateContainer() { CloudStorageAccount.SetConfigurationSettingPublisher((configName, configSetter) => { configSetter(RoleEnvironment.GetConfigurationSettingValue(configName)); }); var cloudStorageAccount = CloudStorageAccount.FromConfigurationSetting( "BlobStorageConnectionString"); var cloudBlobClient = cloudStorageAccount.CreateCloudBlobClient(); return cloudBlobClient.GetContainerReference("templates"); }

Queue Access (Code) CloudStorageAccount.SetConfigurationSettingPublisher((configName, configSetter) => { configSetter(RoleEnvironment.GetConfigurationSettingValue(configName)); }); var storageAccount = CloudStorageAccount.FromConfigurationSetting("BlobStorageConnectionString"); […] var queueStorage = storageAccount.CreateCloudQueueClient(); var queue = queueStorage.GetQueueReference("registrationqueue"); queue.CreateIfNotExist(); while (true) { var msg = queue.GetMessage(TimeSpan.FromSeconds(10)); if (msg != null) { Trace.WriteLine(msg.AsString); […] queue.DeleteMessage(msg); } else { Trace.WriteLine("No message, waiting..."); Thread.Sleep(1000); }

Aufteilung in Web und Worker  Komplexe, lang laufende Prozesse in den Hintergrund verlagern Sollte die Web-Anwendung nicht blockieren  Lösung: Worker Role im Hintergrund Bei uns: Generiert und verschickt Dokumente

C1C1 C1C1 C2C2 C2C2 Removing Poison Messages Producers Consumers P2P2 P2P2 P1P1 P1P GetMessage(Q, 30 s)  msg 2 1. GetMessage(Q, 30 s)  msg Quelle: Microsoft PDC

C1C1 C 1 C2C2 C2C2 Removing Poison Messages Producers Consumers P2P2 P2P2 P1P1 P1P GetMessage(Q, 30 s)  msg 2 3. C2 consumed msg 2 4. DeleteMessage(Q, msg 2) 7. GetMessage(Q, 30 s)  msg 1 1. GetMessage(Q, 30 s)  msg 1 5. C 1 crashed msg1 visible 30 s after Dequeue Quelle: Microsoft PDC

C1C1 C1C1 C2C2 C2C2 Removing Poison Messages Producers Consumers P2P2 P2P2 P1P1 P1P Dequeue(Q, 30 sec)  msg 2 3. C2 consumed msg 2 4. Delete(Q, msg 2) 7. Dequeue(Q, 30 sec)  msg 1 8. C2 crashed 1. Dequeue(Q, 30 sec)  msg 1 5. C 1 crashed 10. C1 restarted 11. Dequeue(Q, 30 sec)  msg DequeueCount > Delete (Q, msg1) msg1 visible 30s after Dequeue 9. msg1 visible 30s after Dequeue Quelle: Microsoft PDC

Konfigurationsinformationen

Konfiguration des Service XML Dateien Schema siehe MSDN us/library/dd aspx us/library/dd aspx

Konfigurationdaten lesen (Code) public static HelfenHelfenEventsEntities Create() { var connectionString = string.Empty; if (RoleEnvironment.IsAvailable) { connectionString = RoleEnvironment.GetConfigurationSettingValue( "ConnectionString"); } else { connectionString = ConfigurationManager.ConnectionStrings[ "HelfenHelfenEventsEntities"].ConnectionString; } return new HelfenHelfenEventsEntities(connectionString); }

Agenda  Cloud – ist doch einfach nur Hosting, oder?  Die Windows Azure Cloud  Hello World – lokale Entwicklungsumgebung  Windows Azure einrichten  Architektur von Anwendungen in Windows Azure  SQL Azure  Call to Action!

SQL Azure – Datenbank in der Cloud  SQL Server-Datenbank in der Cloud Gewohnter Zugriff über Tabular Data Stream  Höchst ausfallsicher im Microsoft Datacenter Immer 3 Replika einer DB vorhanden Aber max. Größe 10 GB, Transaktionsdauer < 5 Min.

SQL Azure

 Load Balancer Grundlegende Firewallfunktionen Erste Hürde für potentielle Angreifer Ordnet TDS Sitzung einem Gateway-Knoten zu  Gateway-Schicht Proxy- und Firewallfunktionen Verstehen TDS Statefull Packet Inspection Umleiten gewisser T-SQL Kommandos (z.B. CREATE DATABASE )  Data Store Spezielle Version von SQL Server 2008

Servermanagement Über das Portal Server Admin-User Firewall Über T-SQL ( master -Datenbank) Firewall sys.firewall_rules, sys.sp_set_firewall_rule, sys.sp_delete_firewall_rule Logins Create/Drop Databases Portal Master DB User DB

SQL Azure  Hinweise: Un-supported features: ASP.NET Membership Updated Scripts:  Tipp: Mit SQL Management Studio 2008 kein Object Explorer, nur Query Window Mit SQL 2008 R2 CTP auch Object Explorer

Security SQL Authentifizierung Beispiel: Neuer Benutzer über T-SQL -- connect to master with admin create login newUser with password = 'xaz' -- connect to db with admin where user should be granted rights create user newUser from login newUser -- grant rights (here: schema permissions) grant SELECT, INSERT, … ON schema :: to newUser User

Connections Latenzzeiten berücksichtigen Connections können abbrechen Idle Lange Transaktionen „Throttling“ DB Failover Achtung: Seit SP1 neue Rahmenbedingungen Siehe SQL Azure Team Blog

Empfehlungen aus der Praxis Kurze Transaktionen Connection Pooling Connections nicht lange offen halten Reconnect-Logik Z.B. 10 Sekunden warten, erneut probieren Batching Anzahl Statements reduzieren Parametrisierte Queries verwenden Volle Angabe aller Parameter (inkl. Längenangaben) Sharding (=Aufteilen der Daten auf mehrere DBs/Server) Replizieren (=Kopieren der Daten auf mehrere DBs/Server) Schemas für Multi Tenancy Systeme

Agenda  Cloud – ist doch einfach nur Hosting, oder?  Die Windows Azure Cloud  Hello World – lokale Entwicklungsumgebung  Windows Azure einrichten  Architektur von Anwendungen in Windows Azure  SQL Azure  Call to Action!

Windows Azure-Plattform – Preise  Instanz (Web/Worker) pro Stunde Kleine VM – € 0,0852 Mittlere VM – € 0,1703 Große VM – € 0,3405 Extragroße VM – € 0,6809  Blob/Queue/Table-Speicher € 0,1064/GB pro Monat € 0,0071/ Trn.  Web Edition Max. 1 GB/DB € 7,085/DB  Business Edition Max. 10 GB/DB € 70,913/DB Datentransfer: € 0,071/GB eingehend, € 0,1064/GB ausgehend

Zusammenfassung  Cloud Computing – eine weitere Option Starke Last/Ressourcen-Schwankungen Unvorhersehbare Ressourcen-Entwicklungen  Windows Azure-Plattform Die Cloud-Plattform von Microsoft Rechenleistung, Storage, RDBMS, Integration Teilweise oder komplett verwendbar

Nächste Schritte  Holen Sie sich den Windows Azure-SDK  Richten Sie Ihre Entwickler-Maschine ein  Machen Sie sich mit SLA und Preisen vertraut  Probieren Sie es einfach aus Windows Azure Introductionary Offer (bis Juli 2010) 25 Stunden Instanz-Betrieb pro Monat gratis 1 x 1 GB SQL Azure-Datenbank pro Monat gratis 500 MB Blob/Table/Queue Storage pro Monat gratis Achtung: nach Test alles löschen – Sonst beginnt die Verrechnung bei Überschreiten!!!

Q&A Unterstützt Azure.NET 4.0? Verstößt man bei Nutzung von Azure gegen ein Datenschutzgesetz? Update Kann unmanaged Code ausgeführt werden? Welche Programmiersprachen werden unterstützt? Welche Plattformen außer.NET werden noch unterstützt? Wie funktioniert Backup? Von der Public zur Private Cloud …

Ressourcen  Angebote, Preise, SLA, TCO  Entwicklungsumgebung  Wichtige Werkzeuge  Azure Training Kit

Azure – Ihre Entwickler-Maschine  Windows Azure Tools für Visual Studio  SQL Azure Sync Framework PowerPack  AppFabric SDK  Windows Azure Management Console  Azure Tutorial auf codefest.atcodefest.at

Rainer Stropek time cockpit / cubido business solutions gmbh Danke für Ihre Aufmerksamkeit und viel Spaß in der Cloud