Presentation is loading. Please wait.

Presentation is loading. Please wait.

© 2013 HP development company L.P. Cloud federation - SLAs Christian Temporale, Hewlett Packard 1 contrail is co-funded by the.

Similar presentations


Presentation on theme: "© 2013 HP development company L.P. Cloud federation - SLAs Christian Temporale, Hewlett Packard 1 contrail is co-funded by the."— Presentation transcript:

1 © 2013 HP development company L.P. Cloud federation - SLAs Christian Temporale, Hewlett Packard 1 contrail is co-funded by the EC 7th Framework Programme under Grant Agreement nr contrail-project.eu

2 © 2013 HP development company L.P. SLA concepts review Contrail SLA syntax SLA management SLA terms Multilevel SLA management Federation Negotiation Provider/SLA selection SLA splitting Agenda 2 contrail-project.eu

3 © 2013 HP development company L.P. 3 contrail-project.eu SLA concepts

4 © 2013 HP development company L.P. SLA – Service Level Agreement SLA: agreement (contract) between a Provider and a Consumer of a service A SLA is made of one or more SLOs SLO (Service Level Objective): it is a condition on a Term Term: measure of a given QoS or QoP attribute QoS (Quality of Service) attribute: it describes a specific measurable aspect of the quality of a service – Examples: Response time, Throughput QoP (Quality of Protection) attribute: it describes a specific measurable aspect of the security of a service – Examples: Authentication strength, Reputation, Resource location 4 contrail-project.eu

5 © 2013 HP development company L.P. Definitions of SLA ITIL (v3), Service Design Book – [A SLA is] an agreement between an IT Service Provider and a Customer. The SLA describes the IT service, documents Service Level Targets, and specifies the responsibilities of the IT Service Provider and the Customer. A single SLA may cover multiple IT Services or multiple customers. WS-Agreement specification - An agreement defines a dynamically- established and dynamically managed relationship between parties. The object of this relationship is the delivery of a service by one of the parties within the context of the agreement. The management of this delivery is achieved by agreeing on the respective roles, rights and obligations of the parties. The agreement may specify not only functional properties for identification or creation of the service, but also non-functional properties of the service such as performance or availability. Entities can dynamically establish and manage agreements via Web service interfaces. Contrail, D3.1 – A SLA is the part of a contract between the provider and the consumer of some service where the service itself is defined and the guarantees offered, usually by the provider, are stated. 5 contrail-project.eu

6 © 2013 HP development company L.P. SLA structure UUIDs: SLA ID and Template ID Validity: when the SLA is effective Parties: obliged parties: Provider and Customer Interface Declaration: identification of the Services that are object of the agreement Agreement Terms: Guarantees offered on the Services, including business attributes (price and penalties) SLA Validity UUIDs Parties Interface Declaration Variable Declaration Agreement Terms 6 contrail-project.eu

7 © 2013 HP development company L.P. A SLA template is… Like a pattern… …for a SLA 7 contrail-project.eu

8 © 2013 HP development company L.P. SLAs and SLA Templates 8

9 © 2013 HP development company L.P. Agreement terms Description – Detail 9 contrail-project.eu

10 © 2013 HP development company L.P. 10 contrail-project.eu SLA syntax

