Integrated Lifecycle of IT Services in a Cloud Environment Karuna P Joshi Ebiquity Research Group, Computer Science and Electrical Engineering Dept, UMBC http://ebiquity.umbc.edu/; http://mc2.umbc.edu kjoshi1@umbc.edu Introduction: Software Delivery Models In-house approach: Traditionally, software applications development and maintenance has been done within the company with it’s own employees. Outsourced or Off shored approach: Software applications purchased by companies. Development and maintenance is contracted to consulting/staffing companies who could be based anywhere in the world. Services on the Cloud approach: IT services purchased from software manufacturers who could be a single entity or a mix. Also termed virtualized software to imply the software development and maintenance is transparent to the consumer. IT Services Information Technology (IT) increasingly being viewed as a “Service” offered to an organization Software, Customizations, Support, Hosting and Maintenance purchased as a “Service” from providers. The X as a Service alphabet soup ◦ ◦ ◦ ◦ Infrastructure as a Service (IaaS) Platform as a Service (PaaS) Database as a Service (DaaS) Software as a Service (SaaS) etc… Services are virtualized -- shared across multiple provisioning. Virtualized IT Services on the Cloud Composed of one or more components developed by one or more providers and delivered as a single service to the consumer. Service dynamically composed ◦ Service structure/components not pre-determined ◦ Based on consumer’s requirements. (On demand composition) Delivered virtually via the Cloud / grid. Consumer specifies both functional and non functional requirements like quality, security, compliance etc. Key Open Issues Composition and orchestration of services currently requires a programmer with knowledge of ◦ WSDL (Web Services Definition Language) or similar languages to describe the services. ◦ BPEL (Business Process Execution Language) to specify the interactions between the services. ◦ Users who are not tech-savvy cannot use this. Currently there is no negotiation capability for service composition in cloud environment ◦ Cannot define variable constraints or negotiate on cost, SLAs etc. No automation of the current approach to discover services like RFPs, etc. Our Approach We propose a policy-based approach to automate the service lifecycle on the Cloud. Use Semantic web languages/technologies like OWL (Web Ontology Language), RDF (Resource Description Framework) and associated reasoning infrastructure such as AIR, Jess, etc. Extend the Service Oriented Architecture (SOA) to factor in expressive policies, negotiation and rules-based reasoning to make it more suitable for Cloud Environment. Policy for Services on the Cloud Enterprise Policies Service Negotiation • Business Processes • Budgetary rules • HR policies • Infrastructure / Facilities • Security • Compliance etc. Policies CONSUMER • Service Cost • Service Agreements • Service Obligations • Security • Compliance, Taxes etc. • Request for Service • Constraints Request For service Enterprise IT Service Environment • Services • Packaged applications • User devices (e.g. PCs, Laptops, PDAs etc.) • Servers • Network Infrastructure Service Policies Service Level Agreement Provider Service Environment Service Presentation service • SaaS • DaaS • PaaS • IaaS SERVICE CLOUD Policies service • Service components • Dependent Services • Service Agents • Development platform • Staging platform PROVIDER Methodology for Service Lifecycle Our proposed methodology divides Service Lifecycle into Five Phases ◦ ◦ ◦ ◦ ◦ Requirements Discovery Negotiation Composition Consumption This Methodology is applicable on private or public cloud. ● Have proposed metrics to track success of each phase. ● Have developed initial version of ontologies for the five phases. ● Phases of IT Services Lifecycle Service Requirements Service specified Service Discovery Provider(s) identified Service Negotiation Contract signed New Service needed Service Consumption CONSUMER Service Composition Service delivered SERVICE CLOUD Services Requirements phase ‘Request for Service’ Monitor Policy Manager policy consumer service •Policy Type •Hard constraints •Soft constraints •Dependents •Parents Services Manager •Name •Provider •Type •Attributes •Location •Dependencies Consumer •Service •Requirements policy Services Procurer •Service specs •Policies with constraints • RFS generator specs Provider 1 ‘Request for Service’ Monitor Issue Request for Service (RFS) •Service •Requirements Provider 2 ‘Request for Service’ Monitor •Service •Requirements Provider 3 ‘Request for Service’ Monitor •Service •Requirements Provider 4 Service Cloud Service Requirements Requirements for a service will include ◦ Functional specifications (tasks to be automated) ◦ Technical specifications Software applications and constraints Hardware Policy – Mobile device, PC, Server, Multicore etc. Operating System Policy – single OS, multiple OS Language Support Policy ◦ ◦ ◦ ◦ Agent experience Agent skill level Geographical location constraints Nationality/Work permit constraints ◦ Human Agent specifications Service Requirements (contd…) Requirements ◦ Security Policy for a service will include ◦ Role ◦ Permissions ◦ Data Quality Policy ◦ Low quality data may be acceptable to consumer if it provides cost saving ◦ Service Compliance Policy Standards adhered Certifications needed Government regulations adhered. Example of Requirements Policy Data Quality policy - // allows services of low data quality to be accepted if the service is free of cost. // Using AIR Policy Language @forAll :SERVICE_QUALITY, :COST. :data_quality_policy a air:Policy; rdfs:label "Data Quality policy"; air:rule :data-quality-rule. :data-quality-rule a air:Belief-rule; rdfs:label "data quality rule"; air:pattern { :SERVICE_QUALITY quality_level :LOW. :COST service_cost :0. }; air:assert {:SERVICE_QUALITY air:compliant-with :data_quality_policy.}; air:alt { air:assert {:SERVICE_QUALITY air:NOTcompliantwith :data_quality_policy.}}. High Level Ontology for Service Requirement Phase Class : Request for Service Class: Specification Class: Service Compliance Name Description is part of is part of is part of is part of Class: Data Quality policy Class : Functional Specs Task Description is part of Class: Human Agent Specs Experience Availability Nationality Other Constraints Class: Domain Domain Characteristics Is part of Is part of Service Domain Exp_Svc_Begin_Date Exp_Svc_End_Date RFS_Respond_by_dt Cost_constraint Must include is part of is part of Class Technical Specs Class: Security policy Is part of is part of Class: Operating System Details is sues Class: Consumer Consumer-ID Description is part of Class: Hardware Details Class: Compatible Application Details Service Discovery Services search/discovery engine ◦ Used to search available services that match the specifications ◦ Identify functional gaps that exist in services discovered Service Certification ◦ A central registry, like UDDI, will certify a service provided. ◦ Consumers can refer to this certification when selecting a service. Service Discovery phase Service Verification / Certification Service Requirements Service Discovery Engine List of service providers with advertised service, service levels and cost Service Negotiation CONSUMER SERVICE CLOUD Policy in Service Discovery phase RFS Responder Policy Manager consumer Services Manager service •Name •Provider •Type •Attributes •Location •Dependencies Consumer RFS •RFS negotiation specs Service available Cannot provide service Cost Availability Functionality Requirements met Provider 1 RFS Responder • Availability Provider 2 Service available Service Provider Validation •Service •Provider •Validation RFS Responder • Cost • Availability Functionality, Requirements met Service Composer • • • • Components Constraints Functionality Requirements met Provider 3 + policy •Policy Type Services •Hard Procurer constraints •Soft constraints policy •Service •Dependents •Policies •Parents •Generate • • • • Provider 4 Service Cloud High Level Ontology for Service Discovery Phase Class : Request for Service Service Domain Exp_Svc_Begin_Date Exp_Svc_End_Date RFS_Respond_by_dt Cost_constraint returns list to Class: Consumer Consumer-ID Description Class: Service Certification used in Class: Service Search Engine Verifies Provider creates Provider Service Name Service ranking adds to Class : Provider List Class: Provider Provider Service details Service availability Service Cost Service list Description Service Negotiation Discussion and agreement that the Service provider and consumer have regarding the Service. Service Level Agreements (SLA) finalized between consumer and provider Quality of Service (QoS) decided between primary provider and component providers. Service Negotiation phase Service Discovery Service Level Agreement (SLA) between consumer and primary service provider Service Quality of Service (QoS) between primary service providers and dependent services Service Composition, Orchestration CONSUMER SERVICE CLOUD Policy in Service Negotiation phase Iterative process Policy Manager policy •Policy Type •Hard constraints •Soft constraints •Dependents •Parents consume r Services Manager service •Name •Provider •Type •Attributes •Location •Dependencies policy Services Procurer •Service •Policies •Generate RFS specs •RFS negotiation Revised soft constraints, SLA Revised cost, configuration Iterative process Revised soft constraints, SLA Revised cost, configuration Final cost, SLA, configuration Service Negotiator •Cost •Availability •Service functionality •Requirements met Service Negotiator •Cost •Availability •Service functionality •Requirements met Provider 1 Policy Manager policy •Policy Type •Hard constraints •Soft constraints •Dependents •Parents policy Policy Manager •Policy Type •Hard constraints •Soft constraints •Dependents •Parents Provider 3 Provider 4 Consumer Service Cloud Provider High Level Ontology for Service Negotiation Phase Class : Request for Service Service Domain Exp_Svc_Begin_Date Exp_Svc_End_Date RFS_Respond_by_dt Cost_constraint Consumer-ID Description initiates Class: used in Class: Contract Negotiation Class: Consumer subClass of subClass of used in Class : Provider List Provider Service details Service availability Service Cost Consumer Negotiation results in participates Class: Service Level Agreement Class : is part of SLA Name Description SLA Metrics Penalty subClass of Class: Contract Class: Provider Service list Description Class : Quality of Service (QOS) initiates Class: Provider Negotiation results in QOS Name Description QOS Metrics Penalty Service Contract subClass of is part of Class : Dependent Service SubContract Service Composition Phase One or more services provided by one or more providers are combined and delivered as a single Service. ● Service orchestration determines the sequence of execution of the Service components. ● Service Coupling measure determines how dependent main service is on other services or resources for its delivery ● Service Cohesion measures the extent to which related aspects of a requirement are kept together in the same service, and unrelated aspects are kept out. ● Service Composition phase Service Negotiation Service composed Dependant services Service Consumption CONSUMER SERVICE CLOUD High Level Ontology for Service Composition Phase Class: Specification Name Description Determines Class: Provider Service list Description Executes Defines metrics for Class : OWL-S – Composite Process Is part of Class: Service Level Agreement SLA Name Description SLA Metrics Penalty Class : Quality of Service (QOS) Class: Dependent Service Defines metrics for QOS Name Description QOS Metrics Penalty Service Consumption Phase Composed Service is consumed and monitored in this phase. Key measures like Service Performance and reliability are monitored using automated tools. Phase includes Service Delivery, Service payment. Customer Satisfaction is tracked in this phase. Service Consumption phase Service Composition Service Requirements Service Monitored Service delivered – one time or periodically as needed Service consumed Service payment CONSUMER SERVICE CLOUD High Level Ontology for Service Consumption Phase Class: Provider Service list Description Provides Class: Consumer Consumer-ID Description is consumed by Class: Dependent Components Class : Response Time Class : Service Contract Class : OWL-S – Composite Process Class : Performance Determine quality for Class : Software components Class: Reliability Class : Latency Class : Throughput refers to Class: Security Policy Class: Resolution Time Part of Class : Service Level Agreement Task Description Class : Tier Class: Human Component Class: Presentation Class: Assurance subClass of subClass of 1 agent Class : Tier 2/ external agent Service Life cycle: detailed “Request for Service” Identify functional and technical specifications Determine domain, data type and it’s acceptable quality levels Service Discovery Engine Service Certification List of service providers with advertised service, service levels and cost Service Level Agreement (SLA) between consumer and primary service provider Service Monitoring Service consumed CONSUMER Service payment Quality of Service (QoS) contracts between primary service providers and dependent services Service composed Service packaged, delivered – one time or periodically as needed SERVICE CLOUD Dependant services Ongoing Work Currently developing policies for each phase of the service lifecycle using policy languages like AIR policy language developed by MIT. We continue to refine the IT Service ontology. Ontology in OWL for the entire Lifecycle is available at http://www.cs.umbc.edu/~kjoshi1/IT_Service_Ontology.owl Developing an integrated quality framework for virtualized services delivered via the cloud. Questions ? Relevant Publications on the Ebiquity website (http://ebiquity.umbc.edu)