Softwareentwurf unter Berücksichtigung betrieblicher

Werbung
Softwareentwurf unter
Berücksichtigung
betrieblicher Aspekte
Jürgen Pfeifer <[email protected]>
Architekturberater
Developer Platform & Strategy Group
Microsoft Deutschland GmbH
Microsoft Architects Forum
Agenda




2
Worüber reden wir?
Roadmap zum „Model-Based Management“
Was kann man heute schon tun?
Fazit
Microsoft Architects Forum
Andauernde Herausforderungen im IT Lebenszyklus
Entwickler verstehen
die Regeln des
Betriebs nicht
hinreichend
Der Betrieb kennt die
Anforderungen der Anwendung nicht hinreichend
Zunehmende
Kommunikation und
Aufmerksamkeit
(Heute)
Entwicklung
Planung &
Entwurf
3
Entwicklung
Betrieb
Test
Deployment
Betrieb
Microsoft Architects Forum
Andauernde Herausforderungen im IT Lebenszyklus
Entwickler verstehen
die Regeln des
Betriebs nicht
hinreichend
Verteilte Systeme
System
Definition
Model
(Future)
Entwicklung
Planung &
Entwurf
4
Entwicklung
Der Betrieb kennt die
Anforderungen der Anwendung nicht hinreichend
Betrieb
Test
Deployment
Betrieb
Microsoft Architects Forum
Planung
Einbeziehen des Betriebs vom Start
an & Fortdauernd!!
Entwicklung
Planung &
Entwurf
5
Entwicklung
Betrieb
Test
Deployment
Betrieb
Microsoft Architects Forum
Erkenntnisse
 Betriebsaspekte gehören von Anfang an in
das Design und die Entwicklung
 Wichtigste Themen




6
Healthmodell
Taskmodell für den Betrieb
Konfigurationsmodell
Deployment
Microsoft Architects Forum
Agenda




7
Worüber reden wir?
Roadmap zum „Model-Based Management“
Was kann man heute schon tun?
Fazit
Microsoft Architects Forum
Welche Richtung nimmt
Microsoft?

Windows Server System Infrastructure
Environment
 Operational Excellence mit MOF
 Patterns and Practices für die
Anwendungsentwicklung

Dynamic Systems Initiative (DSI)

8
Formalisierung wesentlicher Übergänge zwischen
Entwicklung und Betrieb durch das “System Definition
Model” (SDM)
Microsoft Architects Forum
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.
Ein SDM-Modell eines Systems ist seine lebende Blaupause.
Es umfasst





Struktur des Systems (Komponenten)
Beziehungen zwischen den Komponenten des Systems
Formulierung von Beschränkungen (Prinzipien, Policies)
Betriebliche Tasks die auf dem System ausgeführt werden können
SDM-basierte Deployment- und Betriebswerkzeuge
manipulieren das Modell und nicht das reale System
Modell
9
Reales System
Microsoft Architects Forum
Model-Based Management
SDM Service
1. Model Update
Request
Reales System
SDM Model
System
Administrator
2. Validate Update
Request
4. Adapter aktualisieren
das reale System
3. Model
Updated
10
Microsoft Architects Forum
Agenda




11
Worüber reden wir?
Roadmap zum „Model-Based Management“
Was kann man heute schon tun?
Fazit
Microsoft Architects Forum
Tolle Roadmap! Was tue ich
heute?
 DSI und SDM sind Bestandteil einer
langfristig angelegten Roadmap



12
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.
Antwort:
 Microsoft implementiert SDM schrittweise
 Handlungsempfehlungen
Microsoft Architects Forum
Problemlösung: Kommunikation und Strukturen
Entwicklung
Betrieb
Kommunikation
Struktur
(Komponenten und Beziehungen)
SDM
Einschränkungen
(Basierend auf Prinzipien, Policies und Service Level)
Healthmodell
Taskmodell
Konfigurationsmodell
13
Microsoft Architects Forum
Struktur: Komponenten und Beziehungen
Struktur
(Komponenten und Beziehungen)
Einschränkungen
(Basierend auf Prinzipien, Policies und Service Level)
Healthmodell
Taskmodell
Konfigurationsmodell