11 © 2013 HP development company L.P. BNF syntax of a simple SLA Template sla_template { uuid = example_slat_1 // universally unique identifier for this SLAT sla_model_version = sla_at_soi_sla_model_v1.0 party { id = ACME role = provider } interface_declr { id = the_service // the ID used within the SLAT to refer to "TheService“ provider_ref = ACME interface_spec { // an "Interface.Specification“ name = TheService operation{ // an "Interface.Operation“ name = doStuff } agreement_term { id = term_1 guaranteed_state { id = guaranteed_state_1 qos:completion_time(the_service) < 10s // a "ConstraintExpr“ } 11 contrail-project.eu UUID Provider party Interface declarations Agreement terms

12 © 2013 HP development company L.P. XML syntax of simple SLA Template 1/2 12 contrail-project.eu UUID Provider party Interface declarations

13 © 2013 HP development company L.P. XML syntax of simple SLA Template 2/2 13 contrail-project.eu Agreement terms

14 © 2013 HP development company L.P. 14 contrail-project.eu SLA management

15 © 2013 HP development company L.P. SLA Lifecycle Templates are defined according to the available services Customer selects a SLA template Customer negotiates a SLA using a SLA template Provisioning: service execution Assessment and corrective actions during execution Termination and decommission of the service Template definition Negotiation Provisioning Monitoring / Enforcement Expiration 15 contrail-project.eu

16 © 2013 HP development company L.P. Provider SLAM Architecture 16 contrail-project.eu Provider SLAM SLA Repository SLA Lifecycle manager & Negotiation SLA Enforcement VEP Provisioning manager Monitoring PAC POCPE SLAR SLATR violation messages initiateNegotiation negotiate createAgreement createTemplate getSLA createCustomer Web services

17 © 2013 HP development company L.P. SLA negotiation and provisioning 17 contrail-project.eu

18 © 2013 HP development company L.P. SLA enforcement 18 contrail-project.eu

19 © 2013 HP development company L.P. OVF is a standard format used to describe multiple virtual resources, their properties and their connections Provisioning services in Contrail use OVF descriptors as input OVF (Open Virtualization Format) 19 contrail-project.eu

20 © 2013 HP development company L.P. Role of OVF: to describe resources Role of SLA: to express guarantees on services SLAs contain both a service description and guarantees about the service There is a semantic overlap between OVFs and SLAs for IaaS resources Combining SLAs with OVF 20 contrail-project.eu OVF SLA Logical Networks Resources description Virtual Machines Virtual Disks Startup instructions Validity period Service guarantees Price / Penalties Scaling rules Resource details Agreement Parties

21 © 2013 HP development company L.P. Need a link between guarantees (SLA) and resources (OVF) – To enforce SLA terms, resources referenced in the guarantees must be well known Need elasticity – Contrail should support negotiation of long lasting SLAs for provisioning multiple OVFs – A SLA should be defined independently from the OVFs to be provisioned Possible solutions 1.Specific SLAs. They refer to specific appliances / OVF resources 1.E.g. VM34 will have 8Gb of RAM 2.Generic SLAs. They express guarantees that can be applied to all OVFs / appliances 1.E.g. All VMs will have 4Gb of RAM Combining OVF and SLA 21 contrail-project.eu

22 © 2013 HP development company L.P. Refer to a specific OVF file Express guarantees about specific OVF items (e.g. Virtual Systems or VS Collections) Specific SLAs 22 contrail-project.eu VS Collection SLA OVF descriptor

23 © 2013 HP development company L.P. Do NOT refer to a specific OVF file Express guarantees valid for all OVF appliances Generic SLAs 23 contrail-project.eu VS Collection SLA OVF descriptor

24 © 2013 HP development company L.P. Interface for overall OVF OVF_URL /opt/contrail/ ovf/lamp.ovf OVF-Descriptor-General ContrailProvider OVF-Endpoint VEP-ID OVFDescriptor Specific SLA: reference to an OVF file 24 contrail-project.eu Reference type: OVF descriptor (file)

25 © 2013 HP development company L.P. Interface to specific OVF item OVF_URL /opt/contrail/ ovf/lamp.ovf OVF-Descriptor-LAMP ContrailProvider OVF_VirtualSystem_ID MyLampService VM-with-Linux-Apache-MySQL-PHP VEP-ID OVFAppliance Specific SLA: reference to VirtualSystem 25 contrail-project.eu VirtualSystem ID inside the OVF Reference type: OVF appliance (VirtualSystem)

26 © 2013 HP development company L.P. Negotiation model for specific SLA Optimization problem: find “nearest” offer that fulfill user’s request – Constraints: OVF (lower bound): provider can’t offer less than the request VM Handler (upper bound): provider can’t offer more than resource available OVF SLA Combined resources Provider Small VM Medium VM Big VM Resources available Proposal Map functionCounter Offer 26

27 © 2013 HP development company L.P. Pricing model Logic determining the price of the services in the SLA Offer: totalPrice = resourcesPrice + guaranteePrice resourcesPrice= (cpu_speed * cpu_speed_unit_price) + (vm_cores * vm_core_unit_price) + (memory * memory_unit_price) guaranteesPrice = (resourcesPrice * guaranteeModificationPricePercentage) It’s open and flexible to meet the particulars pricing policies of different cloud computing providers. It’s possible to associate a price for each individual resource (CPU, RAM, HDD, etc.), a specific OVF, or a particular VM configuration.

28 © 2013 HP development company L.P. 28 contrail-project.eu SLA terms

29 © 2013 HP development company L.P. Classification of SLA Terms Term type – QoS (constraints on performance) – QoP (level of protection) Evolvability – Static (static properties, e.g. # of VM cores) – Dynamic (non static props., e.g. RAM) Monitorability & Controllability – Unobservable – Observable Enforceable Categorization in a Quality Model (e.g. S-CUBE) – Performance, Dependability, Reliability, Network-related, Infrastructure-related, Security, Auditability, Legal 29 contrail-project.eu Unobservable Observable Enforceable

30 © 2013 HP development company L.P. Quality Model 30 contrail-project.eu new quality terms/categories

31 © 2013 HP development company L.P. Example QoS/QoP SLA Terms QoS – Availability the probability that the cloud infrastructure is running over a predefined monitoring period (usually a month or a year) – Virtualization factor ratio between virtual and physical CPU cores QoP – Location country code where the resource (VM / storage) is located – Isolation level depends on which measures are taken to ensure isolation between different users hosted on the same infrastructure (e.g. storage encryption, communication encryption, zero-filling released storage, …) 31 contrail-project.eu

32 © 2013 HP development company L.P. SLA Terms supported in Contrail (v1.2) 32 contrail-project.eu Term nameDescriptionTypeEvolv.Enforc. vm_coresnumber of cores assigned to a VMQoSstaticEnf. memoryRAM size assigned to a VMQoSdynamicEnf. cpu_speedCPU frequency assigned to a VMQoSstaticEnf. (*) cpu_loadaverage system load over a 5- minute period QoSdynamicEnf. locationcountry code where the resource (VM / storage) is located QoPdynamic / static Obs. (*) quantized values

33 © 2013 HP development company L.P. Additional SLA terms in next releases 33 contrail-project.eu Term nameDescriptionTypeEvolv.Enforc. reservationResources reservationQoSstaticEnf. co-location (rack)Location of VM in the same cluster/host QoSstaticEnf. minimum LoAMinimum level of authentication needed to access users’ resources QoPstaticEnf. availability% of uptime of the whole provider infrastructure QoSdynamicObs. vm_cpu_load[5 min CPU avg load / # of cores] for the VM of a VirtualSystem QoSdynamicObs. host_cpu_load[5 min CPU avg load / # of cores] for the host of a VirtualSystem QoSdynamicEnf.

34 © 2013 HP development company L.P. Additional SLA terms in next releases /2 34 contrail-project.eu Term nameDescriptionTypeEvolv.Enforc. location for storage replicas for the given volume are placed in the given countries QoPdynamicObs. not-co-location (host) VMs are not allocated on the same cluster/host QoSstaticEnf. reliability for storage number N of replicas for the given volume QoSstaticEnf. bandwidthApplied to a single network defined in the OVF QoSstaticEnf. public IP addressApplied to a single network defined in the OVF QoSstaticEnf.

35 © 2013 HP development company L.P. 35 contrail-project.eu Multilevel SLA management

36 © 2013 HP development company L.P. SLA Interaction Model User negotiates a SLA with the Federation Federation negotiates SLAs with one or more providers, on behalf of the user 36 contrail-project.eu Cloud user Contrail Federation Layer SLA fed SLA 1 Contrail Provider Layer Provider P 1 IaaS 1 Contrail Resource Layer PaaS 1 SLA n Contrail Provider Layer Provider P n IaaS n Contrail Resource Layer PaaS n …

37 © 2013 HP development company L.P. Future: integration of external providers External providers will be integrated in future versions of Contrail The interaction model will not change for the user 37 contrail-project.eu Cloud user Contrail Federation Layer SLA fed SLA 1 Contrail Provider Layer Provider P 1 IaaS 1 Contrail Resource Layer PaaS 1 SLA n Contrail Provider (Proxy) Layer External Provider P n (Amazon, Azure, …) …

38 © 2013 HP development company L.P. SLAs in Contrail are the main pillars for Cloud Federations Federation: abstraction of providers SLA+OVF is a unified way for expressing user requirements QoS/QoP requested by each customer can be satisfied irrespective of the provider Federation: broker of providers – Provider selection is based on SLAs new market and business model for intermediate players Federation: small providers can join forces – SLA splitting allows distributing application over multiple providers Cloud B C C A A B B Federation C C A A B B 38 contrail-project.eu

39 © 2013 HP development company L.P. Added value of Contrail approach: Federation as a Virtualization of Clouds Contrail Federations relieve the user from managing cloud providers – Inner complexity is hidden to users – Federated Identity Management – Best / cheapest cloud provider is automatically selected based on user preferences Comparing SLAs and selecting the best provider opens new Cloud mediators market Automatic SLA negotiation allows Cloud providers to personalize their offer Worldwide Clouds made possible 39 contrail-project.eu

40 © 2013 HP development company L.P. Contrail high level architecture 40 contrail-project.eu

41 © 2013 HP development company L.P. SLA management in a Cloud Federation Cloud Provider VEP SecurityMonitoring Federation Federation SLA Management Provider Selection Federated Identity Accounting Application Splitting CSP SLA Mgmt. Provisioning Manager SLA 41 contrail-project.eu Cloud Provider VEP CSP SLA Mgmt. Cloud Provider VEP CSP SLA Mgmt.

42 © 2013 HP development company L.P. Multilevel SLA Management Architecture 42 contrail-project.eu Federation SLAM SLA Repository SLA Negotiation SLA Enforcement Provider SLAM SLA Repository SLA Negotiation SLA Enforcement VEP Provisioning Manager Monitoring Manager Provider Accounting Monitoring Hub Federation Accounting

43 © 2013 HP development company L.P. 43 General interaction model Cloud userFederationProviderIaaS / PaaS Resource Negotiate Select / Split SLA Negotiate Enforcement action Provision Monitoring events Provision Adjustment SLA violation Adjustment Enforcement action contrail-project.eu

44 © 2013 HP development company L.P. User access and applications retrieval 44 contrail-project.eu

45 © 2013 HP development company L.P. SLA negotiation /1 45 contrail-project.eu

46 © 2013 HP development company L.P. SLA negotiation /2 46 contrail-project.eu

47 © 2013 HP development company L.P. 47 contrail-project.eu Selection

48 © 2013 HP development company L.P. Provider selection Happens during user-federation negotiation Driven by user-specified preferences May be guided also by provider reputation, if the federation keeps track of it Roles: – The federation component gives the list of providers to be contacted by the Federation SLAM It might even vary for each negotiation round – The Federation SLAM negotiate the SLA template (proposal) with each provider and then selects the best SLA offers 48 contrail-project.eu

49 © 2013 HP development company L.P. User preferences – Users drive the provider selection process by specifying user preferences during the negotiation – User preferences include: Selection criteria (e.g. minimize price or maximize quality or even maximize penalties) Positive or negative preference on individual providers (e.g. not on Azure) 49 contrail-project.eu

50 © 2013 HP development company L.P. User criteria Each criterion is a pair {Guarantee Term, Weight}, weight {0, 1} Weight express the importance of the term for that criterion (max importance = 1). – By default, the weight is considered 0. Currently supported terms: – cpu_speed – core_number – memory – price 50 contrail-project.eu

51 © 2013 HP development company L.P. Provider list and User criteria - Syntax The Federation uses the SLA proposal itself to pass User criteria and Provider list to the Federation SLAM 51 contrail-project.eu

52 © 2013 HP development company L.P. Selection process 1.Offer guarantee terms are normalized versus user’s proposal – e.g. value of offer guarantee term / value of proposal guarantee term 2.User criteria are extracted from SLA Template proposal 3.Normalized values are weighted using Criteria related weight – e.g. normalized term value * term weight 4.An evaluation algorithm is applied to the set of weighted values 5.SLA offers are ordered according to the output values of the evaluation algorithm. 6.SLA offers are filtered Normalize terms Weight values Apply evaluation algorithm Order SLA offers Filter offers 52 contrail-project.eu

53 © 2013 HP development company L.P. Evaluation algorithms Evaluation algorithms, used to order SLA offers, and so determine the best one, take into account user criteria weights for impacted terms in each offer The problem is transformed in maximizing the Euclidean distance of a point from the origin, in an n-dimensional space. Dimensions can be: – Terms – Terms x VirtualSystems Term-1 Term-2 Term-3 Term-n P VS1,O1 d 0 P VS2,O1 P VS3,O1 P VS1,O2 P VS2,O2 P VS3,O2 SLA Offer1 SLA Offer2 53 contrail-project.eu

54 © 2013 HP development company L.P. Evaluation algorithms Different evaluation algorithms have been identified for ranking the SLA offers Based upon user criteria, one can privilege the offer including the most convenient VirtualSystem, etc. The Federation SLA Manager is configurable: the Federation Administrator can select the preferred algorithm, or can write their own Java class for it (implementing a common interface) 54 contrail-project.eu

55 © 2013 HP development company L.P. Algorithm example 1: best virtual system /1 For each VirtualSystem of each SLA offer, the algorithm computes the Euclidean distance from the origin of a t-dimensional point, t=NumTerms cpu_speed memory core_number price P(W 1, W 2, W 3, W 4 ) W 1 d j = distance of j-th VirtualSystem W i = weighted value of i-th term d 0 55 contrail-project.eu

56 © 2013 HP development company L.P. Algorithm example 1: best virtual system /2 The SLA offers are ranked based on their VirtualSystems distances The best SLA Offer is the one including the farther VirtualSystem from origin Term-1 Term-2 Term-3 Term-n P VS1,O1 P VS2,O1 P VS3,O1 P VS1,O2 P VS2,O2 P VS3,O2 SLA Offer1 SLA Offer2 56 contrail-project.eu

57 © 2013 HP development company L.P. Algorithm example 2: best mean offer /1 For each SLA offer, the algorithm computes the Euclidean distance from the origin of an {t*v}-dimensional point t=NumTerms, v=NumVirtualSystems Term1-VS1Term2-VS2 Term3-VS3 Term1-VS2 P W i k = weighted value of i-th term for the k- th virtualSystem djdj 0 Term2-VS2 Term i -VS k j = {1.. NumOffers} SLA Offer j 57 contrail-project.eu

58 © 2013 HP development company L.P. Algorithm example 2: best mean offer /2 The SLA offers are ranked based on their distances The best SLA Offer is the farthest one Term1-VS1Term2-VS2 Term3-VS3 Term1-VS2 P djdj 0 Term2-VS2 Term i -VS k SLA Offer j 58 contrail-project.eu

59 © 2013 HP development company L.P. Other algorithms Select the offer having the best “average” VirtualSystem Select the offer having the best VirtualSystem in relation to the average of the same VirtualSystem for the other n-1 offers Select the offer having the best average VirtualSystem in relation to the other offers … 59 contrail-project.eu

60 © 2013 HP development company L.P. 60 contrail-project.eu SLA splitting

61 © 2013 HP development company L.P. The SLA (or application) requires services that cannot be found on only one provider – E.g.: the customer wants to distribute its application in several countries The amount of resources required goes beyond what a single provider can offer (and guarantee) – A service provider does not have to be the size of Amazon to participate in the Federation The required performance cannot be guaranteed by any single provider alone – Scaling across multiple providers The Federation, according to its own risk management strategy, wants to distribute the risk of satisfying the user SLA Why splitting SLAs? 61 contrail-project.eu

62 © 2013 HP development company L.P. The Federation splits the user SLA and assigns the resulting SLAs to multiple providers Three types of SLA splitting strategies are considered: – Service-based SLA splitting – Resource-based SLA splitting – Performance-based SLA splitting Selection of the best split for a given SLA is a multi- objective optimization problem (total price, QoS offered, reputation…) Some terms cannot be split (invariant terms, typically QoP) Not only the SLA, but also the application must be split Splitting SLAs 62 contrail-project.eu

63 © 2013 HP development company L.P. Generation of several candidate splits, each with candidate providers Selection of the best split according to total price, QoS offered, reputation… Service-based SLA splitting 63 contrail-project.eu Cloud user Contrail Federation Layer SLA fed ServiceA ServiceB ServiceC SLA 1 ServiceA SLA 2 ServiceB ServiceC Provider P 1 Provider P 2

64 © 2013 HP development company L.P. Generation … Selection … Penalties cannot be split Federation, according to its risk management strategy, may ask more to providers to have some tolerance Resource-based SLA splitting 64 contrail-project.eu Cloud user Contrail Federation Layer SLA fed 100 x ResourceA SLA 1 60 x ResourceA SLA 2 50 x ResourceA Provider P 1 Provider P 2

65 © 2013 HP development company L.P. Generation … Selection … Penalties… Tolerance… Common entry point with load balancing across providers More complex if Service not stateless Performance-based SLA splitting 65 contrail-project.eu Cloud user Contrail Federation Layer SLA fed 100 requests/sec SLA 1 60 requests/sec SLA 2 50 requests/sec Provider P 1 Provider P 2

66 © 2013 HP development company L.P. SLA splitting steps (without selection) 66 contrail-project.eu

67 © 2013 HP development company L.P. SLA splitting with selection 67 contrail-project.eu

68 © 2013 HP development company L.P. We Need You! Penalties support – Provider – Federation (requires a risk management algorithm) Support for new SLA terms New selection algorithms SLA splitting Cloud bursting 68 contrail-project.eu

69 © 2013 HP development company L.P. References Contrail web site – Public deliverables (SLA-related: D3.1, D3.2, D3.3, and D2.2): – Provider SLA Manager online documentation: – First version of Provider SLA Manager: – Last release packages list (contrail-provider-sla and contrail-provider-tools): – Contacts – – 69 contrail-project.eu

70 © 2013 HP development company L.P. Thank you!

71 © 2013 HP development company L.P. Funded under: FP7 (Seventh Framework Programme) Area: Internet of Services, Software & Virtualization (ICT ) Project reference: FP7-IST Total cost: 11,29 million euro EU contribution: 8,3 million euro Execution: From till Duration: 36 months Contract type: Collaborative project (generic) contrail is co-funded by the EC 7th Framework Programme 71 contrail-project.eu

72 © 2013 HP development company L.P. Backup slides

73 © 2013 HP development company L.P. vs WS-Agreement WS-Agreement SLA Terms Service Terms Guarantee Terms Context Name SLA Validity UUIDs Parties Interface Declrs Variable Declrs Agreement Terms 73 contrail-project.eu

74 © 2013 HP development company L.P. Contrail current -and future- features Multi-level SLA Negotiation – At Federation level, users negotiate SLAs with the Federation – At Provider level, the Federation negotiates SLAs with multiple Cloud Providers, on behalf of end users – Provider selection: F-SLAM selects best SLA offer according to user criteria – SLA splitting: SLA may be split among different cloud providers, according to their specific capabilities SLA Enforcement – At provisioning time, monitoring of allocated resources is started at Provider level – Support for proactive enforcement – When SLA is violated, the SLA manager is informed and may take a (corrective) action. Scope of corrective actions depend on the level: resources (provider level) or cloud providers (federation level) Accounting – The monitoring component records resource consumption information 74 contrail-project.eu

75 © 2013 HP development company L.P. SLAs – the Business side… A service is a means of delivering value to customers by facilitating outcomes customers want to achieve without the ownership of specific costs and risks [ITIL v3 Overview] A Service Level Agreement (SLA) between a service provider and its customers will assure customers that they can get the service they pay for and will obligate the service provider to achieve its service promises [Jin] Failing to meet SLAs could result in serious financial consequences for a provider. Hence, service providers are interested in gaining a good understanding of the relationship between what they can promise in an SLA and what their IT infrastructure is capable of delivering [Jin] 75 contrail-project.eu

76 © 2013 HP development company L.P. Examples of SLA QoS terms VM Cores VM CPU Speed VM Memory Size VM Quantity Appliance availability Infrastructure availability VM Disk Throughput Bandwidth (VM Net Throughput) Colocation Database transactions per second Web application requests per second MTTF - Mean time to Service Availability Failure MTTR - Mean time to Recovery from a Service Availability Failure Database query latency Key/Value store latency Map/Reduce makespan Bag of tasks makespan Bag of tasks execution cost 76 contrail-project.eu

77 © 2013 HP development company L.P. Examples of SLA QoP terms Authenticated accesses Authorized accesses Isolation from external subjects Isolation among users Isolation from Cloud provider Integrity of users' data Communication Confidentiality Communication Integrity Operation logging Physical location 77 contrail-project.eu

78 © 2013 HP development company L.P. Violation message example 78

79 © 2013 HP development company L.P. Pricing tables 79


Download ppt "© 2013 HP development company L.P. Cloud federation - SLAs Christian Temporale, Hewlett Packard 1 contrail is co-funded by the."

Similar presentations


Ads by Google