Welcome to the Welcome to the Microsoft Architect Microsoft Architect Forum Forum Infrastructure and Business Infrastructure and Business Priorities Priorities 24 24 th th October 2005 October 2005
Mar 26, 2015
Welcome to the Microsoft Welcome to the Microsoft Architect ForumArchitect Forum
Infrastructure and Business Infrastructure and Business PrioritiesPriorities2424thth October 2005 October 2005
Infrastructure ModelsInfrastructure Models
Giovanni MarchettiGiovanni MarchettiInfrastructure ArchitectInfrastructure ArchitectMicrosoft Ltd.Microsoft Ltd.
AgendaAgenda
Do I need a model?Do I need a model?
What modeling instruments are What modeling instruments are available?available?
What can I use a model for?What can I use a model for?
The visionThe vision
Two questionsTwo questions
Why ModellingWhy Modelling
What Makes a ModelWhat Makes a Model
E=mc2
Symbols Operations
Syntax
Model SemanticsModel Semantics
Infrastructure modelsInfrastructure models
System Definition ModelSystem Definition ModelMicrosoft initiative, supported by HP, Microsoft initiative, supported by HP, Dell, Fujitsu, CA, Opsware, etc…Dell, Fujitsu, CA, Opsware, etc…
SDK available, V1 in November 2005SDK available, V1 in November 2005
Data Center Markup LanguageData Center Markup LanguageOASIS initiative, supported by Opsware, OASIS initiative, supported by Opsware, CA, EDS, BMC, etc…CA, EDS, BMC, etc…
V1 Spec. published V1 Spec. published
SDM BasicsSDM Basics
An SDM Model capturesAn SDM Model capturesStructureStructure – the various pieces of a – the various pieces of a system, how they relate to each other system, how they relate to each other (web application communicates with (web application communicates with catalog DB, catalog DB hosted on SQL, catalog DB, catalog DB hosted on SQL, etc.)etc.)
BehaviorBehavior – the set of – the set of operational tasksoperational tasks that can be applied to the system ( start, that can be applied to the system ( start, stop, backup, add user, etc.)stop, backup, add user, etc.)
Constraints and invariants Constraints and invariants – the set – the set of rules or policies that must remain true of rules or policies that must remain true for the system to be considered for the system to be considered operational (host customer transaction operational (host customer transaction DB on SQL cluster, etc.)DB on SQL cluster, etc.)
SDM Example: A File ServerSDM Example: A File ServerNB: NOT the final syntaxNB: NOT the final syntax
namespace FileServer
{
public class FileShare { public key string name;
int maximumUsers;bool cachingEnabled = True;
}
public class FileServer : Windows.Server { bool shadowCopyEnabled = False }
public relationship ServerHostsShares
{ public role FileServer host[1];
public role FileShare guest[*]; }
}
New type definition
“Key” properties identify real-world
instances
Specialized type through inheritance
Relationship states a file server can host multiple file shares, but a file share must
be hosted on a single file server
File Share
File Server
HostedBy
Model
*
1
Types are typically declared in a namespace
SDM and DCMLSDM and DCML
Can SDM use DCML?Can SDM use DCML?Yes, e.g. to interact with heterogeneous Yes, e.g. to interact with heterogeneous CMDBCMDBSDM and DCML could “feed” each other SDM and DCML could “feed” each other to maintain respective view of to maintain respective view of infrastructureinfrastructure
OASIS positions DCML in Service OASIS positions DCML in Service Management areaManagement area..
E.g. to describe ITIL configuration E.g. to describe ITIL configuration management processmanagement process
What can I use a model What can I use a model for?for?
The Tao of ManagementThe Tao of Management(according to marketing dept…)(according to marketing dept…)
Knowledge is the key to Knowledge is the key to managementmanagement
Desired state is replicated downDesired state is replicated down-- models, constraints, policy, models, constraints, policy,
prescriptive guidance, SLAs, patchesprescriptive guidance, SLAs, patches
Actual state is replicated upActual state is replicated up-- inventory, metrics, events, alerts, inventory, metrics, events, alerts,
compliance, service level, resultscompliance, service level, results
Management consists ofManagement consists ofresolving conflicts between resolving conflicts between desired and actual statedesired and actual state
De
sired
state
Developer IT Admin
Model
CMDB
CentralManager
RemoteManager
LocalModel
ManagedSystem
Act
ua
l sta
te
Model-Based Model-Based ManagementManagement
SDM Model Real-World System
3. Model Updated
SystemAdministrator
1. Model Update Request
2. Validate Update Request
4. Adapters Update Real World System
Operations LifecycleOperations Lifecycle
Service Level ManagementService Level ManagementCapacity ManagementCapacity Management
Availability ManagementAvailability ManagementFinancial ManagementFinancial Management
Workforce ManagementWorkforce ManagementService Continuity MgtService Continuity Mgt
Change ManagementChange ManagementConfiguration ManagementConfiguration ManagementRelease ManagementRelease Management
Security AdministrationSecurity AdministrationSystem AdministrationSystem AdministrationNetwork AdministrationNetwork AdministrationService Monitoring & Control Service Monitoring & Control Directory Services AdminDirectory Services AdminStorage ManagementStorage ManagementJob SchedulingJob SchedulingPrint/Output ManagementPrint/Output Management
Service DeskService DeskIncident ManagementIncident ManagementProblem ManagementProblem Management
Release Release ReadinessReadiness
ReviewReview
Release Release Approved Approved
ReviewReview
SLASLAReviewReview
OperationsOperationsReviewReview
Changing
OperatingSupporting
Optimizing
Models in developmentModels in development
The goal of SDM is to facilitate the design of The goal of SDM is to facilitate the design of application services through application services through design-time design-time validationvalidation of models of models
IT ArchitectIT Architect
ApplicationApplicationDeveloperDeveloper
Deployment Deployment andand
OperationalOperationalRequirementsRequirements
Data Center Data Center Policy andPolicy and
ConstraintsConstraints
SDM ModelsSDM Models
ModelModelValidatValidationion
SDM in VS2005SDM in VS2005
ErrorsErrors
SDM in VS2005SDM in VS2005
Core classes : System, Resource, and Core classes : System, Resource, and EndpointEndpoint
Core relationships : Containment, Hosting, Core relationships : Containment, Hosting, Communication, Delegation, and Communication, Delegation, and ReferenceReference
Classes and relationships for design-time Classes and relationships for design-time validation of web services validation of web services
Classes: Web Service, ASP .NET, SQL, IIS, Classes: Web Service, ASP .NET, SQL, IIS, Database, Web Directory, etc.Database, Web Directory, etc.
Relationships : SQL hosts Database, File Relationships : SQL hosts Database, File System hosts Directory, Web Client System hosts Directory, Web Client communicates with Web Service, etc.communicates with Web Service, etc.
No support for behaviorNo support for behaviorJust checking constraintsJust checking constraints
Modelling in deploymentModelling in deployment
Deployment is instantiation of modelDeployment is instantiation of model
Web Web [1..*][1..*]
ApplicatioApplication n
Catalog Catalog [1..*][1..*]DatabaseDatabase
Customer Customer [1][1]TransactionTransactionDatabaseDatabaseIIS 6 IIS 6
[1..*][1..*]
SQL Server SQL Server [1][1]20002000Enterprise ClusterEnterprise Cluster
Communication Communication viaviaSSLSSL
Hosted OnHosted On
Hosted OnHosted OnWorker Process Worker Process IsolationIsolation
SQL Server SQL Server [1..*][1..*] 20002000StandardStandard
CommunicationCommunication
Hosted OnHosted On
Constraints:Constraints:Create a new instance of Web Create a new instance of Web Application Application for every 10,000 usersfor every 10,000 usersEach Web Application instance Each Web Application instance must have must have its own instance of Catalog its own instance of Catalog DatabaseDatabase
BehaviorBehavior::
StartStart
StopStop
BackupDatBackupDataa
UpgradeSQUpgradeSQLL 11
11
Deploying e-ShopDeploying e-Shop
SDM ModelsSDM Models
ApplicationApplication
Application HostApplication Host
OSOS
HardwareHardware
Deployment ToolDeployment Tool
Create new instance of Create new instance of e-Shope-Shop
1.1. Verify that actual Verify that actual hardware complies hardware complies with the with the hardwarehardware modelmodel
2.2. Install OS as per Install OS as per the the OS modelOS model
3.3. Install SQL and IIS Install SQL and IIS as per the as per the Application Host Application Host modelmodel
4.4. Install the Web Install the Web Application, Application, Catalog DB, and Catalog DB, and Customer Customer Transaction DB as Transaction DB as per the per the Application Application modelmodel
Modelling in operationsModelling in operations
Create a health modelCreate a health modelMaintain “live” view of service and Maintain “live” view of service and infrastructure statusinfrastructure status
Execute tasks on model in response Execute tasks on model in response to:to:
Change requestsChange requests
Status changes in health modelStatus changes in health model
Performance constraints / rulesPerformance constraints / rules
Task Example: Invoking Task Example: Invoking BehaviorBehavior
E-Shop Instance Catalog DB servers
1. AddProduct (“Ferrari”)
3. Instance Updated
4. AdapterUpdates the Catalog
Task: Add a new product – Ferrari – to the Catalog
2. Validate AddProductRequest
Create “Ferrari” inCreate “Ferrari” inPublisher DBPublisher DB
Replicate to Replicate to Subscriber Subscriber
Replicate to Replicate to SubscriberSubscriber
CatalogCatalogCatalog1Catalog1
Catalog2Catalog2
What makes a health What makes a health model?model?
A finite state machine in softwareA finite state machine in softwareE.g. MOM 2005, then v3E.g. MOM 2005, then v3
State transitions defined by rulesState transitions defined by rulesReflects systems conditionsReflects systems conditions
Tasks respond to state changesTasks respond to state changes
Tasks can trigger state changeTasks can trigger state change
Why use a health model?Why use a health model?
Easy to extendEasy to extendDefine custom state transition rulesDefine custom state transition rules
No need to reinvent the basic No need to reinvent the basic mechanismsmechanisms
Capture operational knowledgeCapture operational knowledgeIn the modelIn the model
In task associated to itIn task associated to it
How to build a health How to build a health modelmodel
Top-downTop-downFor service viewsFor service views
Quasi-boolean Quasi-boolean logic for state logic for state transition:transition:
R = critical, Y = R = critical, Y = degraded, G = OKdegraded, G = OK
GGGGYYYY
GGYY**YY
YY****YY
****RRRR
DDAAPPShopShop
RR****RR
**RR**RR
GGGGGGGG
How to build a health How to build a health modelmodel
Bottom-upBottom-upFor component For component viewsviews
Require:Require:Detectors: E.g. Detectors: E.g. events in event logevents in event log
Verifiers: E.g. Verifiers: E.g. scripts to test for scripts to test for conditioncondition
Diagnosers: Diagnosers: Functions in rule Functions in rule base D(event1, base D(event1, 2, ..)->root cause2, ..)->root cause
Resolvers: tasks to Resolvers: tasks to be executed after be executed after diagnosisdiagnosis
OperationalCondition
(Classification ) DiagnoserResolver
Verifier(Optional)
Detector
Verifier
Scheduled Verifier
Aspect
Green OperationalCondition
(Classification )
Example: Printer Example: Printer componentcomponent
Printer #1
ManagedEntity
Printer Managed Entity
Network
External Managed Entity
Printer Offline
Printer Online
No Color
Low Color
New Color
Event 0x12
Offline Diag
Port Error Resolve
Verify Offline
Event 0x17
No Longer Shared
Event 0x01
CounterNot
Ready
Event 0 x95
CounterColor <25 %
Event 0 x98
Printer Driver
Managed Entity
Load Failure
Old DriverEvent 0x16
Event 0x18
Event 0x3C
Verify Load
Failure
Offline Diag No Driver
Resolver
Color Diag
Empty Cartridge
Verify Color Empty
Invalid Driver
Driver Diag
Verify Old Driver
Signing Policy Error
Color Diag
Empty Cartridge
Verify Color Empty
Recursive health modelsRecursive health models
Used to build “composite” modelsUsed to build “composite” models
Service
Component Component Component Component
Service
Component Component Component Component
Service
Modeling for optimizationModeling for optimization
Capacity PlanningCapacity PlanningCan we handle the increased load expected in 6 months?Can we handle the increased load expected in 6 months?
Bottleneck AnalysisBottleneck AnalysisWhich component should we upgrade next?Which component should we upgrade next?
Hardware ConfigurationHardware ConfigurationShould we replace two-CPU servers with four-CPU servers?Should we replace two-CPU servers with four-CPU servers?
Architectural AssessmentArchitectural AssessmentHow do two alternative system architectures scale?How do two alternative system architectures scale?
User ScenariosUser ScenariosWhat happens if the typical user behavior changes?What happens if the typical user behavior changes?
Software UpgradesSoftware UpgradesHow will software changes affect system performance?How will software changes affect system performance?
Why not MIPS?Why not MIPS?
MIPS = relative performance MIPS = relative performance indicatorsindicators
Highly centralized, strictly controlled Highly centralized, strictly controlled infrastructureinfrastructure
Most architectures are distributed & Most architectures are distributed & heterogeneousheterogeneous
Could build RPIs based on “typical” Could build RPIs based on “typical” workloads (Fujitsu, EDS…)workloads (Fujitsu, EDS…)
What is typical?What is typical?
Ways to build a perf. Ways to build a perf. modelmodel
ProductProduct DesignDesign Post-Post-ProductionProduction
CA UnicenterCA Unicenter TrendingTrending
IBM TivoliIBM Tivoli TrendingTrending
HP OpenViewHP OpenView TrendingTrending
BMCBMC Analytical Analytical ModelingModeling
Hyperformix Hyperformix IPSIPS
Tx. SimulationTx. Simulation Tx. SimulationTx. Simulation
Event-Based Model Event-Based Model (Indy)(Indy)
GenerateWorkload
ScheduleActions
ProcessEvents
ModelResources
ClientSearch request
IIS ServerCreates page
IIS ServerRequest to SQL
SQL ServerSelect statement
SQL ServerReturn result
ClientReceives page
ChooseSQL server
DB002Choose diskfor I/O ops
StaticDynamicStatic or Dynamic
now
time
Thread
Choose CPU on DB002
CPU queueshared among
threads
x N
Tx
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)
• Transaction latency• Transaction analysis• Workload mix
• Clusters• Load balancing• Networks• Architecture
• Queuing• Resource sharing• Device utilization
• Hardware devices• Software costs and contention• OS overheads• Background workloads• Virtual PC
SingleDatacenter
topology.xml
Indy ArchitectureIndy Architecture
WorkloadGenerator
HardwareModels
SystemConfiguration
Engine
WorkloadEngine
EvaluationEngine
MetaDirectory
SystemEvent ListHierarchy
EventLists
Events
mdir.xml
Kerneldata
repositories
engines
userdefined
0
10
20
30
40
50
60
70
80
90
““Traditional” Process Traditional” Process Modeling Approach Modeling Approach
Use performance counters to characterize Use performance counters to characterize workloadworkload
Advantages:Advantages:Relatively easy to construct and configure modelsRelatively easy to construct and configure models
Good for basic hardware capacity planningGood for basic hardware capacity planning
No scalability issues (only a single server per tier is No scalability issues (only a single server per tier is considered)considered)
Disadvantages:Disadvantages:Cannot model individual transactions (only a single Cannot model individual transactions (only a single transaction mix)transaction mix)
Cannot model latencies (only resource utilization)Cannot model latencies (only resource utilization)
Very limited network modelingVery limited network modeling
Many assumptions such as perfect balancing of servers in Many assumptions such as perfect balancing of servers in a clustera cluster
Pros and cons of IndyPros and cons of Indy
Pros:Pros:Dynamic: model populated with “trace” Dynamic: model populated with “trace” of real system or its modelof real system or its model
Can consume SDM, as populated by Can consume SDM, as populated by systemsystem
Modular & extensibleModular & extensible
Cons:Cons:Difficult to represent: SDM is mainly Difficult to represent: SDM is mainly staticstatic
Computationally intensive (analytical Computationally intensive (analytical shortcuts used)shortcuts used)
..and now the marketing ..and now the marketing message…message…
DSI Vision: Self-managing DSI Vision: Self-managing SystemsSystemsSelf-* systemsSelf-* systems
Self-configuring & self-adaptingSelf-configuring & self-adaptingSelf-optimizingSelf-optimizingSelf-deploying & self-cleaningSelf-deploying & self-cleaningSelf-protectingSelf-protectingSelf-monitoringSelf-monitoringSelf-diagnosingSelf-diagnosingSelf-healingSelf-healing
Prevention better than curePrevention better than cureA self-* system needs knowledge ofA self-* system needs knowledge ofself & its environment, it is self & its environment, it is self-awareself-awareSelf-* is the epitome of model-Self-* is the epitome of model-based managementbased management
Pervasive modelPervasive modelEvery app delivered with a modelEvery app delivered with a modelModel in every Windows systemModel in every Windows system
De
sired
state
Developer IT Admin
Model
CMDB
CentralManager
RemoteManager
LocalModel
ManagedSystem
Act
ua
l sta
te
HAL9000!
Where did I hear this Where did I hear this before?before?
IBM’s Autonomic ComputingIBM’s Autonomic Computing
Autonomic Run-time System
Host B
AIK RepositoryEvent
Server
Host AMAS A CS2CS1
Application Management Editor
Application Management Editor
MAS: Mobile Agent System
CS: Computer Server
ComponentComponent
AMS
Component Repositor
y
Component Repositor
y
Resource Reposito
ry
Resource Reposito
ry
Application
Management
Repository
Application
Management
Repository
Application State
Repository
Application State
Repository
User’s Application
User’s Application
Task Agent
Policy Engine
Self Protecting
Self Optimizing
Self Healing
AME Parser
Interface
Resource Monitor
Application Delegated Manager (ADM)
Repository Interface
Self Deploying
MAS A
ComponentComponent
Task Agent
Interface
Resource Monitor
AIK: Application Information Knowledgebase
AMS: Autonomic Middleware Service
The QuestionsThe Questions
Is DCML better suited to Is DCML better suited to management than SDM?management than SDM?
Is IBM far ahead of the rest of us with Is IBM far ahead of the rest of us with autonomic computing?autonomic computing?
ReferencesReferences
The Dynamic Systems Initiative & SDMThe Dynamic Systems Initiative & SDMhttp://www.microsoft.com/http://www.microsoft.com/dsidsi
DCMLDCMLhttp://http://www.dcml.orgwww.dcml.org
Performance modelsPerformance modelshttp://http://research.microsoft.com/sysperfresearch.microsoft.com/sysperf//
Autonomic ComputingAutonomic Computinghttp://www.redbooks.ibm.com/abstracts/sg246http://www.redbooks.ibm.com/abstracts/sg246665.html?Open665.html?Open
http://www.redbooks.ibm.com/abstracts/sg246http://www.redbooks.ibm.com/abstracts/sg246635.html?Open635.html?Open
Next stepsNext stepsComplete your evaluation formComplete your evaluation form
Review today’s slides Review today’s slides www.microsoft.com/uk/msdn/events/postevents.aspxwww.microsoft.com/uk/msdn/events/postevents.aspx
Sign up for the Newsletter Sign up for the Newsletter www.microsoft.com/uk/msdn/architecture/newsletter.aspxwww.microsoft.com/uk/msdn/architecture/newsletter.aspx
Subscribe to the free Architecture Journal Subscribe to the free Architecture Journal www.microsoft.com/architecturewww.microsoft.com/architecture
Register for the Solution Architect Forum, 9 December (via Register for the Solution Architect Forum, 9 December (via UK Architecture Centre)UK Architecture Centre)
Additional resources:Additional resources:
UK Architecture Centre UK Architecture Centre www.microsoft.com/www.microsoft.com/uk/msdn/architectureuk/msdn/architecture
US Architecture Centre US Architecture Centre www.microsoft.com/architecturewww.microsoft.com/architecture
© 2005 Microsoft Limited. All rights reserved.© 2005 Microsoft Limited. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summaryThis presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary..