210 likes | 385 Views
Provisioning/Deployment. CDDLM-WG (Configuration Description, Deployment and Lifecycle Management) December 4, 2003 Takashi Kojo, NEC. Provisioning Cycle. Resource Allocation Plan. Analysis/ Projection. Deployment. Execution /Monitor.
E N D
Provisioning/Deployment CDDLM-WG (Configuration Description, Deployment and Lifecycle Management) December 4, 2003 Takashi Kojo, NEC
ProvisioningCycle Resource Allocation Plan Analysis/ Projection 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 Business Processes Quarterly Plan Load Balancing Etc. New Customer Activities Resource Allocation Plan Analysis/Projection Deployment Execution/Monitor
Resource Allocation Plan Resource Allocation Plan Analysis Projection Analysis/ Projection Deployment Deployment Execution/ Monitor Execution/ Monitor Application and Infrastructure Applications Contents DB Schema DBMS Application Provisioning AppServer WebServer OS OS OS VLAN Set up VLAN Set up Server Server Server Infrastructure Provisioning Network Switch Target System (Ex. Web Three Tier) Provisioning • Application: Grid Services, Legacy Applications, Web Contents, DB Schema • Infrastructure: • Middleware (Application Server, Web Server, DBMS,…) • Hardware (Server, Storage, Network Switch, Firewall,…)
Res Alloc/Config Eval/Analysis Deploy Exec/Monitor Provisioning with Policy Automation AP DATA Conf Configuration Management Deployment Model Configuration Template AP DATA M/W M/W M/W Provisioning Cycle Config. Descripition ・・・ OS OS OS ・・・ Periodical Load Pattern Failure Recovery Server Server ・・・ Network Provisioning Grid Account Management, Security Management Fault Management, Performance Management Feedback Execution Model Target Configuration AP DATA ★Automated Resource Allocation based on Policy on Load Change or Failure ★Automated Configuration, Deployment and Execution Monitor Resource Allocation ・・・ M/W M/W ・・・ OS OS ・・・ Server Server Network
Scope of PE Provisioning Grid Scope of CDDLM Application Provisioning Infrastructure Provisioning Application Grid Infrastructure Grid
Program Execution Components Monitor Status Job Management Monitoring Service? Register Initiate/Terminate Program Contents Container Data Provisioning? DAIS? Scheduler Deployment Request Canididate set Generator? Demand Supply Resource Reservation Resource Configuration Resource Broker Lifecycle Management Deployment • Resource Types • Data Access • Bandwidth • Server • Storage Scope of CDDLM Job Factory? Job Service? Resource Manager Program Contents Container WS-DM(CMM)
CDDLM(Configuration Description, Deployment and Lifecycle Management) CDDLM Wrapper Initiate/Terminate Lifecycle Management Class Files Web Server Web Contents Composition App. Server Application DB Server DB Schema XML based Component Description Deployment
CDL to Deployable Format Deployment Contents Front End Language Program: Class Files,… Web Contents: HTML, JSP,… DB Contents: Schema,… CDL4 Unresolved References = XML-CDL Resolved References CDL3 UR-CDL RR-CDL RR-CDL RR-CDL SF-CDL XML Based CDL Keyword XML Tag Resolve Deployment Contents Format (Extended JAR) Deployed Contents (Target Environment) XML Based CDL Transform
Use Case: Resource Broker and CDDLM Configuration Description (Host Names: Unresolved Parameter) UR-CDL Deployment Contents IP Addresses Allocated Gather & resolve Host Machine Broker Param Definition CDL RR-CDL Allocation Component (Host Name : IP Address Pairs) Agreement Resource Requestor (Client)
Simple Mapping of SF syntax to XML <attributename=“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)
Issues • Reference Model • SmartFrog reference model can be used • But we should make best use of Namespace and XPath/XPointer (to avoid reinventing wheels) • Component Model • Components should be services instead of Java classes • The interface (sfDeploy(), etc) should be redefined as WSDL