Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Microsoft Architects Forum Softwareentwurf unter Berücksichtigung betrieblicher Aspekte Jürgen Pfeifer Jürgen Pfeifer Architekturberater.

Ähnliche Präsentationen


Präsentation zum Thema: "Microsoft Architects Forum Softwareentwurf unter Berücksichtigung betrieblicher Aspekte Jürgen Pfeifer Jürgen Pfeifer Architekturberater."—  Präsentation transkript:

1 Microsoft Architects Forum Softwareentwurf unter Berücksichtigung betrieblicher Aspekte Jürgen Pfeifer Jürgen Pfeifer Architekturberater Developer Platform & Strategy Group Microsoft Deutschland GmbH

2 Microsoft Architects Forum 2 Agenda Worüber reden wir? Worüber reden wir? Roadmap zum Model-Based Management Roadmap zum Model-Based Management Was kann man heute schon tun? Was kann man heute schon tun? Fazit Fazit

3 Microsoft Architects Forum 3 Planung & Entwurf EntwicklungTestDeploymentBetrieb Betrieb Entwicklung Der Betrieb kennt die Anforderungen der Anwen- dung nicht hinreichend Entwickler verstehen die Regeln des Betriebs nicht hinreichend Andauernde Herausforderungen im IT Lebenszyklus Zunehmende Kommunikation und Aufmerksamkeit (Heute)

4 Microsoft Architects Forum 4 System Definition Model(Future) Entwicklung Betrieb Andauernde Herausforderungen im IT Lebenszyklus Entwickler verstehen die Regeln des Betriebs nicht hinreichend Der Betrieb kennt die Anforderungen der Anwen- dung nicht hinreichend Verteilte Systeme Planung & Entwurf EntwicklungTestDeploymentBetrieb

5 Microsoft Architects Forum 5 Einbeziehen des Betriebs vom Start an & Fortdauernd!! Entwicklung Betrieb PlanungPlanung Planung & Entwurf EntwicklungTestDeploymentBetrieb

6 Microsoft Architects Forum 6 Erkenntnisse Betriebsaspekte gehören von Anfang an in das Design und die Entwicklung Betriebsaspekte gehören von Anfang an in das Design und die Entwicklung Wichtigste Themen Wichtigste Themen Healthmodell Healthmodell Taskmodell für den Betrieb Taskmodell für den Betrieb Konfigurationsmodell Konfigurationsmodell Deployment Deployment

7 Microsoft Architects Forum 7 Agenda Worüber reden wir? Worüber reden wir? Roadmap zum Model-Based Management Roadmap zum Model-Based Management Was kann man heute schon tun? Was kann man heute schon tun? Fazit Fazit

8 Microsoft Architects Forum 8 Welche Richtung nimmt Microsoft? Windows Server System Infrastructure Environment Windows Server System Infrastructure Environment Operational Excellence mit MOF Operational Excellence mit MOF Patterns and Practices für die Anwendungsentwicklung Patterns and Practices für die Anwendungsentwicklung Dynamic Systems Initiative (DSI) Dynamic Systems Initiative (DSI) Formalisierung wesentlicher Übergänge zwischen Entwicklung und Betrieb durch das System Definition Model (SDM) Formalisierung wesentlicher Übergänge zwischen Entwicklung und Betrieb durch das System Definition Model (SDM)

9 Microsoft Architects Forum 9 System Definition Model System Definition Model (SDM) ist eine Modellierungssprache (DSL) zur Beschreibung des Modelles eines Systems welches alle für das Deployment und den fortlaufenden Betrieb erforder-lichen Informationen enthält. System Definition Model (SDM) ist eine Modellierungssprache (DSL) zur Beschreibung des Modelles eines Systems welches alle für das Deployment und den fortlaufenden Betrieb erforder-lichen Informationen enthält. Ein SDM-Modell eines Systems ist seine lebende Blaupause. Es umfasst Ein SDM-Modell eines Systems ist seine lebende Blaupause. Es umfasst Struktur des Systems (Komponenten) Struktur des Systems (Komponenten) Beziehungen zwischen den Komponenten des Systems Beziehungen zwischen den Komponenten des Systems Formulierung von Beschränkungen (Prinzipien, Policies) Formulierung von Beschränkungen (Prinzipien, Policies) Betriebliche Tasks die auf dem System ausgeführt werden können Betriebliche Tasks die auf dem System ausgeführt werden können SDM-basierte Deployment- und Betriebswerkzeuge manipulieren das Modell und nicht das reale System SDM-basierte Deployment- und Betriebswerkzeuge manipulieren das Modell und nicht das reale System Modell Reales System

