Welcome to the Microsoft Architect Forum

Download Report

Transcript Welcome to the Microsoft Architect Forum

Welcome to the Microsoft
Architect Forum
Infrastructure and Business Priorities
24th October 2005
Infrastructure Models
Giovanni Marchetti
Infrastructure Architect
Microsoft Ltd.
Agenda
Do I need a model?
What modeling instruments are available?
What can I use a model for?
The vision
Two questions
Why Modelling
What Makes a Model
Symbols
Operations
2
E=mc
Syntax
Model Semantics
Infrastructure models
System Definition Model
Microsoft initiative, supported by HP, Dell,
Fujitsu, CA, Opsware, etc…
SDK available, V1 in November 2005
Data Center Markup Language
OASIS initiative, supported by Opsware, CA, EDS,
BMC, etc…
V1 Spec. published
SDM Basics
An SDM Model captures
Structure – the various pieces of a system, how
they relate to each other (web application
communicates with catalog DB, catalog DB
hosted on SQL, etc.)
Behavior – the set of operational tasks that can
be applied to the system ( start, stop, backup,
add user, etc.)
Constraints and invariants – the set of rules or
policies that must remain true for the system to
be considered operational (host customer
transaction DB on SQL cluster, etc.)
SDM Example: A File Server
NB: NOT the final syntax
Types are typically
declared in a
namespace
namespace FileServer
{
public class FileShare
{
public key string name;
New type
definition
Model
“Key” properties
identify real-world
instances
int maximumUsers;
bool cachingEnabled = True;
Specialized
type through
inheritance
public relationship ServerHostsShares
{
public role FileServer host[1];
public role FileShare guest[*];
}
}
*
HostedBy
1
}
public class FileServer : Windows.Server
{
bool shadowCopyEnabled = False
}
File
Share
Relationship states a file
server can host multiple file
shares, but a file share must
be hosted on a single file
server
File
Server
SDM and DCML
Can SDM use DCML?
Yes, e.g. to interact with heterogeneous CMDB
SDM and DCML could “feed” each other to
maintain respective view of infrastructure
OASIS positions DCML in Service
Management area.
E.g. to describe ITIL configuration management
process
What can I use a model for?
The Tao of Management
(according to marketing dept…)
Knowledge is the key to management
Developer
IT Admin
Desired state is replicated down
-
models, constraints, policy, prescriptive
guidance, SLAs, patches
Actual state is replicated up
-
inventory, metrics, events, alerts, compliance,
service level, results
Management consists of
resolving conflicts between
desired and actual state
Model
CMDB
Central
Manager
Remote
Manager
Local
Model
Managed
System
Model-Based Management
1. Model Update
Request
System
Administrator
SDM Model
Real-World System
2. Validate Update
Request
4. Adapters Update
Real World System
3. Model
Updated
Operations Lifecycle
Service Level Management
Capacity Management
Availability Management
Financial Management
Workforce Management
Service Continuity Mgt
Release
Approved
Review
Optimizing Changing
Release
Readiness
Review
SLA
Review
Service Desk
Incident Management
Problem Management
Change Management
Configuration Management
Release Management
Supporting Operating
Operations
Review
Security Administration
System Administration
Network Administration
Service Monitoring & Control
Directory Services Admin
Storage Management
Job Scheduling
Print/Output Management
Models in development
The goal of SDM is to facilitate the design of application
services through design-time validation of models
Deployment
and
Operational
Requirements
Application
Developer
Model
Validation
Data Center
Policy and
Constraints
IT Architect
SDM Models
SDM in VS2005
Errors
SDM in VS2005
Core classes : System, Resource, and Endpoint
Core relationships : Containment, Hosting,
Communication, Delegation, and Reference
Classes and relationships for design-time
validation of web services
Classes: Web Service, ASP .NET, SQL, IIS, Database,
Web Directory, etc.
Relationships : SQL hosts Database, File System hosts
Directory, Web Client communicates with Web Service,
etc.
No support for behavior
Just checking constraints
Modelling in deployment
Deployment is instantiation of model
Behavior:
Start
Web
[1..*]
Catalog [1..*]
Database
Application
Stop
Hosted On
BackupData
UpgradeSQL
IIS 6
Constraints:
Communication
[1..*]
Worker Process
Isolation
Create a new instance of Web Application
for every 10,000 users
Each Web Application instance must have
its own instance of Catalog Database
Communication via
SSL
Hosted On
Customer [1]
Transaction
Database
1
1
Hosted On
SQL Server [1]
2000
Enterprise Cluster
SQL Server [1..*]
2000
Standard
Deploying e-Shop
Create new instance of e-Shop
Application
Application Host
OS
Hardware
SDM Models
Deployment Tool
1.
Verify that actual
hardware complies with
the hardware model
2.
Install OS as per the OS
model
3.
Install SQL and IIS as per
the Application Host
model
4.
Install the Web
Application, Catalog DB,
and Customer Transaction
DB as per the Application
model
Modelling in operations
Create a health model
Maintain “live” view of service and infrastructure
status
Execute tasks on model in response to:
Change requests
Status changes in health model
Performance constraints / rules
Task Example: Invoking Behavior
Task: Add a new product – Ferrari – to the Catalog
E-Shop Instance
Replicate to
Subscriber
1. AddProduct (“Ferrari”)
3. Instance
Updated
Catalog DB servers
Create “Ferrari” in
Publisher DB
2. Validate
AddProduct
Request
Catalog1
Catalog
4. Adapter
Updates the Catalog
Replicate to
Subscriber
Catalog2
What makes a health model?
A finite state machine in software
E.g. MOM 2005, then v3
State transitions defined by rules
Reflects systems conditions
Tasks respond to state changes
Tasks can trigger state change
Why use a health model?
Easy to extend
Define custom state transition rules
No need to reinvent the basic mechanisms
Capture operational knowledge
In the model
In task associated to it
How to build a health model
Top-down
For service views
Quasi-boolean logic for
state transition:
R = critical, Y =
degraded, G = OK
Shop
P
A
D
R
*
*
R
R
*
R
*
R
R
*
*
Y
*
*
Y
Y
*
Y
G
Y
Y
G
G
G
G
G
G
How to build a health model
Bottom-up
For component views
Require:
Detectors: E.g. events
in event log
Verifiers: E.g. scripts to
test for condition
Diagnosers: Functions
in rule base D(event1,
2, ..)->root cause
Resolvers: tasks to be
executed after
diagnosis
Detector
Scheduled
Verifier
Verifier
Aspect
Operational
Condition
Resolver
Diagnoser
(Classification )
Verifier
Green
Operational
Condition
(Classification )
(Optional)
Example: Printer component
Printer Managed Entity
Event
0x01
Event
0 x95
Printer
Online
Printer # 1
Managed
Entity
Event
0x12
Event
0x17
New
Color
Verify
Color
Empty
Verify
Offline
Printer
Offline
Offline
Diag
No
Longer
Shared
Counter
Color
<25 %
Low Color
Color
Diag
Empty
Cartridge
Verify
Color
Empty
Counter
Not
Ready
Event
0 x98
No Color
Color
Diag
Empty
Cartridge
Verify
Load
Failure
Port Error
Resolve
Event
0x18
Load
Failure
Offline
Diag
No Driver
Resolver
Event
0x3C
Printer D river
Verify Old
Driver
Managed Entity
N etwork
Signing
Policy
Error
Event
0x16
Old Driver
Driver
Diag
Invalid
Driver
External Managed Entity
Recursive health models
Used to build “composite” models
Service
Service
Component
Component
Service
Component
Component
Component
Component
Component
Component
Modeling for optimization
Capacity Planning
Can we handle the increased load expected in 6 months?
Bottleneck Analysis
Which component should we upgrade next?
Hardware Configuration
Should we replace two-CPU servers with four-CPU servers?
Architectural Assessment
How do two alternative system architectures scale?
User Scenarios
What happens if the typical user behavior changes?
Software Upgrades
How will software changes affect system performance?
Why not MIPS?
MIPS = relative performance indicators
Highly centralized, strictly controlled
infrastructure
Most architectures are distributed &
heterogeneous
Could build RPIs based on “typical”
workloads (Fujitsu, EDS…)
What is typical?
Ways to build a perf. model
Product
Design
Post-Production
CA Unicenter
Trending
IBM Tivoli
Trending
HP OpenView
Trending
BMC
Hyperformix IPS
Tx. Simulation
Analytical
Modeling
Tx. Simulation
Event-Based Model (Indy)
Single
Datacenter
Client
Search request
IIS Server
Request to SQL
SQL Server
Select statement
SQL Server
Return result
IIS Server
Creates page
Client
Receives page
• Transaction latency
• Transaction analysis
• Workload mix
Generate
Workload
Schedule
Actions
Process
Events
Static or
Dynamic
Thread
Choose
SQL server
DB002
Dynamic
Choose
CPU on
DB002
Choose disk
for I/O ops
xN
Tx
•
•
•
•
Clusters
Load balancing
Networks
Architecture
now
time
Model
Resources
Static
CPU queue
shared among
threads
Software contention latency (server software, operation, load) – e.g. thread pools, locks
Hardware utilization (hardware configuration, operation counts) – e.g. 193 Mcycles on a 3.0GHz P4
Other overheads (operating system, other workloads, background operations)
• Queuing
• Resource sharing
• Device utilization
•
•
•
•
•
Hardware devices
Software costs and contention
OS overheads
Background workloads
Virtual PC
Indy Architecture
user
defined
mdir.xml
topology.xml
Workload
Generator
Hardware
Models
90
System
Configuration
Engine
80
Workload
Engine
Evaluation
Engine
70
60
50
40
30
20
10
0
engines
Meta
Directory
data
repositories
System
Event List
Hierarchy
Event
Lists
Events
Kernel
“Traditional” Process Modeling
Approach
Use performance counters to characterize workload
Advantages:
Relatively easy to construct and configure models
Good for basic hardware capacity planning
No scalability issues (only a single server per tier is considered)
Disadvantages:
Cannot model individual transactions (only a single transaction mix)
Cannot model latencies (only resource utilization)
Very limited network modeling
Many assumptions such as perfect balancing of servers in a cluster
Pros and cons of Indy
Pros:
Dynamic: model populated with “trace” of real
system or its model
Can consume SDM, as populated by system
Modular & extensible
Cons:
Difficult to represent: SDM is mainly static
Computationally intensive (analytical shortcuts
used)
..and now the marketing
message…
DSI Vision: Self-managing Systems
Self-* systems
Self-configuring & self-adapting
Self-optimizing
Self-deploying & self-cleaning
Self-protecting
Self-monitoring
Self-diagnosing
HAL9000!
Self-healing
Prevention better than cure
A self-* system needs knowledge of
self & its environment, it is self-aware
Self-* is the epitome of modelbased management
Pervasive model
Every app delivered with a model
Model in every Windows system
Developer
IT Admin
Model
CMDB
Central
Manager
Remote
Manager
Local
Model
Managed
System
Where did I hear this before?
IBM’s Autonomic Computing
User’s
Application
AME Parser
AMS
Event
Server
Application
Management Editor
Autonomic Run-time System
Self
Protecting
Self
Healing
Self
Optimizing
AIK Repository
Self
Deploying
Policy Engine
Application Delegated Manager (ADM)
Host A
Host B
Resource
Monitor
Resource
Monitor
MAS A
MAS: Mobile Agent
System
CS:
Computer Server
CS1
MAS A
Task Agent
Interface
Component
Application
Management
Repository
Application
State
Repository
Resource
Repository
Component
Repository
Repository Interface
CS2
Task Agent
Interface
Component
AMS: Autonomic Middleware Service
AIK: Application Information Knowledgebase
The Questions
Is DCML better suited to management than
SDM?
Is IBM far ahead of the rest of us with
autonomic computing?
References
The Dynamic Systems Initiative & SDM
http://www.microsoft.com/dsi
DCML
http://www.dcml.org
Performance models
http://research.microsoft.com/sysperf/
Autonomic Computing
http://www.redbooks.ibm.com/abstracts/sg246665.htm
l?Open
http://www.redbooks.ibm.com/abstracts/sg246635.htm
l?Open
Next steps
Complete your evaluation form
Review today’s slides
www.microsoft.com/uk/msdn/events/postevents.aspx
Sign up for the Newsletter
www.microsoft.com/uk/msdn/architecture/newsletter.aspx
Subscribe to the free Architecture Journal www.microsoft.com/architecture
Register for the Solution Architect Forum, 9 December (via UK
Architecture Centre)
Additional resources:
UK Architecture Centre www.microsoft.com/uk/msdn/architecture
US Architecture Centre www.microsoft.com/architecture
© 2005 Microsoft Limited. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary .