180 likes | 284 Views
CDDLM on HP SmartFrog. Middleware Workshop. Service: CDDLM. Distributed Deployment Framework HPL implementation of GGF CDDLM WG http://smartfrog.org/ (and SourceForge CVS) License: LGPL Support: email + bug tracking proposed component model will use relevant parts of WS-RF.
E N D
CDDLM on HP SmartFrog Middleware Workshop
Service: CDDLM • Distributed Deployment Framework HPL implementation of GGF CDDLM WG • http://smartfrog.org/ (and SourceForge CVS) • License: LGPL • Support: email + bug tracking • proposed component model will use relevant parts of WS-RF
6. Deployment Request 9. Rtrn Status 2. Resource Request 5. Allocated Resource 7. Transfer files and Initiate Local Program 8. Return machine job ID 3. Resource Brokering 4. Allocated Resource (Static Resource Allocation/Pre-Allocated Resource) 1.Job Submission Job Management CDDLM I/F Resource Allocation (Candidate Set Gen.) CDDLM Wrapper (Container) Local Resource Management Resources
Service Operations for GGF12 • deploy • undeploy • getServerInfo • getApplicationStatus +direct communications to/between deployment components
<deploy> • The JSDL descriptor of this job • A deployment descriptor in a supported language (with language identification information) • A list of (name,value) properties • An optional callback type and xsd:Any with callback information. • synchronous deployment :boolean • xsd:any for optional extra stuff
<undeploy> In: • Application: identifier • cause: String • synchronous: boolean • xsd:any minOccurs=0 : for future use Out: • boolean: Success/failure response. • xsd:any minOccurs=0 : for future use
<getServerInfo> Query server info (version , uptime) • IN: void • OUT: <serverInfo> xsd:any (TBD)
<getApplicationStatus> IN: void OUT: <applicationStatus> xsd:any (TBD) Liveness test with health info or fault returned
services we expect from others • file upload/staging • something to store the persistent job info & redeploy if needed • resource allocation/scheduling • usable front end
Notifications • long term: WS-N • short term: well known SOAP message/SOAPAction; caller submits URL
Service Dependencies • external dependencies? • Ultimately: GRAAP, • WS-DM implementations • Callbacks: initially, direct SOAP, eventually WS-N • Logging if extant • What does your implementation depend on? • Java 1.4; Axis 1.2. SmartFrog 3.x, Jetty webserver
AAA & Security • we will use the OGSA security stuff • Current internal: encrypted, PKI-authenticated communications (RMI!) • What authorisation mechanism do you use? • TBD • What accounting mechanism do you use? • Nothing, yet • Does service interaction need to be encrypted? • Potentially sensitive data (passwords &c).
Exploiting the Service Architecture • What features from your ‘plumbing’ do you use in your service? • Event notification • Logging • Instrumentation for Management • Optional :Registry discovery/advertisement
Service Activity • Multiple users per machine • And/or one user/many machines • Throughput: O(minutes)-O(days) • data volume moved in (KB, + binary content) • Typical data volume moved out: KB
Service Failure • Required Reliability: service lifetime defines lifetimes of apps; uptime must exceed deployments. • Failure semantics? • Submit & forget • App failure policy in deployment descriptor • Persistence? Good Question. • Fault tolerance through distribution; can implement high-availability w/ custom components
Required Service Management • We are management infrastructure • Uses: management interfaces of things we deploy • Generates: management interfaces to the deployment graph.