10 Microsoft Architects Forum 10 Model-Based Management Reales System 3. Model Updated System Administrator 1. Model Update Request 2. Validate Update Request 4. Adapter aktualisieren das reale System SDM Service SDM Model

11 Microsoft Architects Forum 11 Agenda Worüber reden wir? Worüber reden wir? Roadmap zum Model-Based Management Roadmap zum Model-Based Management Was kann man heute schon tun? Was kann man heute schon tun? Fazit Fazit

12 Microsoft Architects Forum 12 Tolle Roadmap! Was tue ich heute? DSI und SDM sind Bestandteil einer langfristig angelegten Roadmap DSI und SDM sind Bestandteil einer langfristig angelegten Roadmap Gehen über die Longhorn Planungen hinaus (d.h. wir reden hier über das Ende dieses Jahrzehnts) Gehen über die Longhorn Planungen hinaus (d.h. wir reden hier über das Ende dieses Jahrzehnts) Frage: was kann man heute sinnvoll tun um Betriebsaspekte so in der Entwicklung zu berücksichtigen dass man sich leichter in die Roadmap integrieren kann. Frage: was kann man heute sinnvoll tun um Betriebsaspekte so in der Entwicklung zu berücksichtigen dass man sich leichter in die Roadmap integrieren kann. Antwort: Antwort: Microsoft implementiert SDM schrittweise Microsoft implementiert SDM schrittweise Handlungsempfehlungen Handlungsempfehlungen

13 Microsoft Architects Forum 13 Problemlösung: Kommunikation und Strukturen EntwicklungBetriebKommunikation Struktur (Komponenten und Beziehungen) Einschränkungen (Basierend auf Prinzipien, Policies und Service Level) Healthmodell Taskmodell Konfigurationsmodell SDM

14 Microsoft Architects Forum 14 Struktur: Komponenten und Beziehungen Monitoring Server Router/ Firewall 100 Mbps Switch Web Server 4 Web Server 3 Web Server 2 Web Server 1 Order Processing Server (with message queue, payment component, and SMTP) Admin Server (with Domain Controller & DNS) Database Server 1 Disk Array Database Server 2 Active Directory Domain Controller (with DNS) Wie sieht die momentane Topologie des Netzwerkes und der Server aus? Wie sieht die momentane Topologie des Netzwerkes und der Server aus? Gibt es Anforderungen zur funktionalen Trennung? Gibt es Anforderungen zur funktionalen Trennung? Z.B.: Datenbanken müssen physikalisch vom Webserver getrennt sein Z.B.: Datenbanken müssen physikalisch vom Webserver getrennt sein Wenn ja, welche Auswirkungen auf Authentifizierung und Sicherheits-Kontexte der Anwendung hat das? Wenn ja, welche Auswirkungen auf Authentifizierung und Sicherheits-Kontexte der Anwendung hat das? Welche Einschränkungen gibt es zwischen den Servern die die Anwendung benutzt? Welche Einschränkungen gibt es zwischen den Servern die die Anwendung benutzt? Ports, Verschlüsselung, Authentifizierung, etc. Ports, Verschlüsselung, Authentifizierung, etc. Struktur (Komponenten und Beziehungen) Einschränkungen (Basierend auf Prinzipien, Policies und Service Level) Healthmodell Taskmodell Konfigurationsmodell

