Upload
hella-gerke
View
102
Download
0
Tags:
Embed Size (px)
Citation preview
Composite Applications 2.0Aufbau von Software-plus-Services
Architekturen in der Praxis
Holger SirtlArchitect Evangelist
Dariusz ParysDeveloper Evangelist
Developer Platform and Strategy GroupMicrosoft Deutschland GmbH
Agenda
• Anforderungen des Marktes• Definition von Software-plus-Services• Azure – Microsofts Cloud Plattform• Herausforderungen bei Software-plus-
Services Lösungen• Antworten mit Microsoft Azure
Anforderungen des Marktes
Web 2.0 SOASaaS+ +
Geschäfts-modelle
ServicesMashups
Integration von
Internet-Diensten
BetriebUser Experience
Betriebbei einem Dienstleis
ter
Software + ServicesLokal betriebene Software kombiniert mit Cloud Services
Betriebvor-Ort
Client
Server Services
Vor-OrtSoftware
CloudServices
• Flexible Konfiguration (Funktionalität)
• Vertrauen• Regularien• Unternehme
ns-kritische Anwendungen
• User Experience
• Verschiedene Endgeräte
• Offline-Fähigkeit
• Skalierbarkeit• Flexible
Bezahlung / alternative Bezahlmodelle
• Flexible Bereitstellung
• Kurze Time-to-Market
Betrieb bei einemHoster
Betrieb auf Azure
Software-plus-ServicesFlexibilität bei der Wahl des Betriebsmodells
Skaleneffekte
Möglichkeiten zu individuellen Anpassungen
Software Services
Betriebvor-Ort
• Eigene Hardware• Eigenes
Rechenzentrum
• Rechenzentrum des Hosters
• Spezifikation der Hardware
• Rechenzentren des Plattformanbieters
• Spezifikation von Service Leveln
Software in der CloudNeue Herausforderungen
• Eigenschaften der Cloud:– Scale-out
(Einsatz massiv-redundanterStandard-Hardware)
– Hardwarekomponenten können ausfallen(Ausfallsicherheit muss in die Software)
– Hohe Verfügbarkeitsanforderungen (24 x 7)
• Auswirkungen auf:– Softwarearchitektur– Softwareaktualisierungen– Betrieb
(Überwachung und Fehlersuche)
Azure™ Services Platform
Microsoft Infrastruktur (Rechenzentren etc.)
Partner Lösungen
Microsoft AzurePlattform für Partner- und Microsoft-Dienste
Betrieb bei einemHoster
Betrieb aufAzure
Software-plus-ServicesDurchgängigkeit der Microsoft Plattform
Skaleneffekte
Möglichkeiten zu individuellen Anpassungen
Software Services
Betriebvor-Ort
MS Live
MS Onlin
e
Kunden- und
Partner-lösungen
Kunden- und Partnerlösungen
Kunden- und Parterlösungen
Microsoft Application Platform(BizTalk Server, SQL Server, SharePoint Server, …)
Windows AzureBetriebssystem für die Cloud
• Gleiche Funktionalitäten, die ein Desktop-OS bietet, nur auf einer Menge vernetzter Server:–Ausführungsumgebung für Anwendungen–Dateisystem, das sich mehrere Anwendungen
teilen–Ressourcenzuordnung– Programmierumgebung
• Und darüber hinaus: Utility Computing– 24*7 Betrieb– “Pay for what you use”– Einfache, intuitive Administration
Entwicklung von Cloud Services
• In einer lokalen Entwicklungsumgebung(mit vollen Zugriff auf die Umgebung)– Entwicklung– Testen–Debugging
• In der Cloud Umgebung–Betrieb und Überwachung–Management und Konfiguration–Aktualisierungen
Softwareaktualisierung in der CloudAktualisierungen von Code und Datenschema• Herausforderung:–Rollback eines fehl-
geschlagenen Deploymentsist schwierig bis unmöglich
• Lösung:–Nur Code- oder nur Daten-
update–Versionsnummern im
Datenschema
CodeVn
SchemaVn
CodeVn
SchemaVn+1
CodeVn+1
SchemaVn
CodeVn+1
SchemaVn+1
Softwareaktualisierung in der CloudAktualisierungen ohne Downtime
• Herausforderung:– 24 x 7 Anforderungen
• Lösung:– Stop + Start, bei größeren
Änderungen oder wennDowntimes akzeptabel sind–Azure: Rolling Updates und
Staging-Umgebung
Stage Deployment
Production Deployment
Development
Betrieb von Cloud ServicesKonfigurierbares Logging und Tracing mit Alerts
• Herausforderung:– Kein direkter Zugriff auf die
Umgebung in der Cloud
• Lösung:– Separierung von Konfigurations-
informationen vom Code–Azure: Management Konsole
mit Möglichkeit zur Konfigurations-änderung zur Laufzeit
–Azure: Alerts
E-Mail IM SMS
Betrieb in der CloudDebugging und Fehlersuche
• Herausforderung:–Kein direkter Zugriff auf die
Umgebung in der Cloud
• Lösung:– Logging mit Informationen
zu Timestamp, Version, Umgebung, …
–Azure: Windows Azure SDK mit lokaler Testumgebung(„lokale Cloud“)
DemoWindows Azure
Zugriff auf Cloud Services
• Zugriff von verschiendenartigen Clients möglich• Lose Koppelung von Clients und Services• Anbindung über Standardschnittstellen
SQL ServicesDaten für die Cloud
• Datenbankdienste für die Cloud• Relationale Daten-
verarbeitung über strukturierte und unstrukturierte Daten• Aktuelle Dienste:– Datenbank,
Synchronisation
• Zukünftige Dienste:– Reporting, Data Mining,
ETL, Referenzdaten
Database Data Sync Reporting
Data Mining ETL Reference Data
Integration von Cloud Services
• Lose Koppelung von Services• Berücksichtigung des Ausfalls einzelner
Services• Authentifizierung über Services hinweg• Durchgängige User Experience für den
Anwender
Softwarearchitektur für die CloudUnzuverlässige Komponenten
• Herausforderung:–Komponenten können ausfallen
• Lösung:– Lose Koppelung–Vermeidung von „Shutdown“-Code– Einsatz von Queues für asynchrone
Aufrufe– .NET Services–Azure: Azure Queues
Default.aspx(Input)
Windows Azure Queues
LB
Worker.cs(Make Coffee)
Einsatz von Azure Queues
Service Bus Access Control
Workflow Services
.NET ServicesIntegration für die Cloud
• Erweiterung von.NET Technologien in die Cloud• Offene
Zugriffsstandards– REST, SOAP, RSS, …– Klassen für Java, PHP,
Ruby, …
• Fokus auf drei zentrale Herausforderungen bei verteilten Anwendungen:– Integration– Zugriffskontrolle– Orchestrierung
Beispiel: EchoService
Service A(Server)
Service B(Client)
• Identity: Anwender, Geräte, Anwendungen• Zugriff auf
Verzeichnisdienste• Kommunikation und
Präsenzinformation• Suche & ortsbezogene
Dienste• Verschiedene Geräte• Synchronisation
Live ServicesAnwendungsdienste für die Cloud
Directory Search & Geospacial
Identity Communication & Presence
Mesh Services
Users Devices Apps Sync
DemoLive Mesh
Software-plus-ServicesFlexibilität in der Architektur (Ausschnitt)
vor-Ort HosterCloud
PlattformHersteller
Skaleneffekte
Möglichkeiten zu individuellen Anpassungen
Software Services
Application Services
Client Software PC
Browser
Programmatic Access
RSS REST Web Services VoiceXML
Presentation
Static Dynamic RIA Streaming
Application
Entities (Schema)Business Logic (Rules)
SMTP SMSSIP
Workflow (Processes)
Office Client Gadgets IM
Mobile
Speech SMS/IM Browser Office Client
Embedded
Devices Consoles
Infrastructure Services Identity & AccessMessagingStorage Workflow
Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile Authentication Authorization
Software-plus-ServicesFlexibilität in der Architektur (Ausschnitt)
vor-Ort HosterCloud
PlattformHersteller
Skaleneffekte
Möglichkeiten zu individuellen Anpassungen
Software Services
Application Services
Client Software PC
Browser
Programmatic Access
RSS REST Web Services VoiceXML
Presentation
Static Dynamic RIA Streaming
Application
Entities (Schema)Business Logic (Rules)
SMTP SMSSIP
Workflow (Processes)
Office Client Gadgets IM
Mobile
Speech SMS/IM Browser Office Client
Embedded
Devices Consoles
Infrastructure Services Identity & AccessMessagingStorage Workflow
Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile Authentication Authorization
Get Started…
• Azure Homepagehttp://www.azure.com/
• Azure Services Platform Developer Centerhttp://msdn.microsoft.com/en-us/azure/
• PDC2008http://www.microsoftpdc.com/
• Mein Bloghttp://blogs.msdn.com/hsirtl/
Zusammenfassung
• Software-plus-Services kombiniert die Stärken lokaler Software mit Cloud Services• Die Microsoft-Plattform umfasst– eine On-premises Infrastruktur- und
Anwendungsplattform–Windows Azure als Betriebssystem für die Cloud–Cloud Services, die in eigene Anwendungen
integriert werden können–Wahlfreiheit des Deploymentmodells auf der
Ebene einzelner Architekturkomponenten