Router/
Firewall


Controller & DNS)
Z.B.: Datenbanken müssen physikalisch vom
Web Server
1
Webserver
getrennt
sein
Wenn ja, welche Auswirkungen auf Authentifizierung und
Sicherheits-Kontexte
der Anwendung hat das?
Database
Web Server 2
Server 1
Welche
Einschränkungen gibt es zwischen den
100 Mbps
Switch
Servern die
die Anwendung
benutzt?
Web Server
3
Disk

Ports, Verschlüsselung, Authentifizierung, etc.
Web Server 4
14
Active Directory
Domain Controller
(with DNS)
Wie
sieht die momentane Topologie des
Monitoring
Server
Netzwerkes
und der Server aus?
Admin Server
Gibt es Anforderungen zur funktionalen Trennung?
(with Domain
Order Processing Server (with
message queue, payment
component, and SMTP)
Array
Database
Microsoft
Server 2Architects Forum
Einschränkungen: Prinzipien,
Policies und SLAs
Struktur
(Komponenten und Beziehungen)
Einschränkungen
(Basierend auf Prinzipien, Policies und Service Level)
Healthmodell

Welche Sicherheitsprinzipien existieren?

Taskmodell
Beispiele:
Konfigurationsmodell
Prinzip des Zugriff mit möglichst
niedrigen Berechtigungen

Prinzip des Zugriffs über unprivilegierte Ports

Bedrohungsmodelle und Risikoabschätzungen

Verschlüsselte Übertragung von Benutzername/Passwort
Welche Betriebsprinzipien existieren?

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?
Organisatorische Standards

Beispiele:

Nur TCP/IP wird benutzt

Nur Anwendungen in Managed Code sind erlaubt



15
Microsoft Architects Forum
Einschränkungen: Prinzipien,
Policies und SLAs (Forts.)
Struktur
(Komponenten und Beziehungen)
Einschränkungen
(Basierend auf Prinzipien, Policies und Service Level)
Service Level Agreements (SLAs)
 Kontinuität der Dienste

Healthmodell
Taskmodell
Konfigurationsmodell
Wartungszeiten einplanen
 Verfügbarkeit
 Was darf es kosten?
 Clustering
 Performance
 Was sind die relevanten Metriken?
 Was wird wie gemessen?
 Begrenzungen der Infrastruktur berücksichtigen
16
•
Bandbreiten, Latenzzeiten
Microsoft Architects Forum
Entwurf eines Healthmodelles

Definition potentieller Fehler










17
Wie werden diese entdeckt,
diagnostiziert und behoben?
Szenarien zusammen mit dem Betrieb
durchspielen und das Modell darauf
anwenden.
Struktur
(Komponenten und Beziehungen)
Einschränkungen
(Basierend auf Prinzipien, Policies und Service Level)
Healthmodell
Taskmodell
Konfigurationsmodell
Strukturiertes Modell für Events und Eventlog
Definition und Bereitstellung relevanter Performancezähler
Erstellung eines WMI Provider für die Anwendung
Verwenden Sie das Enterprise Instrumentation Framework
(EIF)
Erstellung eines Microsoft Operations Manager (MOM)
Management Pack (wenn MOM verwendet wird)
Definition aller Komponenten und deren Beziehungen
Verwendung der Patterns & Practices “Application Blocks”
Feedback des Betriebs für kontinuierliche Verfeinerung
Microsoft Architects Forum
Was ist WMI?

Windows Management Instrumentation ist
Microsofts Implementierung von zwei IndustrieStandards


CIM (Common Information Model)
WBEM (Web Based Enterprise Management)

Fast alle Microsoft Produkte nutzen WMI (W2K,
W2K3, XP, Driver, Server Products, .NET Runtime
etc.)
 WMI ist eine Kerntechnologie unserer
Management Tools (MOM, SMS, ApplicationCenter)
18
Microsoft Architects Forum
WMI - Architektur
Consumers
(clients)
Admin tools/
scripts
Management
apps
Other apps
Management Schema
Catalog
Infrastructure
Management Services
Instrumentation Instrumented
(providers)
Applications
19
OS (Win32)
Devices
Microsoft Architects Forum
CIM Datenmodell
CIM_Controller
System
Apps
MaxNumberControlled:UINT32
ProtocolSupported:UINT16
TimeOfLastReset:DATETIME
DB
Core
Schema
Other
Network
CIM_InfraredController
CIM_SCSIController
ControllerTimeouts:UINT32
MaxDataWidth:UINT32
MaxTransferRate:UINT64
ProtectionManagement:UINT16
Device
Win32_InfraredDevice
 CIMV2 namespace
 ~600 Klassen
 ~3000 Eigenschaften
20
Manufacturer:STRING
Win32_SCSIController
DeviceMap:STRING
DriverName:STRING
HardwareVersion:STRING
Index:UINT32
Manufacturer:STRING
Microsoft Architects Forum
WMI.NET Entwurfsziele
 Native .NET Instrumentierung
 Reduzieren der Lernkurve für das CIM
Objektmodell
 Dramatische Vereinfachung der
Instrumentierung von .NET Anwendungen


.NET-zentrisches Instrumentierungsmodell
Einfaches Interface für die Veröffentlichung
von Events
 .NET Client-Zugriff auf WMI Provider
(managed und unmanaged)
21
Microsoft Architects Forum
Instrumentierung von
Anwendungen unter .NET
(System.Management Namespace)
Demo
22
Microsoft Architects Forum
Enterprise Instrumentation
Framework

Vereinheitlichtes API für Instrumentatierung



Strukturiertes WMI Eventschema



Feuern via WMI, Event Log, Windows Event Trace
Minimaler Overhead für die Anwendung von Instrumentierung in
einer Produktionsumgebung
Highspeed Diagnostic Tracing


23
Gemeinsame Manageability Basis zwischen Entwicklung, QA
und Betrieb
Konfigurierbares Event Filtering


“Einzeiler” für das Feuern von Events für Tracing, Eventing und
Logging
Nutzt WMI Infrastruktur (System.Management.Instrumentation)
Ermöglicht Fehlersuche im Produktionsbetrieb
Ermöglicht das Tracing von Benutzeraktionen über
verschiedene Schichten in einer verteilten Anwendung hinweg.
Microsoft Architects Forum
EIF Logische Architektur
Application Server
Application Server
Distributed .NET Application
Event Source
Event Source
Event Source
Event Routing
Event
Trace
WMI
WMI
Subscribers
Trace
Logs
Event Source
Event Routing
Event
Log
WMI
Event
Log
WMI
Subscribers
Trace
Reader
Event
Trace
Trace
Logs
Event
Log
Event
Log
Trace
Reader
Management Server
Management Suite
Mgmt Event
Repository
24
SQL
Trace Event
Repository
Microsoft Architects Forum
Entwurf eines Taskmodelles
Struktur
(Komponenten und Beziehungen)
Einschränkungen
(Basierend auf Prinzipien, Policies und Service Level)
 Tasks sind Aktionen die
Administratoren ausführen
 Heute werden Tasks


Healthmodell
Taskmodell
Konfigurationsmodell
mittels GUI oder Kommandozeile (CLI) ausgeführt
 oft inkonsistente Nutzung zwischen GUI und CLI
verwendet mit geringem Automatisierungsgrad
 Manche Tools funktionieren nur lokal, andere auch
remote.
25
Microsoft Architects Forum
Taskmodelle
 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
 Neue Shell ist in Entwicklung (Microsoft
Shell MSH, Codename „Monad“)



26
Übernimmt Konzepte von UNIX und VMS
Erweitert diese Konzepte mit OO Konzepten
Vollständig .NET 2.0 basiert
Microsoft Architects Forum
Ein kurzer Blick auf die zukünftige
„Microsoft Shell“
(Codename: „Monad“)
Demo
27
Microsoft Architects Forum
Entwurf eines
Konfigurationsmodelles

Konfigurationen sind



28
Struktur
(Komponenten und Beziehungen)
Einschränkungen
(Basierend auf Prinzipien, Policies und Service Level)
Healthmodell
Anwendungs-, Benutzer- oder
Taskmodell
Computerspezifisch
Konfigurationsmodell
an unterschiedlichen Stellen
auf dem Rechner gespeichert

Registry, Dateien, Active Directory, SQL, etc.
oftmals etwas geheimnisvoll

was sind die gültigen Werte?

was ist der Standardwert?

wann wurde der Wert zuletzt geändert?

was war der vorherige Wert?

wer hat den Wert geändert?
Microsoft Architects Forum
Konfigurationsmodell
 Unterstützung durch Patterns&Practices
 Configuration Management Application Block
 Vereinheitlichter Ansatz zur Verwaltung von
Konfigurationsdaten
 Konfigurierbare Speicherorte für
Konfigurationen
 Sichere Speicherung sensibler
Konfigurationsdaten
 Zukunft
 Windows stellt Managementfunktionen für
Konfigurationsdaten bereit
 Anwendungen stellen deklarativ
Konfigurationsschema bereit
29
Microsoft Architects Forum
Deployment
 Führen Sie einen “Release Readiness”
Review durch
 Erstellen Sie einen Deployment-Plan der
von Entwicklung und Betrieb getragen wird
 Deploymentprozess

30
Welche Tools werden benutzt?
 Brauchen die Tools spezielle Ports?
 Welche Zugriffsrechte werden benötigt?
Microsoft Architects Forum
Deployment

Was ist Gegenstand des Deployment











31
- Was
ASPX or ASMX files (and the associated compiled project DLL)
A database (or databases)
Private assemblies
Shared assemblies that reside in the global assembly cache
Legacy COM components
Serviced components (COM+)
Specific Internet Information Services (IIS) settings
MessageQueue components
EventLog components
PerformanceCounter components
Other resources that need to be installed on the target
computer
Microsoft Architects Forum
Deployment Strategies
 XCopy
 Einfach zu nutzen für einfache Anwendungen
oder Web-Services
 No-touch
 Nur für Client
 Windows Installer
 Komplexe Lösungen
 GUI Installationsprogramm
 Integration mit Systemsteuerung
 Unterstützt auch “stille Installationen”
 Rollback möglich
32
Microsoft Architects Forum
Deployment – VS2005
 Designer-Unterstützung für das




33
Deployment
System Definition Model
Validierung des Designs gegen Systemanforderungen
Statische Pre-Compilierung von ASP.NET
ClickOnce Deployment für Clients
Microsoft Architects Forum
Dynamic Systems Initiative
Logical Systems
Architecture Designer
Distributed Service
Designer
34
Microsoft Architects Forum
SDM Designer für verteilte
Systeme („Whitehorse“) in Visual
Studio 2005
Demo
35
Microsoft Architects Forum
Agenda




36
Worüber reden wir?
Roadmap zum „Model-Based Management“
Was kann man heute schon tun?
Fazit
Microsoft Architects Forum
Handlungsempfehlungen







37
Verstärkung der Kommunikation zwischen
Entwicklung und Betrieb
Binden Sie den Betrieb frühzeitig in die Planung und
das Design ein
Beginnen Sie mit der Erstellung von Health-, Taskund Konfigurationsmodellen… nutzen Sie dafür das
“Design for Operations” Whitepaper.
http://www.microsoft.com/dsi
Erstellen Sie MOM Management Pakete
http://www.microsoft.com/management/mma/createm
p.mspx
Nutzen Sie das Microsoft Operations Framework
http://www.microsoft.com/mof
Nutzen Sie die “Windows Server System Reference
Architecture” http://www.microsoft.com/wssra
Nutzen Sie “Patterns and Practices”
http://www.microsoft.com/practices
Microsoft Architects Forum
© 2004 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
38
Microsoft Architects Forum
39
Microsoft Architects Forum
Zone
IIS Web Site
Zone End Point
IIS Web Server
Host ToolBox
Http Client End point
Zone End Point
Configuration
Settings
Editor
40
Microsoft Architects Forum
Constraint
Editor
41
Microsoft Architects Forum
Validation Errors
Integrated in task list
42
Microsoft Architects Forum
<
Herunterladen