15 Microsoft Architects Forum 15 Struktur (Komponenten und Beziehungen) Einschränkungen (Basierend auf Prinzipien, Policies und Service Level) Healthmodell Taskmodell Konfigurationsmodell Einschränkungen: Prinzipien, Policies und SLAs Welche Sicherheitsprinzipien existieren? Welche Sicherheitsprinzipien existieren? Beispiele: Beispiele: Prinzip des Zugriff mit möglichst niedrigen Berechtigungen Prinzip des Zugriff mit möglichst niedrigen Berechtigungen Prinzip des Zugriffs über unprivilegierte Ports Prinzip des Zugriffs über unprivilegierte Ports Bedrohungsmodelle und Risikoabschätzungen Bedrohungsmodelle und Risikoabschätzungen Verschlüsselte Übertragung von Benutzername/Passwort Verschlüsselte Übertragung von Benutzername/Passwort Welche Betriebsprinzipien existieren? Welche Betriebsprinzipien existieren? Welche Werkzeuge/Technologien werden für das Monitoring/Management der Anwendungen eingesetzt? Welche Werkzeuge/Technologien werden für das Monitoring/Management der Anwendungen eingesetzt? Welche spezifischen Anforderungen muss eine Anwendung erfüllen damit sie überwacht/verwaltet werden kann? Welche spezifischen Anforderungen muss eine Anwendung erfüllen damit sie überwacht/verwaltet werden kann? Organisatorische Standards Organisatorische Standards Beispiele: Beispiele: Nur TCP/IP wird benutzt Nur TCP/IP wird benutzt Nur Anwendungen in Managed Code sind erlaubt Nur Anwendungen in Managed Code sind erlaubt

16 Microsoft Architects Forum 16 Service Level Agreements (SLAs) Kontinuität der Dienste Kontinuität der Dienste Wartungszeiten einplanen Wartungszeiten einplanen Verfügbarkeit Verfügbarkeit Was darf es kosten? Was darf es kosten? Clustering Clustering Performance Performance Was sind die relevanten Metriken? Was sind die relevanten Metriken? Was wird wie gemessen? Was wird wie gemessen? Begrenzungen der Infrastruktur berücksichtigen Begrenzungen der Infrastruktur berücksichtigen Bandbreiten, Latenzzeiten Bandbreiten, Latenzzeiten Einschränkungen: Prinzipien, Policies und SLAs (Forts.) Struktur (Komponenten und Beziehungen) Einschränkungen (Basierend auf Prinzipien, Policies und Service Level) Healthmodell Taskmodell Konfigurationsmodell

17 Microsoft Architects Forum 17 Entwurf eines Healthmodelles Definition potentieller Fehler Definition potentieller Fehler Wie werden diese entdeckt, diagnostiziert und behoben? Wie werden diese entdeckt, diagnostiziert und behoben? Szenarien zusammen mit dem Betrieb durchspielen und das Modell darauf anwenden. Szenarien zusammen mit dem Betrieb durchspielen und das Modell darauf anwenden. Strukturiertes Modell für Events und Eventlog Strukturiertes Modell für Events und Eventlog Definition und Bereitstellung relevanter Performancezähler Definition und Bereitstellung relevanter Performancezähler Erstellung eines WMI Provider für die Anwendung Erstellung eines WMI Provider für die Anwendung Verwenden Sie das Enterprise Instrumentation Framework (EIF) Verwenden Sie das Enterprise Instrumentation Framework (EIF) Erstellung eines Microsoft Operations Manager (MOM) Management Pack (wenn MOM verwendet wird) Erstellung eines Microsoft Operations Manager (MOM) Management Pack (wenn MOM verwendet wird) Definition aller Komponenten und deren Beziehungen Definition aller Komponenten und deren Beziehungen Verwendung der Patterns & Practices Application Blocks Verwendung der Patterns & Practices Application Blocks Feedback des Betriebs für kontinuierliche Verfeinerung Feedback des Betriebs für kontinuierliche Verfeinerung Struktur (Komponenten und Beziehungen) Einschränkungen (Basierend auf Prinzipien, Policies und Service Level) Healthmodell Taskmodell Konfigurationsmodell

18 Microsoft Architects Forum 18 Was ist WMI? Windows Management Instrumentation ist Microsofts Implementierung von zwei Industrie- Standards Windows Management Instrumentation ist Microsofts Implementierung von zwei Industrie- Standards CIM (Common Information Model) CIM (Common Information Model) WBEM (Web Based Enterprise Management) WBEM (Web Based Enterprise Management) Fast alle Microsoft Produkte nutzen WMI (W2K, W2K3, XP, Driver, Server Products,.NET Runtime etc.) Fast alle Microsoft Produkte nutzen WMI (W2K, W2K3, XP, Driver, Server Products,.NET Runtime etc.) WMI ist eine Kerntechnologie unserer Management Tools (MOM, SMS, Application- Center) WMI ist eine Kerntechnologie unserer Management Tools (MOM, SMS, Application- Center)

