SeaClouds Project D6.2 - Case Study test-beds and key features mapping Project Acronym Project Title Call identifier Grant agreement no. 610531 Start Date 1 st October 2013 Ending Date 31 st March 2016 SeaClouds Seamless adaptive multi-cloud management of servicebased applications FP7-ICT-2012-10 Work Package WP6 Case Studies implementation and Validation Deliverable code D6.2 Deliverable Title Case Study test-beds and key features mapping Nature Report Dissemination Level Public Due Date: M12 Submission Date: 10 th October 2014 Version: 1.0 Status Final Author(s): Francesco D Andria (Atos), Christian Tismer (NURO) Reviewer(s) Andrea Turli (Cloudsoft), Miguel Barrientos (UMA)
2 Dissemination Level Project co-funded by the European Commission within the Seventh Framework Programme Public Restricted to other programme participants (including the Commission) Restricted to a group specified by the consortium (including the Commission) Confidential, only for members of the consortium (including the Commission) X
3 Table of Contents 1. Executive Summary... 5 2. Introduction... 6 2.1 Structure of deliverable... 6 3. SoftCare Application Case Study [1]... 7 3.1 Design of the SoftCare Application case study... 8 3.2 Role of the SeaClouds tools... 10 4. Cloud gaming Case Study... 14 4.1 Design of the Cloud Gaming case study... 14 4.2 Role of the SeaClouds tools... 18 5. SeaClouds Testbed... 20 6. Conclusions... 21 7. References... 22
4 List of Figures FIGURE 1: SOFTCARE APPLICATION OVERVIEW... 10 FIGURE 2: POSSIBLE SOFTCARE APPLICATION STRUCTURAL ELEMENTS GRAPH... 11 FIGURE 3: POSSIBLE SOFTCARE APPLICATION DEPLOYMENT STRATEGY... 12 FIGURE 4: APPLICATION AND PLATFORM MONITORING METRICS VISUALIZATION... 12 FIGURE 5: NURO CLOUD GAMING CASE STUDY... 14 FIGURE 6: DAILY USAGE SINCE GAME LAUNCH... 15 FIGURE 7: BOOM SCENARIO... 15 FIGURE 8: NURO CASE STUDY HIGH LEVEL ARCHITECTURE... 16 FIGURE 8: NURO CASE STUDY LOW LEVEL ARCHITECTURE... 17 FIGURE 10: SEACLOUDS COMPONENTS OVERVIEW... 20
5 1. Executive Summary This deliverable presents an improved and comprehensive version of the definition of the two SeaClouds Case Studies. In this regard, the deliverable will extend D6.1 in order to produce a stable description and key features mapping of the case studies. On the other hand, the D6.2 aims as well at describing the SeaClouds testbed will provide the ability to evaluate the correctness of the SeaClouds solutions as well as providing a Cloud environment where the SoftCare and Cloud gaming Case Studies can run.
6 2. Introduction The results of SeaClouds aim to benefit Cloud-based application developers and/or providers and Cloud providers. Cloud-based application developers / providers will be able to seek for best-fit cloud services, deploy, and manage their applications on multiple offerings, both within the same as well as across different Cloud providers without setting data at risk, alleviating the primary barrier for platform adoption, viz. the vendor lock-in. They would be able to compare Cloud offerings with different characteristics and formats (data models) and choose the one that best matches their computational needs taking into account the requirements of the business application: technological requirements as well as non-functional requirements such as: QoS, SLA, Location, etc. SeaClouds also opens up the Cloud market to small-medium European Cloud providers, and strengthen their market position by leveraging accessibility (initial location and deployment) and sustainability (application orchestration/portability) to its Cloud-based application developer customers as a competitive advantage. The two pilots that will be described in the current deliverable will take advantage of the SeaClouds functionality from the application developers / providers perspective. The endmost goal is the deployment, the orchestration including the management and migration of complex applications modules above different PaaS providers. 2.1 Structure of deliverable The section 3 provides a detailed description of the ATOS SoftCare Application Case Study. The section 4 provides a detailed description of the Nuro Cloud Gaming Case Study The section 5 describe the SeaClouds testbed will provide the ability to evaluate the correctness of the SeaClouds solutions. Finally the section 6 finalizes the document.
7 3. SoftCare Application Case Study [1] Current cloud technologies suffer from a lack of standardization, which prevents their adoption. This issue is exacerbated in the case of cloud-based e-health and social care systems, where we need to deploy and adaptively manage complex and heterogeneous applications across multiple public and private infrastructures. In the context of the SeaClouds project, ATOS aims to implement and assess a heterogeneous, multi-cloud-enabled e-health and social care proof-of-concept, built to service the needs of elderly people affected by degenerative disease. Providers of heterogeneous e-health systems are increasingly discovering that they can leverage public clouds for non-sensitive functions, while employing on-site or private clouds for more sensitive operations or where regulatory requirements exist (i.e. for medical data repositories, etc.). The proof-of-concept would provide the following tools: Peer-to-peer tools to maintain a close link between patients and their public/private health systems, useful in daily monitoring of patient health. Educational tools (e.g. electronic libraries, videos, brain games, etc.) to facilitate personal motivation and enhance the notion of self-management. An interactive platform for music therapy, to improve behavioural and psychological symptoms. Video conferencing facilities to provide a more thorough clinical image of patients to medical experts. A platform that integrates social networks, helping elderly people keen to maintain contact with different generations of their family. Certainly, in terms of intended benefits, cost savings continue to be a priority; however, more experienced organizations also rate increased speed of innovation as an advantage. In this context, SeaClouds offers the ability to: Contrast and compare different and heterogeneous clouds in a fragmented market of difficult-to-compare cloud solutions. Reduce operational overheads associated with multi-cloud application management, thanks to simple governance complex application through unified interfaces, dashboard monitoring, unified metrics and user-defined SLA policies between cloud platforms.
8 Help alleviate vendor lock-in and reduce switching costs in an ecosystem of cloud adapters, thus empowering developers to migrate and maintain complex systems between competing cloud environments. 3.1 Design of the SoftCare Application case study The SoftCare application can be represented by three main modules; one of them is the server-side that can be distributed in a multi-cloud environment the second is the clientside to allow clinicians or specialists in general to program the application (set-up policies and provide multimedia contents) as well as monitor/evaluate the status of the users and finally the desktop-side to allow users (elderly people) to consume functionalities and (multimedia) content provided by the system. In the context of the SeaClouds scenario the desktop-side, which is represented by a desktop application that will run locally on the user s computer, may not take part of the SeaClouds multi-cloud deployment and management scenario. It will be used by elderly people, which collects all measurements and parameter data that are sent later to the server. All this data will be later processed and stored by the server application. The other two modules can be seen as a composition of four main components or pool of software tools: the Server Application, the Security Service, Persistent & data storage, and added value tools provided by third party suppliers, like Email & SMS delivery service or a Multimedia Repository management service, or a Video Call service which will be part of this application to enhance its functionalities. Going into detail the server application is responsible for the management of all the application logic. Since the interaction between the components belong to the server application is through http/soap all its components may be distributed in the same or in different public or private clouds. The server application has two main services (having the ability to include more in the future). The first one is a SOA based web services application that is responsible for the communications and transactions with the application database. It also acts as an interface with the other system components managing the connections and operations with other third party services (email, multimedia repository, etc.). Finally, this web services application is also responsible for part of the application logic, processing the data sent by the patients and managing the warnings. The Security Service faces one of the main concerns in the design of the SoftCare Application case study. The privacy and protection of the data, that are going to be manipulated by the different components belong to the application, (data storage system security), and the security in the communications between these components (communication security over the Internet) are going to be assessed.
9 In order to ensure an acceptable level of security and protection of the data in the communications between the different components, SSL / TLS are going to be implemented in these connections. To do that both the web services application component and the web application component (web graphical user interface application) will be configured to be used as HTTPS services. Certificates with public keys of at least 2048 bits will be used for that purpose. Other element that has to be configured to use SSL / TLS is the database service in order to establish a secure channel with the web services application. Also the place where the data will be stored needs to be secured. In order to ensure that the data are stored in a proper and secure way, the private data of the users and also the medical data of the elderly people will be encrypted when stored. This will be made by the web services application in a transparent way to the database. The persistent & data storage component is the persistent layer that will abstract and manage data and contents. It allows storing all the information managed by the different components of the application, i.e. the personal data, educational contents (music, books etc.), etc. The persistent & data storage is composed by a database hosted (usually) in a private cloud and a Restful interface to a multimedia repository. At this stage we would not exclude to implement partially encrypted data storage. The client-side module is a the web graphical user interface application where the administrators clinicians and specialists can do all their tasks, like managing the users, assigning exercises to the users, assigning questionnaires, monitoring, and other kind of tasks. Through the SeaClouds tools, these components are going to be managed, orchestrating their deployment in multiple sites, monitoring them at runtime while their SLAs are enforced. There are also a set of third party cloud tools that will be used to improve the functionalities provided by the application, like an email & SMS delivery service to handle the communications with the system users, or like a multimedia repository to manage all videos, audios, books etc. that will be available to the application users.
10 Figure 1: SoftCare application overview The design of the architecture of this flexible solution is based on a decentralized distribution in the cloud of the server-side block components, so that this system can take advantage of the benefits that the multi-cloud environment offers. In fact, the server application components, the security service, the third party tools, and the database may be distributed among one or several public or private clouds after the selection of the desired cloud provider. As already mentioned the desktop-side will be out of the cloud infrastructure, accessing only the web services component of the server application. All these components hosted in the cloud will also need to be administered and scaled up or down depending on the needs. It is expected to achieve all these tasks with the use of the SeaClouds tools and framework. 3.2 Role of the SeaClouds tools Designing a distributed application deployable over a multi-cloud environment is subject to many constraints such as creating independents and portable software components, guaranteeing the scalability of these components as well as the cloud resources allow application software to run properly. ATOS plans to take advantage of the SeaClouds facilities to define and display the topology of the SoftCare Application in a cloud agnostic way relying on the TOSCA Specification as
11 well as the structure of the service highlighting the relations between the software pieces belong to the application. The information will be shown as a graph with the related functional (technology, etc.) and non-functional requirements (QoS, SLA, Location, etc.) of the service (at software piece as well as at application level). Figure 2: Possible SoftCare Application structural elements graph We plan to take advantage of the matchmaking facility to search and browse (among existing cloud offerings) for the best-fit cloud platform, analysing the developer s application requirements and preferences. Although our first target will be the PaaS also IaaS will be evaluated. Afterward, through the optimizer facility, we will expect to optimize the topology of the Application providing the optimal deployment map strategy. The next picture shows a potential SoftCare Application deployment strategy on three different Cloud providers and the GUI replicated two times.
12 Figure 3: Possible SoftCare Application deployment strategy The Service Management and Monitoring facilities will allow to manage the orchestration of the Application supporting the efficient deployment and multi-cloud governance on various and dissimilar Cloud offerings, leveraging on a harmonized API and platform-specific adapters. The SeaClouds Intelligent monitoring provides application and platform monitoring based on unified, provider-independent metrics and user-defined SLA policies. Figure 4: application and platform monitoring metrics visualization
13 The ability to migrate supporting the portability of an application and its data between cloud platforms that use the same underlying technology (e.g. two vendors and/or platforms for Java, for PhP, for Python, etc.).
14 4. Cloud gaming Case Study High availability servers, as game servers developed by NURO are, have a high volatility in usage. Small companies as game developers have limited budgets for hosting and system administration. A game server must fulfil some criteria of responsiveness, speed, reliability and synchronicity. Finding bottlenecks and solving performance issues is the main task after deployment the system. Actual hosting and cloud providers are offering very different and heterogeneous solutions. Flexible products are often expensive and inter accessibility from different providers is increasing the administrative effort. The lack of standardized interfaces is obvious. NURO is expecting the SeaClouds Project will be a bridge between the different cloud solutions. It should simplify and automate the deployment, monitoring and reconfiguration of their game servers. Most important is to monitor the deployed system and detect bottlenecks or wasted resources. It should be able to reconfiguring the system to fulfil the QoS rules and avoid wasting resources. 4.1 Design of the Cloud Gaming case study The Cloud Gaming case study is focused on web server techniques based Game Server. Figure 5: NURO Cloud Gaming case study NUROs Game Clients are developed cross-platform and can be compiled for many Platforms as smartphones or PC s. Game Client and Game Server communicate by HTTPS over TCP/IP. Test scenarios
15 NURO will prepare different script based testing scenarios: - Average day volatility the regular intraday usage have a volatility of 50% with a wave pattern - Figure 6: daily usage since game launch - BOOM scenario a boom scenario simulates an external feature or a marketing campaign there is a sudden increase of requests with high volatility over a long period Figure 7: boom scenario - BURST scenario in some situations, for example after a BOOM or by public events like a world cup there is a sudden decrease of requests The SeaClouds System monitor should be able to recognize the change of cloud module utilization and QoS violations. In this case it should automatically reconfigure the system or inform an administrator.
16 Reconfiguration starts with managing resources like RAM, cores, nodes, disk space up to moving a module from one cloud solution to another. Game Server NUROGAMEs game server engines use PHP and MySQL. For deployment minimal requirement is a web space with PHP 5.2 and above and MySQL (compatible) 5.0 and above. A scheduler as cron is needed, but it is not required to be controlled by the SeaClouds System. Figure 8: Nuro case study high level Architecture NUROs in the wild installations are deployed on virtual machines on a dedicated server. A LAMP installation with Ubuntu 12.4lts is an approved choice. Early case study NUROs early case study is using two modules. - PHP Worker - MySQL database For testing the deployment of NURO Game Server case study, NURO provides two Packages. - Sensor Package - Game Server Package
17 Especially for the SeaClouds project, NURO developed a sensor package with less restriction on the code. The sensor package is exactly using the same techniques as the full game server. In fact, the Game Server Package is an extended Sensor Package. A package for the early case study consists of: - installation and initialization scripts for the data base - a tar ball with the PHP code - the PHP configuration template Later case study For the latter case study NURO will modularize the game server and implement SeaClouds specific code. - LoadBalancer - PHP Worker (longterm) - PHP Worker (boom) - PHP Backend Worker (analytics, monitoring, administration) - MySQL Game database (volatile data) - Log Database (to be specified later) - Web Space (fix content) - Backup Space (growing) Figure 9: Nuro case study low level Architecture Depending on the progress of the project, some of the modules can be consolidated or finer grained.
18 Frontend to the Client will be a Load Balancer Module. This load balancer distributes the client requests to the PHP Worker modules. As prove of concept there could be two PHP Worker Modules deployed to different cloud providers with the same PHP code package using the same database. In real live, this solution can help to realize a flexible pricing model; one worker module could have a better long term pricing for average scenario usage and the second worker module will perform better in a high volatile boom scenario. The database can be split into the volatile Game Database representing the games world and a Log Database with almost no changes. Additional to the PHP workers there is also a web space for fixed files (graphics, sounds or master data) needed. Last but not least a Backup Space is needed. Client side NURO will adapt and provide to this project a special Android or Windows client for evaluating the look and feel in different performance testing scenarios. The requests for the test scenarios will be generated by a script based test suit. 4.2 Role of the SeaClouds tools Designer The SeaCloud tools user interface is to be used to describe the modules and their interaction. This interface should be easy to use. Detailed configuration should be set to default values and only displayed if the user want it. The configuration of the modules must be prepared, e.g. by templates. For example configurations template file for the PHP workers how to access the databases. The Rules for the monitoring and reconfiguration must be easy to manage. Planner / Deployer The SeaClouds System should display the proposed solutions thus the Designer or Administrator can approve it or change the requirements. The deployment should be automated. Initialization scripts must be run on an initial start. The SeaClouds system must configure the modules. Monitor / Replanner
19 The monitor should watch the modules and trigger actions if rules are violated. Actions can be reconfiguration of the system or information to the administration. Also a History of used resources and events is wanted.
20 5. SeaClouds Testbed The section 5 explores the design and the implementation of SeaClouds testbeds for the evaluation of the solutions in real-world scenarios. Generally speaking, due to the nature of the ATOS and NURO case studies, and the fact that the SeaClouds platform is a business application-agnostic solution, we do not need to implement any ad-hoc testbeds to allow the management and orchestration of complex applications. The SeaClouds consortium will follow the general approach to provide a full integrated solution of its core components and cloud suppliers adapters through the integration of the Apache jclouds library https://jclouds.apache.org/reference/providers/ and the PaaS Unified libraries as an improved and extended version of the Cloud4SOA libraries. The figure 10 shows the SeaClouds components overview. Figure 10: SeaClouds components overview SeaClouds platform will be an open-source solution which will be (mostly) oriented towards larger ISVs/Application providers and integrators that can download and install SeaClouds locally as a multi-cloud manager. SeaClouds technology will also be integrated by cloud vendors to help add value to their offering, such as its harmonized API and adapters for multi-cloud scenarios and larger ecosystems.
21 On the other hand, SeaClouds can be also delivered as an online SaaS service for its valueadded capabilities in discovery, management, monitoring and migration. In both scenarios (local and public) evaluation testbeds will be set-up to evaluate if the Seaclouds functional and non-functional requirements have been achieved. 6. Conclusions The document D6.2 shows an improved version of the two SeaClouds case studies which have quite different requirements for deployment and management on cloud platforms. The SoftCare Application is the Atos case study. It is still in an early stage of development specially targeted for deployment in multi-cloud environment.
22 7. References [1]. http://issuu.com/sucreproject/docs/sucre-issue-3-healthcare_32e400ca213e4a