28
Composite Applications 2.0 Aufbau von Software-plus- Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist Developer Platform and Strategy Group Microsoft Deutschland GmbH

Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist

Embed Size (px)

Citation preview

Page 1: Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist

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

Page 2: Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist

Agenda

• Anforderungen des Marktes• Definition von Software-plus-Services• Azure – Microsofts Cloud Plattform• Herausforderungen bei Software-plus-

Services Lösungen• Antworten mit Microsoft Azure

Page 3: Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist

Anforderungen des Marktes

Web 2.0 SOASaaS+ +

Geschäfts-modelle

ServicesMashups

Integration von

Internet-Diensten

BetriebUser Experience

Page 4: Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist

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

Page 5: Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist

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

Page 6: Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist

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)

Page 7: Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist

Azure™ Services Platform

Microsoft Infrastruktur (Rechenzentren etc.)

Partner Lösungen

Microsoft AzurePlattform für Partner- und Microsoft-Dienste

Page 8: Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist

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, …)

Page 9: Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist

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

Page 10: Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist

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

Page 11: Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist

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

Page 12: Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist

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

Page 13: Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist

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

Page 14: Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist

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“)

Page 15: Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist

DemoWindows Azure

Page 16: Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist

Zugriff auf Cloud Services

• Zugriff von verschiendenartigen Clients möglich• Lose Koppelung von Clients und Services• Anbindung über Standardschnittstellen

Page 17: Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist

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

Page 18: Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist

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

Page 19: Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist

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

Page 20: Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist

Default.aspx(Input)

Windows Azure Queues

LB

Worker.cs(Make Coffee)

Einsatz von Azure Queues

Page 21: Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist

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

Page 22: Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist

Beispiel: EchoService

Service A(Server)

Service B(Client)

Page 23: Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist

• 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

Page 24: Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist

DemoLive Mesh

Page 25: Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist

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

Page 26: Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist

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

Page 27: Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist

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/

Page 28: Composite Applications 2.0 Aufbau von Software-plus-Services Architekturen in der Praxis Holger Sirtl Architect Evangelist Dariusz Parys Developer Evangelist

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