19 Microsoft Architects Forum 19 WMI - Architektur Instrumentation (providers) InstrumentedApplications Devices OS (Win32) Consumers (clients) Admin tools/ scripts Other apps Management apps Management Services Management Schema Catalog Infrastructure

20 Microsoft Architects Forum 20 CoreSchema System DB Network Device Other Apps MaxNumberControlled:UINT32 ProtocolSupported:UINT16 TimeOfLastReset:DATETIME CIM_Controller Manufacturer:STRING Win32_InfraredDevice ControllerTimeouts:UINT32 MaxDataWidth:UINT32 MaxTransferRate:UINT64 ProtectionManagement:UINT16 CIM_SCSIController DeviceMap:STRING DriverName:STRING HardwareVersion:STRING Index:UINT32 Manufacturer:STRING Win32_SCSIController CIM_InfraredController CIM Datenmodell CIMV2 namespace CIMV2 namespace ~600 Klassen ~600 Klassen ~3000 Eigenschaften ~3000 Eigenschaften

21 Microsoft Architects Forum 21 WMI.NET Entwurfsziele Native.NET Instrumentierung Native.NET Instrumentierung Reduzieren der Lernkurve für das CIM Objektmodell Reduzieren der Lernkurve für das CIM Objektmodell Dramatische Vereinfachung der Instrumentierung von.NET Anwendungen Dramatische Vereinfachung der Instrumentierung von.NET Anwendungen.NET-zentrisches Instrumentierungsmodell.NET-zentrisches Instrumentierungsmodell Einfaches Interface für die Veröffentlichung von Events Einfaches Interface für die Veröffentlichung von Events.NET Client-Zugriff auf WMI Provider (managed und unmanaged).NET Client-Zugriff auf WMI Provider (managed und unmanaged)

22 Microsoft Architects Forum 22 Demo Instrumentierung von Anwendungen unter.NET (System.Management Namespace)

23 Microsoft Architects Forum 23 Enterprise Instrumentation Framework Vereinheitlichtes API für Instrumentatierung Vereinheitlichtes API für Instrumentatierung Einzeiler für das Feuern von Events für Tracing, Eventing und Logging Einzeiler für das Feuern von Events für Tracing, Eventing und Logging Nutzt WMI Infrastruktur (System.Management.Instrumentation) Nutzt WMI Infrastruktur (System.Management.Instrumentation) Strukturiertes WMI Eventschema Strukturiertes WMI Eventschema Gemeinsame Manageability Basis zwischen Entwicklung, QA und Betrieb Gemeinsame Manageability Basis zwischen Entwicklung, QA und Betrieb Konfigurierbares Event Filtering Konfigurierbares Event Filtering Feuern via WMI, Event Log, Windows Event Trace Feuern via WMI, Event Log, Windows Event Trace Minimaler Overhead für die Anwendung von Instrumentierung in einer Produktionsumgebung Minimaler Overhead für die Anwendung von Instrumentierung in einer Produktionsumgebung Highspeed Diagnostic Tracing Highspeed Diagnostic Tracing Ermöglicht Fehlersuche im Produktionsbetrieb Ermöglicht Fehlersuche im Produktionsbetrieb Ermöglicht das Tracing von Benutzeraktionen über verschiedene Schichten in einer verteilten Anwendung hinweg. Ermöglicht das Tracing von Benutzeraktionen über verschiedene Schichten in einer verteilten Anwendung hinweg.

24 Microsoft Architects Forum 24 Distributed.NET Application Application Server Event Source Event Routing WMI Event Trace Event Log Trace Logs Event Log WMI Subscribers Trace Reader Event Source Event Routing WMI Event Trace Event Log Trace Logs Event Log WMI Subscribers Trace Reader Management Server EIF Logische Architektur Management Suite Mgmt Event Repository SQL Trace Event Repository

