Open Grid Services Architecture: An Introduction Ian Foster Mathematics and Computer Science Division Argonne National Laboratory and Department of Computer Science The University of Chicago http://www.mcs.anl.gov/~foster OGSA Early Adopters Workshop, Argonne, May 29, 2002 2 Overview z Meeting goals and program z Grids and the Globus Toolkit z Open Grid Services Architecture (OGSA) z Motivation & concepts Core interfaces and examples OGSA and the Globus Toolkit Plans and implementation status 3 Overview z Meeting goals and program z Grids and the Globus Toolkit z Open Grid Services Architecture (OGSA) z Motivation & concepts Core interfaces and examples OGSA and the Globus Toolkit Plans and implementation status 4 Meeting Goals z Communicate to potential early adopters information about the structure and use of Globus Toolkit “OGSA Technology Preview” z Reference implementation of current GS Specification => will evolve! Obtain feedback on technology & directions Discuss activities underway &/or required to expand OGSA activities to encompass higher-level services Make connections & build teams 5 Meeting Structure z z Day 1: Tutorial OGSA introduction Web services introduction Grid service specification OGSA Technology Preview Preview Days 2 and 3: Twin tracks Programming with Grid services OGSA service design Day 1: Tutorial Auditorium 9:00-10:30: Introduction to OGSA, Ian Foster 10:30-11:00: Break 11:00-12:30: Web Services, Steve Graham 12:30-2:00: Lunch (ANL Guest House) 2:00-3:00: Grid Services, Steve Tuecke 3:30- 4:00: Break 4:00-5:30: Implementation Overview Overview of OGSI Tech Preview Release & Demo, Thomas Sandholm OGSI J2EE Design, Scott Sylvester Days 2 and 3: Write a Grid Service Room F108 Day 2 8:30-9:00 9:00-10:00 10:00-10:30 10:30-11:00 11:00-12:30 12:30-2:00 2:00-3:00 3:30-4:00 4:00-5:30 Day 3 8:30-9:00 9:00-10:30 10:30-11:00 11:00-12:30 12:30-1:30 Continental Breakfast Web Services Technologies and WSAD Demo Use of Web Services Technologies and Tools Break Intro to the Development Environment Lunch (ANL Guest House) Introduction to Suggested Exercises Break Exercises and Ad Hoc Presentations Continental Breakfast Exercises and Ad Hoc Presentations Break Finish Exercises and Present Results Lunch (ANL Guest House) Day 2 Days 2 and 3: Architecture Sessions Auditorium 8:30-9:00 9:00-10:30 10:30-11:00 11:00-11:45 11:45-12:30 12:30-2:00 2:00-3:30 3:30-4:00 4:00-4:45 4:45-5:30 Day 3 8:30-9:00 9:00-9:45 9:45-10:30 10:30-11:00 11:00-12:30 12:30-1:30 Continental Breakfast Services Architecture & Brainstorming Break Infrastructure Specifications Security Lunch (ANL Guest House) Resource Management and Discovery Break Services Definition: databases Services Definition: data replication Continental Breakfast Service Definition: clustering and logging European DataGrid’s use of OGSA Break Wrap-Up Lunch (ANL Guest House) Key People z Karl Czajkowski, Ian Foster, Carl Kesselman, Frank Siebenlist, Steve Tuecke, Von Welch, Larry Flon z Jeff Frey, Steve Graham, Inderpal Narang, Jeff Nick, Scott Sylvester, John Rofrano, … z OGSA C runtime and services project lead Gregor von Laszewski z OGSI Technology Preview Implementation Kate Keahey z OGSA design team, IBM Jarek Gawor, Thomas Sandholm, John Bresnahan, Ravi Madduri, Mike Darcy z OGSA design team, Globus Project Java technologies Lisa Childers OGSA project coordinator 9 10 Project Partners z Keith Jackson, Mary Thompson (LBNL) z Malcolm Atkinson, Norman Paton (UK) z Cool Web service stuff EU DataGrid and EU GridLab projects z Database services Dennis Gannon, Geoffrey Fox, Mary Thomas z Security, Python bindings, services Various higher-level services Hopefully more by the end of the meeting 11 Support z z IBM OGSA-enabled Websphere, DB2 Support of Globus Project OGSA R&D Microsoft z Entropia, Platform, United Devices, Avaki z OGSA support in .NET OGSA-compliant products DOE Office of Science MICS Office 12 Overview z Meeting goals and program z Grids and the Globus Toolkit z Open Grid Services Architecture (OGSA) z Motivation & concepts Core interfaces and examples OGSA and the Globus Toolkit Plans and implementation status 13 The Grid Vision “Resource sharing & coordinated problem solving in dynamic, multi-institutional virtual organizations” On-demand, ubiquitous access to computing, data, and services New capabilities constructed dynamically and transparently from distributed services “When the network is as fast as the computer's internal links, the machine disintegrates across the net into a set of special purpose appliances” (George Gilder) 14 Underlying Technical Requirements z z z z Dynamic formation and management of virtual organizations Online negotiation of access to services: who, what, why, when, how Configuration of applications and systems able to deliver multiple qualities of service Autonomic management of distributed infrastructures, services, and applications 15 State of the Art (1): Globus ToolkitTM (since 1996) z Small, standards-based set of protocols for distributed system management z Information-centric design z Data models; publication, discovery protocols Open source implementation z Authentication, delegation; resource discovery; reliable invocation; etc. Large international user community Successful enabler of higher-level services and applications 16 State of the Art (2): Grid Services and Tools z z z z Data-oriented: replica location, replica management, collection management Security: community authorization Scheduling: Condor, superschedulers, brokers Programming: object models, message passing, etc. z Portal toolkits z Etc., etc. 17 The Globus Toolkit in One Slide z Grid protocols (GSI, GRAM, …) enable resource sharing within virtual orgs; toolkit provides reference implementation ( = Globus Toolkit services) MDS-2 (Monitor./Discov. Svc.) Reliable remote GSI User invocation Gatekeeper Reporter (Grid (registry + Authenticate & (factory) discovery) Security create proxy Create process Register Infrastruc- credential ture) User process #1 Proxy User process #2 Proxy #2 GRAM (Grid Resource Allocation & Management) z Soft state registration; enquiry Other GSIauthenticated remote service requests GIIS: Grid Information Index Server (discovery) Other service (e.g. GridFTP) Protocols (and APIs) enable other tools and services for membership, discovery, data mgmt, workflow, … 18 Globus Toolkit Structure Service naming Soft state management Reliable invocation GRAM Notification MDS GSI GridFTP MDS ??? GSI GSI Data Resource Other Service or Application Job manager Job manager Compute Resource Lots of good mechanisms, but (with the exception of GSI) not that easily incorporated into other systems 19 Globus Toolkit: Evaluation (+) z z Good technical solutions for key problems, e.g. Authentication and authorization Resource discovery and monitoring Reliable remote service invocation High-performance remote data access This & good engineering is enabling progress Good quality reference implementation, multilanguage support, interfaces to many systems, large user base, industrial support Growing community code base built on tools 20 Globus Toolkit: Evaluation (-) z Protocol deficiencies, e.g. z z Heterogeneous basis: HTTP, LDAP, FTP No standard means of invocation, notification, error propagation, authorization, termination, … Significant missing functionality, e.g. Databases, sensors, instruments, workflow, … Virtualization of end systems (hosting envs.) Little work on total system properties, e.g. Dependability, end-to-end QoS, … Reasoning about system properties 21 Grid Services and Tools: Critique + A wide variety of wonderful tools have been constructed + Use of common Grid infrastructure has accelerated development and deployment - Still relatively little reuse of constituent components across projects - Interoperability does not extend to important issues like error notification 22 Overview z Meeting goals and program z Grids and the Globus Toolkit z Open Grid Services Architecture (OGSA) z Motivation & concepts Core interfaces and examples OGSA and the Globus Toolkit Plans and implementation status Grid Evolution: Open Grid Services Architecture z Four largely orthogonal goals 1) Refactor Globus protocol suite to enable common base and expose key capabilities 2) Extend for new technical requirements 3) Service orientation to virtualize resources and unify resources/services/information 4) Embrace key Web services technologies for standard IDL, leverage commercial efforts z Result Standard interfaces & behaviors for building distributed systems: the Grid service 23 24 Refactor Globus Protocol Suite z z Extract, generalize, allow modular use of protocols and mechanisms for Reliable invocation Service description & information access Notification Policy management Lifetime management Service naming Authentication Designed in an integrated, uniform fashion 25 Extend into New Areas z Extend core protocol suite to address Manageability Concurrency control Others 26 Service Orientation z Define all entities by interface & behavior, so that Resources and programs are treated in the same manner & accessed in the same way Virtualization easy to achieve: e.g. “compute service” may be computer or network 27 Embrace Standards: Two Distinct (But Interrelated) Issues z Standard means of defining, discovering, and invoking interfaces z Addressed by Web services Standard means of customizing computer systems to application requirements Addressed by hosting environments: J2EE, .NET, … 28 OGSA System Structure z A standard substrate: the Grid service z The “Grid Service Specification” … supports standard service specifications z Standard interfaces and behaviors that address key distributed system issues Resource management, databases, workflow, security, diagnostics, etc., etc. Target of current & planned GGF efforts … and arbitrary application-specific services based on these & other definitions 29 OGSA Definition and Delivery (Very Approximate!!) Other Systems T I M E GGF OGSI WG Grid Service Specification GGF WGs Other core specs: • Security • Res. Mgmt. • Etc. GGF WGs Other specs: • Databases • Etc. • Etc. Prototype Feedback Globus OGSI Reference Impln Globus Toolkit Version 3 Other OGSAbased software Open Grid Services Architecture: Transient Service Instances z “Web services” address discovery & invocation of persistent services z z Interface to persistent state of entire enterprise In Grids, must also support transient service instances, created/destroyed dynamically Interfaces to the states of distributed activities E.g. workflow, video conf., dist. data analysis Significant implications for how services are managed, named, discovered, and used In fact, much of OGSA (and Grid) is concerned with the management of service instances 30 31 Open Grid Services Architecture z Defines fundamental (WSDL) interfaces and behaviors that define a Grid Service z E.g., serviceType (a group of portTypes) Delivery via open source Globus Toolkit 3.0 z A unifying framework for interoperability & establishment of total system properties Defines WSDL extensibility elements z Required + optional interfaces = WS “profile” Leverage GT experience, code, community And also commercial implementations 32 The Grid Service = Interfaces/Behaviors + Service Data Service data access Explicit destruction Soft-state lifetime Binding properties: - Reliable invocation - Authentication GridService (required) Service data element … other interfaces … (optional) Service data element Service data element Implementation Hosting environment/runtime (“C”, J2EE, .NET, …) Standard: - Notification - Authorization - Service creation - Service registry - Manageability - Concurrency + applicationspecific interfaces 33 “Web Services” z Increasingly popular standards-based framework for accessing network applications z WSDL: Web Services Description Language z XML-based RPC protocol; common WSDL target WS-Inspection z Interface Definition Language for Web services SOAP: Simple Object Access Protocol z W3C standardization; Microsoft, IBM, Sun, others Conventions for locating service descriptions UDDI: Universal Desc., Discovery, & Integration Directory for Web services 34 OGSA and Hosting Enviroments protocol termination protocol termination protocol termination Demarshalling / Decoding / Routing container Grid service impl. Grid service impl. 35 Open Grid Services Architecture: Fundamental Structure 1) WSDL conventions and extensions for describing and structuring services Useful independent of “Grid” computing 2) Standard WSDL interfaces & behaviors for core service activities portTypes and operations => protocols 36 WSDL Conventions & Extensions z portType (standard WSDL) z serviceType (extensibility element) z Represents actual code service (standard WSDL) z List of port types: enables aggregation serviceImplementation (extensibility element) z Define an interface: a set of related operations instanceOf extension: map descr.->instance compatibilityAssertion (extensibility element) portType, serviceType, serviceImplementation Standard Interfaces & Behaviors: Four Interrelated Concepts z Naming and bindings z Information model z z Every service instance has a unique name, from which can discover supported bindings Service data associated with Grid service instances, operations for accessing this info Lifecycle Service instances created by factories Destroyed explicitly or via soft state Notification Interfaces for registering interest and delivering notifications 37 OGSA Interfaces and Operations Defined to Date z z z GridService FindServiceData Destroy SetTerminationTime Required z Factory z SubscribeToNotificationTopic UnsubscribeToNotificationTopic z DeliverNotification z FindByPrimaryKey DestroyByPrimaryKey Registry NotificationSink CreateService PrimaryKey NotificationSource 38 RegisterService UnregisterService HandleMap Authentication, reliability are binding properties Manageability, concurrency, etc., to be defined FindByHandle 39 Service Data z A Grid service instance maintains a set of service data elements z FindServiceData operation (GridService interface) queries this information z XML fragments encapsulated in standard <name, type, TTL-info> containers Includes basic introspection information, interfacespecific data, and application data Extensible query language support See also notification interfaces Allows notification of service existence and changes in service data Grid Service Example: Database Service z z A DBaccess Grid service will support at Grid least two portTypes GridService DBaccess Each has service data Service DBaccess Name, lifetime, etc. DB info GridService: basic introspection information, lifetime, … DBaccess: database type, query languages supported, current load, …, … 40 41 Lifetime Management z GS instances created by factory or manually; destroyed explicitly or via soft state z z Negotiation of initial lifetime with a factory (=service supporting Factory interface) GridService interface supports Destroy operation for explicit destruction SetTerminationTime operation for keepalive Soft state lifetime management avoids Explicit client teardown of complex state Resource “leaks” in hosting environments 42 Factory z Factory interface’s CreateService operation creates a new Grid service instance z z Reliable creation (once-and-only-once) CreateService operation can be extended to accept service-specific creation parameters Returns a Grid Service Handle (GSH) A globally unique URL Uniquely identifies the instance for all time Based on name of a home handleMap service 43 Transient Database Services “What services can you create?” “Create a database service” Grid Service “What database services exist?” DBaccess Factory Grid Service DBaccess Instance name, etc. Name, lifetime, etc. Factory info DB info Grid Service Registry Grid Service DBaccess Instance name, etc. Name, lifetime, etc. Registry info DB info 44 Example: Data Mining for Bioinformatics Community Registry Mining Factory Database Service BioDB 1 User Application “I want to create a personal database containing data on e.coli metabolism” Compute Service Provider . . . Database Factory . . . Database Service BioDB n Storage Service Provider 45 Example: Data Mining for Bioinformatics “Find me a data Community mining service, and Registry somewhere to store data” Mining Factory Database Service BioDB 1 User Application Compute Service Provider . . . Database Factory . . . Database Service BioDB n Storage Service Provider 46 Example: Data Mining for Bioinformatics GSHs for Mining and Database factories User Application Community Registry Mining Factory Database Service BioDB 1 Compute Service Provider . . . Database Factory . . . Database Service BioDB n Storage Service Provider 47 Example: Data Mining for Bioinformatics Community Registry “Create a data mining service with initial lifetime 10” User Application “Create a database with initial lifetime 1000” Mining Factory Database Service BioDB 1 Compute Service Provider . . . Database Factory . . . Database Service BioDB n Storage Service Provider 48 Example: Data Mining for Bioinformatics Community Registry “Create a data mining service with initial lifetime 10” User Application “Create a database with initial lifetime 1000” Mining Factory Database Service Miner BioDB 1 Compute Service Provider . . . . . . Database Factory Database Service BioDB n Database Storage Service Provider 49 Example: Data Mining for Bioinformatics Community Registry Mining Factory Query Miner User Application Compute Service Provider . . Query . Database Factory Database Service BioDB 1 . . . Database Service BioDB n Database Storage Service Provider 50 Example: Data Mining for Bioinformatics Community Registry Keepalive Mining Factory Query Miner Compute Service Provider . . Query . User Application Keepalive Database Factory Database Service BioDB 1 . . . Database Service BioDB n Database Storage Service Provider 51 Example: Data Mining for Bioinformatics Community Registry Keepalive User Application Keepalive Mining Factory Database Service Miner BioDB 1 Compute Service Provider . . . . . . Database Factory Results Database Service Results BioDB n Database Storage Service Provider 52 Example: Data Mining for Bioinformatics Community Registry User Application Keepalive Mining Factory Database Service Miner BioDB 1 Compute Service Provider . . . . . . Database Factory Database Service BioDB n Database Storage Service Provider 53 Example: Data Mining for Bioinformatics Community Registry Mining Factory Database Service BioDB 1 Compute Service Provider . . . User Application Keepalive Database Factory . . . Database Service BioDB n Database Storage Service Provider 54 Notification Interfaces z NotificationSource for client subscription z z One or more notification generators z Generates notification message of a specific type z Typed interest statements: E.g., Filters, topics, … z Supports messaging services, 3rd party filter services, … Soft state subscription to a generator NotificationSink for asynchronous delivery of notification messages A wide variety of uses are possible E.g. Dynamic discovery/registry services, monitoring, application error notification, … 55 Notification Example z Notifications can be associated with any (authorized) service data elements Grid Service Grid Service Notification Sink Name, lifetime, etc. DB info DBaccess Name, lifetime, etc. Notification Source DB info Subscribers 56 Notification Example z Notifications can be associated with any (authorized) service data elements Grid Service Notification Sink “Notify Name, lifetime, etc. DB info me of new data about membrane proteins” Notification Source Grid Service DBaccess Name, lifetime, etc. DB info Subscribers 57 Notification Example z Notifications can be associated with any (authorized) service data elements Grid Service Name, lifetime, etc. DB info Grid Service Notification Sink Keepalive Notification Source DBaccess Name, lifetime, etc. DB info Subscribers 58 Notification Example z Notifications can be associated with any (authorized) service data elements Grid Service Notification Sink New data Name, lifetime, etc. DB info Grid Service DBaccess Name, lifetime, etc. Notification Source DB info Subscribers 59 Overview z Meeting goals and program z Grids and the Globus Toolkit z Open Grid Services Architecture (OGSA) z Motivation & concepts Core interfaces and examples OGSA and the Globus Toolkit Plans and implementation status 60 OGSA and the Globus Toolkit z Technically, OGSA enables z Refactoring of protocols (GRAM, MDS-2, etc.)—while preserving all GT concepts/features! Integration with hosting environments: simplifying components, distribution, etc. Greatly expanded standard service set Pragmatically, we are proceeding as follows Develop open source OGSA implementation z Globus Toolkit 3.0; supports Globus Toolkit 2.0 APIs Partnerships for service development Also expect commercial value-adds GT3: An Open Source OGSACompliant Globus Toolkit z GT3 Core z Reference impln of evolving standard Java first, C soon, C#? GT3 Base Services z Implements Grid service interfaces & behaviors Evolution of current Globus Toolkit capabilities Backward compatible Many other Grid services GT3 Data Services Other Grid Services GT3 Base Services GT3 Core 61 62 Evolution z This is not happening all at once z We have an early prototype of Core (“Technology Preview” release in May) Next we will work on Base, others Full release by end of 2002 (estimate) Partnerships in place for other services Backward compatibility API level seems straightforward Protocol level: gateways? We need input on best strategies Open Grid Services Architecture: Summary z Service orientation to virtualize resources z z Everything is a service From Web services z 63 Standard interface definition mechanisms: multiple protocol bindings, local/remote transparency From Grids Service semantics, reliability and security models Lifecycle management, discovery, other services Multiple “hosting environments” C, J2EE, .NET, … 64 Recap: The Grid Service Reliable invocation Authentication Service data access Explicit destruction Soft-state lifetime GridService Service data element … other interfaces … Service data element Service data element Implementation Hosting environment/runtime (“C”, J2EE, .NET, …) Notification Authorization Service creation Service registry Manageability Concurrency Hmm, Isn’t This Just Another Object Model? z Well, yes, in a sense z Strong encapsulation We (can) profit greatly from experiences of previous object-based systems But Focus on encapsulation not inheritance Does not require OO implementations Value lies in specific behaviors: lifetime, notification, authorization, …, … Document-centric not type-centric 65 Grids and OGSA: Research Challenges z z Grids pose profound problems, e.g. Management of virtual organizations Delivery of multiple qualities of service Autonomic management of infrastructure Software and system evolution OGSA provides foundation for tackling these problems in a rigorous fashion? Structured establishment/maintenance of global properties Reasoning about total system properties 66 67 Summary: Goals for this Meeting z z z Jump start OGSA-based development efforts that will inform and complement OGSA specification and implementation Nucleate groups that will work to expand the set of OGSA specifications Create an OGSA community