Use of SDD in Grid Deployment Based on
Use of SDD in Grid Deployment Based on GGF CDDLM Jun Tatemura NEC Laboratories America Oct 3, 2005 GGF 15 1
Objective • To clarify the scope of SDD within Grid deployment context (i. e. , CDDLM scenarios) – To provide SDD use cases from CDDLM, we need to identify SDD’s role in CDDLM scenarios • Then we will be able to extract SDD use cases from the CDDLM use cases (i. e. , Grid deployment) 2
CDDLM Use Cases • CDDLM use cases from the “CDDLM foundation document” (GGF GFD-I. 050) – – – Web Services in the Grid Environment Commercial Data Center IT Infrastructure and Management Utility Computing Model Complex Business Service Use Case Web Service Development Project • Question: How SDD can be used in those scenarios – should SDD describe the entire Grid deployment or only some part? 3
Background: CDDLM Components Described in CDL • CDL (with Component Model) specifies – Composition of components – Orchestration of component deployment operations – Component property values • Including references to application contents (such as jar files) • CDL supports – Template resolution (through prototype inheritance) – Value reference resolution (including dynamic resolution) CDDLM component Software objects CDDLM API CDL CDDLM Component obj Software objects obj A component is a unit of deployment. It may encapsulate any software/hard ware modules Software objects given by the user are installed internally 4
CDDLM Characteristics (when compared with other SDD scenarios) • CDDLM makes Grid resources ready to use: including not only software installation but also making/keeping software (or any artifacts) up and running – Thus, it includes not only software configuration parameter description but also sequencing of state transition operations, state relationships among components, and state monitoring • A same (or similar) system may be deployed on different instances of Grid resources many times – Thus, it supports templates and dynamic value assignment (e. g. , values may be instantiated through resource allocation for each Grid deployment) • Upgrading/updating software already installed is not the center of interest – Although we may want to reconfigure systems with new Grid resources 5
Alternatives of Incorporating SDD • [1] SDD covers the entire description of Grid deployment – Including component sequencing, inheritance of templates, dynamic value reference resolution, etc. • [2] SDD covers software installation part of Grid deployment and is used with CDL • [my opinion] Alternative [1] may broaden SDD scope too much – Let’s see Alternative [2] 6
Use of SDD with CDL • CDL does not specify relationship between component properties and software objects installed inside of the component • SDD should fit here because this part is almost same as the other use cases of SDD (i. e. , install and uninstall software) CDDLM component CDL Software objects CDDLM API CDDLM Component Use of SDD Software objects obj obj 7
Use of SDD with CDL • SDD is used to describe how software objects are installed (and uninstalled) on a CDDLM component • CDL is used to describe (1) composite components, (2) sequences of component deployment, and (3) component properties and their relationships • Component properties include (1) references to software objects, (2) references to SDD documents, and (3) parameter values referred to by SDD documents • [Requirement]: SDD should provide a way to import property values at invocation time (i. e. , SDD should provide parameterization) – E. g. , environment/context variables 8
Appendix 9
Use of CDL in Deployment • Example: Three-tier web applications User (who deploys) CDL Template CDLTemplate (schema, default values, …) refers to CDL Template For 3 tier app (application structure, …) refers to CDL For a specific deployment request submit Application Wrapper Provider (developer) provides Component provider Component object Deployment API Component object discovered resources agreed values discovery and agreement provides Resource Broker Component object Web Webserver App Appserver DB DB DBserver 10
CDDLM XML-based CDL • Configuration: Property Lists <webserver> <hostname>example. com</hostname> <port>80</port> </webserver> • CDL Notations – – @cdl: extends – inheritance of prototype @cdl: ref – value reference @cdl: type – data type annotation @cdl: lazy – lazy (runtime) value resolution 11
Combination of CDL and SDD: Alternatives • [1] (maximum requirement) SDD replacing CDL (SDD describes everything) – CDDLM uses SDD instead of CDL (i. e. SDD covers all the features of CDL) • [2] SDD referred to by CDL – A CDL file refers to external SDD files (just like a reference to application content) – SDD needs to import (dynamically assigned) property values in CDL • [3] (minimum requirement) SDD within CDL – Inline description of SDD within a CDL file – CDL processing will generate complete SDD file for each component – No extra functionality needed for SDD 12
My Suggestion • Support [2] (and [3]) – [1] will be overkill for other SDD use cases • (although inheritance of templates and value reference resolution are nice to have for other use cases) – [2] is good for separation of concerns • Configuration of software deployed on components • Configuration of components – [3] can be supported without extra requirements on SDD 13
- Slides: 13