25 Microsoft Architects Forum 25 Entwurf eines Taskmodelles Tasks sind Aktionen die Administratoren ausführen Tasks sind Aktionen die Administratoren ausführen Heute werden Tasks Heute werden Tasks mittels GUI oder Kommandozeile (CLI) ausgeführt mittels GUI oder Kommandozeile (CLI) ausgeführt oft inkonsistente Nutzung zwischen GUI und CLI oft inkonsistente Nutzung zwischen GUI und CLI verwendet mit geringem Automatisierungsgrad verwendet mit geringem Automatisierungsgrad Manche Tools funktionieren nur lokal, andere auch remote. Manche Tools funktionieren nur lokal, andere auch remote. Struktur (Komponenten und Beziehungen) Einschränkungen (Basierend auf Prinzipien, Policies und Service Level) Healthmodell Taskmodell Konfigurationsmodell

26 Microsoft Architects Forum 26 Taskmodelle Zielsetzung Microsoft: Betriebsystem und Serverprodukte sollen zu 100% Task-based, d.h. über Skript verwaltbar sein Zielsetzung Microsoft: Betriebsystem und Serverprodukte sollen zu 100% Task-based, d.h. über Skript verwaltbar sein Mit Windows Server 2003 und den aktuellen Serverprodukten schon sehr weitgehend erreicht Mit Windows Server 2003 und den aktuellen Serverprodukten schon sehr weitgehend erreicht Neue Shell ist in Entwicklung (Microsoft Shell MSH, Codename Monad) Neue Shell ist in Entwicklung (Microsoft Shell MSH, Codename Monad) Übernimmt Konzepte von UNIX und VMS Übernimmt Konzepte von UNIX und VMS Erweitert diese Konzepte mit OO Konzepten Erweitert diese Konzepte mit OO Konzepten Vollständig.NET 2.0 basiert Vollständig.NET 2.0 basiert

27 Microsoft Architects Forum 27 Demo Ein kurzer Blick auf die zukünftige Microsoft Shell (Codename: Monad)

28 Microsoft Architects Forum 28 Entwurf eines Konfigurationsmodelles Konfigurationen sind Konfigurationen sind Anwendungs-, Benutzer- oder Computerspezifisch Anwendungs-, Benutzer- oder Computerspezifisch an unterschiedlichen Stellen auf dem Rechner gespeichert an unterschiedlichen Stellen auf dem Rechner gespeichert Registry, Dateien, Active Directory, SQL, etc. Registry, Dateien, Active Directory, SQL, etc. oftmals etwas geheimnisvoll oftmals etwas geheimnisvoll was sind die gültigen Werte? was sind die gültigen Werte? was ist der Standardwert? was ist der Standardwert? wann wurde der Wert zuletzt geändert? wann wurde der Wert zuletzt geändert? was war der vorherige Wert? was war der vorherige Wert? wer hat den Wert geändert? wer hat den Wert geändert? Struktur (Komponenten und Beziehungen) Einschränkungen (Basierend auf Prinzipien, Policies und Service Level) Healthmodell Taskmodell Konfigurationsmodell

29 Microsoft Architects Forum 29 Konfigurationsmodell Unterstützung durch Patterns&Practices Unterstützung durch Patterns&Practices Configuration Management Application Block Configuration Management Application Block Vereinheitlichter Ansatz zur Verwaltung von Konfigurationsdaten Vereinheitlichter Ansatz zur Verwaltung von Konfigurationsdaten Konfigurierbare Speicherorte für Konfigurationen Konfigurierbare Speicherorte für Konfigurationen Sichere Speicherung sensibler Konfigurationsdaten Sichere Speicherung sensibler Konfigurationsdaten Zukunft Zukunft Windows stellt Managementfunktionen für Konfigurationsdaten bereit Windows stellt Managementfunktionen für Konfigurationsdaten bereit Anwendungen stellen deklarativ Konfigurationsschema bereit Anwendungen stellen deklarativ Konfigurationsschema bereit

30 Microsoft Architects Forum 30 Deployment Führen Sie einen Release Readiness Review durch Führen Sie einen Release Readiness Review durch Erstellen Sie einen Deployment-Plan der von Entwicklung und Betrieb getragen wird Erstellen Sie einen Deployment-Plan der von Entwicklung und Betrieb getragen wird Deploymentprozess Deploymentprozess Welche Tools werden benutzt? Welche Tools werden benutzt? Brauchen die Tools spezielle Ports? Brauchen die Tools spezielle Ports? Welche Zugriffsrechte werden benötigt? Welche Zugriffsrechte werden benötigt?

31 Microsoft Architects Forum 31 Deployment- Was Was ist Gegenstand des Deployment Was ist Gegenstand des Deployment ASPX or ASMX files (and the associated compiled project DLL) ASPX or ASMX files (and the associated compiled project DLL) A database (or databases) A database (or databases) Private assemblies Private assemblies Shared assemblies that reside in the global assembly cache Shared assemblies that reside in the global assembly cache Legacy COM components Legacy COM components Serviced components (COM+) Serviced components (COM+) Specific Internet Information Services (IIS) settings Specific Internet Information Services (IIS) settings MessageQueue components MessageQueue components EventLog components EventLog components PerformanceCounter components PerformanceCounter components Other resources that need to be installed on the target computer Other resources that need to be installed on the target computer

32 Microsoft Architects Forum 32 Deployment Strategies XCopy XCopy Einfach zu nutzen für einfache Anwendungen oder Web-Services Einfach zu nutzen für einfache Anwendungen oder Web-Services No-touch No-touch Nur für Client Nur für Client Windows Installer Windows Installer Komplexe Lösungen Komplexe Lösungen GUI Installationsprogramm GUI Installationsprogramm Integration mit Systemsteuerung Integration mit Systemsteuerung Unterstützt auch stille Installationen Unterstützt auch stille Installationen Rollback möglich Rollback möglich

33 Microsoft Architects Forum 33 Deployment – VS2005 Designer-Unterstützung für das Deployment Designer-Unterstützung für das Deployment System Definition Model System Definition Model Validierung des Designs gegen System- anforderungen Validierung des Designs gegen System- anforderungen Statische Pre-Compilierung von ASP.NET Statische Pre-Compilierung von ASP.NET ClickOnce Deployment für Clients ClickOnce Deployment für Clients

34 Microsoft Architects Forum 34 Dynamic Systems Initiative Distributed Service Designer Logical Systems Architecture Designer

35 Microsoft Architects Forum 35 Demo SDM Designer für verteilte Systeme (Whitehorse) in Visual Studio 2005Whitehorse

36 Microsoft Architects Forum 36 Agenda Worüber reden wir? Worüber reden wir? Roadmap zum Model-Based Management Roadmap zum Model-Based Management Was kann man heute schon tun? Was kann man heute schon tun? Fazit Fazit

37 Microsoft Architects Forum 37 Handlungsempfehlungen Verstärkung der Kommunikation zwischen Entwicklung und Betrieb Verstärkung der Kommunikation zwischen Entwicklung und Betrieb Binden Sie den Betrieb frühzeitig in die Planung und das Design ein Binden Sie den Betrieb frühzeitig in die Planung und das Design ein Beginnen Sie mit der Erstellung von Health-, Task- und Konfigurationsmodellen… nutzen Sie dafür das Design for Operations Whitepaper. Beginnen Sie mit der Erstellung von Health-, Task- und Konfigurationsmodellen… nutzen Sie dafür das Design for Operations Whitepaper. Erstellen Sie MOM Management Pakete p.mspx Erstellen Sie MOM Management Pakete p.mspx p.mspx p.mspx Nutzen Sie das Microsoft Operations Framework Nutzen Sie das Microsoft Operations Framework Nutzen Sie die Windows Server System Reference Architecture Nutzen Sie die Windows Server System Reference Architecture Nutzen Sie Patterns and Practices Nutzen Sie Patterns and Practices

38 Microsoft Architects Forum 38 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

39 Microsoft Architects Forum 39

40 Microsoft Architects Forum 40 Host ToolBox ConfigurationSettingsEditor Zone Zone End Point IIS Web Site IIS Web Server Http Client End point Zone End Point

41 Microsoft Architects Forum 41 ConstraintEditor

42 Microsoft Architects Forum 42 Validation Errors Integrated in task list <


Herunterladen ppt "Microsoft Architects Forum Softwareentwurf unter Berücksichtigung betrieblicher Aspekte Jürgen Pfeifer Jürgen Pfeifer Architekturberater."

Ähnliche Präsentationen


Google-Anzeigen