Provisioning/Deployment
CDDLM-WG (Configuration Description, Deployment and Lifecycle Management)
December 4, 2003
Takashi Kojo, NEC
Provisioning Cycle
Analysis/Projection
Resource Allocation Plan
Deployment
Execution/Monitor
• Conceptual Loop for Optimizing Resource Allocation In Real World • The Cycle consists of variety of Loops
• Long Loop like Annual/Quarterly Planning• Short Loop like Urgent Allocation for Surge Peak Load• Even Shorter Loop will be Implemented by Policy Automation of the Grid
• Activities includes• Manual Intelligence• Manual Labor• System’s Automated
Provisioning Processes and Activities
Analysis/Projection
Resource Allocation Plan
Execution/Monitor
Deployment
Quarterly Plan New Customer Load Balancing Etc.
Business Processes
Activities
Application and Infrastructure
AnalysisProjection
Resource Allocation Plan
DeploymentExecution/Monitor
Analysis/Projection
Resource Allocation Plan
DeploymentExecution/Monitor
Application Provisioning
Infrastructure Provisioning
• Application: Grid Services, Legacy Applications, Web Contents, DB Schema• Infrastructure:
Middleware (Application Server, Web Server, DBMS,…)Hardware (Server, Storage, Network Switch, Firewall,…)
Server
OS
DBMS
DB Schema
Server
OS
AppServer
Applications
Server
OS
WebServer
Contents
Network Switch
VLANSet up
VLANSet up
Provisioning Target System(Ex. Web Three Tier)
Account Management, Security Management
Configuration Management
Configuration TemplateConfiguration Template
Network
Provisioning with Policy Automation
Eval/Analysis Deploy
Res Alloc/Config
Exec/Monitor
AP
DATA
Conf
Server Server・・・・・・OS OS
M/W M/W
・・・・・・
・・・・・・AP DATA
OS
M/W
Config. D
escrip
ition
Config. D
escrip
ition
Fault Management, Performance Management
Target ConfigurationTarget Configuration
NetworkServer Server・・・・・・OS OSM/W M/W
・・・・・・・・・・・・
AP DATAMonito
rMonito
r
Feedback Execution Model
Deployment Model
Periodical Load PatternFailure Recovery
ResourceAllocation
ProvisioningCycle
★Automated Resource Allocation based on Policy on Load Change or Failure★Automated Configuration, Deployment and Execution
★Automated Resource Allocation based on Policy on Load Change or Failure★Automated Configuration, Deployment and Execution
ProvisioningProvisioningGridGrid
Provisioning GridApplication
(Demand)
Infrastructure
(Supply)
Business Process
Automation Business Process
Automation
Resource
Allocation Plan
Deployment
Execution
/Monitor
Analysis/
Projection App
licat
ion
Pro
visi
onin
g
A
pplic
atio
n G
rid
Infr
astr
uctu
re P
rovi
sion
ing
Infr
astr
uctu
re G
rid
Scope of CDDLM
Scope of PE
Program Execution Components
Job Management
WS-DM(CMM)
Resource Broker
Resource Manager
DeploymentLifecycle Management
Resource Configuration
Scheduler
ResourceReservation
DeploymentRequest
Initiate/Terminate
Register
Resource Types• Data Access• Bandwidth• Server• Storage
Scope of CDDLM
Monitor Status
Canididate set Generator ?
Data Provisioning ?DAIS?
Monitoring Service ?
Job Factory?Job Service?
DemandSupply
Program ContentsContainer
Program ContentsContainer
CDDLM(Configuration Description, Deployment and Lifecycle Management)
XML based Component Description
Class Files
Composition
Deployment
Web ServerWeb Server
App. ServerApp. Server
DB ServerDB Server
DB Schema
Application
Web Contents
Initiate/TerminateLifecycleManagement
CDDLM Wrapper
CDL to Deployable Format
Front End Language
XML Based CDL
Deployment Contents Format(Extended JAR)
Deployed Contents(Target Environment)
Deployment Contents
XML BasedCDL
SF-CDL
CDL3
CDL4
Program: Class Files,…Web Contents: HTML, JSP,…DB Contents: Schema,…
Keyword XML Tag
Unresolved References= XML-CDL
Resolved References
RR-CDLRR-CDLUR-CDL RR-CDL
Transform
Resolve
Use Case: Resource Broker and CDDLM
ParamDefinition
CDL
UR-CDLConfiguration Description
(Host Names: Unresolved Parameter)
Allocation Component(Host Name : IP Address Pairs)
Host MachineBroker
Gather&
resolve
RR-CDL
Deployment ContentsIP Addresses Allocated
Agreement
Resource Requestor (Client)
Simple Mapping of SF syntax to XML
<attribute name=“Name” value=“Value”/>
<attribute name=“Name1” extends=“Reference”> <attribute name=“Name2” value=“Value2”/> <attribute .../> ....</attribute>
<attribute name=“Name”> <vector> <element value=“value”/><element>...</element> </vector></attribute>
Component
Vector
Example(manual pp.13-14)
<attribute name="SFService"/> <attribute name="portNum" value="4047"/> <attribute name="hostname" value="adhost.smartfrog.org"/> <attribute name="administrators"> <vector> <element value="patrick"/> </vector> </attribute></attribute><attribute name="UseableService" extends="SFService"> <attribute name="portNum" value="4048"/> <attribute name="users"> <vector><element value="fred"/><element value="harry"/></vector> </attribute></attribute>
Reference Model
• Alternatives:– SmartFrog Reference
• use as-is (ROOT, PARENT..)• uri like syntax
– Namespace– XPath/XPointer
SmartFrog ReferenceExample
<attribute name="sfConfig"/>
<attribute name="foo“ ... />
<attribute name="bar” .../>
<attribute name="baz">
<attribute name="ref1" reference="ROOT:sfConfig:bar:b"/>
<attribute name="ref2" reference="foo:jan"/>
<attribute name="ref3" reference="ref2"/>
</attribute>
</attribute>
(Manual p.16)
The Top Level Definition: sfConfig• Instead of stating:
– <attribute name=“sfConfig”/>
• we can define– <system/>
• as the top level definition
<system> <attribute name="d1" extends="def1"/> ....</system>
Component Model(Prim, Compound)
<attribute name=“xxx” extends=“Prim”/>
<attribute name=“xxx” extends=“Compound”/>
can be
<component name=“xxx”/>
<component name=“p” extends=“Printer”> <attribute name=“name” value=“myPrinter”/></component>
sfClass
• Component should be defined as Service instead of Java class
• Reference should be service URI instead of Java class name– Not: <attribute name=“sfClass”
value=“classname”/>– But: <component service=“uri”/>
Component Definition Example
<component name="StatusMonitor" service="uri"/><component name="LogMonitor" service="uri"/><system service="uri"> <component name="log" extends="LogMonitor"/> <component name="status"
extends="StatusMonitor"/></system>
(Manual pp.36-37)