Publishable summary
The 4CaaSt research project is creating an advanced Platform as a Service (PaaS). This cloud platform supports the optimized and elastic hosting of internet-scale multi-tier applications. 4CaaSt embeds all the necessary features, easing programming of rich applications and enabling the creation of a true business ecosystem where applications coming from different providers can be tailored to different users, mashed up and traded together.
Context and Vision
Standardization of IT infrastructures, especially through virtualization, has led to significant deployments, savings in time and money, and accelerated innovation. On the infrastructure level, resources are available ‘infinitely’ and consumed according to the current demands. However, this elasticity has not spread out across a broad set of applications and their providers.
Providing and operating elastic applications or scalable services still requires complex IT landscapes and is an expert domain. Therefore, high budgets with sometimes large upfront investments and very skilled IT staff are still required – stopping especially small and medium enterprises.
4CaaSt envisions a Platform which lifts the properties of elasticity, availability and pay-per-use characteristics up to the application server level, forming the foundation for the efficient execution of applications by medium skilled application providers.
PaaS Clouds aim to make this dream come true for SMEs and non technical people, so they can deliver their applications on an automatically scalable platform that offers ease of service definition, development, marketing, delivery and maintenance.
The 4CaaSt Marketplace will provide supported by a one-stop shop for Cloud Services. This integrated marketplace fosters the creation of dynamic business ecosystems in which multiple service providers will find a fair environment to develop and provide new services in a relatively short time- to-market manner. The supported revenue models help the PaaS provider to monetize the effort of creation of the platform.
4CaaSt Objective
The 4CaaSt project aims at creating an advanced PaaS Cloud platform which supports the optimized and elastic hosting of internet-scale, multi-tier applications and embeds all the necessary features easing programming of rich applications and enabling the creation of a true business ecosystem where applications coming from different providers can be tailored to different users, mashed up and traded together.
The project objective is “An internet-scale application platform for design, operation, management, and trading of services and service compositions which can be tailored to different local or global communities”
Work performed
The basic building block of the 4CaaSt PaaS is the Blueprint language that allows platform customers, service providers, developers and engineers to specify their applications, services or infrastructure resources, to express their requirements in relation to other Blueprints, quality parameters or other functional requirements.
The 4CaaSt Marketplace is the one-stop shop of the platform, where business relationships among the partners involved in the creation of a service are defined and orchestrated. The Marketplace provides an interface to the platform customers for the selection of services in a wide-sense (services can be applications, platform elements, XaaS or infrastructure resources). The customer can specify SLA values and business restrictions that should be considered during the resolution phase.
Figure 1: 4CaaSt Application Lifecycle
Furthermore, the Marketplace supports customers during the definition of the business model for a specific product or service and during the selection of the solution (applying business requirements to the possible options). Finally, the Marketplace is in charge of the revenue settlement and sharing among the partners involved in the service deployment and execution.
The Deployment design provides the API to perform the final deployment of the application and configure the different elements to execute the application in the Cloud. This layer converts the selected blueprint received from the Blueprint Lifecycle Management into an OVF description that has been extended to support platform concepts. Once an abstract description of the Application Blueprint is sent to the platform for deployment, the platform designs the final structure of the application (adding resources like: VMs, load-balancers, etc) that fulfil the requirements specified in the Blueprint description.
After that the PaaS Resource Manager interacts with the IaaS provider for the provisioning of the infrastructure resources (establishing the virtual machines characteristics, network structure and connectivity, and storage) together with the configuration of the Cloud services required by the application and finally deploys the platform products needed for the execution of the different application components.
The 4CaaSt Platform has a flexible Monitoring System able to manage different sources of information: from the Application Components and Platform Containers to the virtual infrastructure.
All this monitoring information is analysed to allow online modifications of services running on the Cloud. This vast monitoring information is presented in a flexible dashboard based on mash-up
technologies that allow administrators of huge cloud deployments to manage, combine and filter the monitoring information in an easy and powerful way.
A developer facing the creation of a new application on the Cloud has to deal with a new set of problems that he did not have before. Traditional developments were fostered by the inclusion of bunches of software as commodities (traditional databases, libraries for communications like SOAP web services, Aspect Oriented Programming, etc.). When developing for the cloud, new opportunities arise, together with new challenges and requirements. However, if developers have to bear the burden of their full development, their project might be at risk. Some of these new needs can be shared among different developers, and can be solved for some of them in a uniform fashion, saving costs, fostering their developments and allowing them to focus on their business.
A bunch of technologies with great potential in a Cloud domain has been put together in 4CaaSt, offering a set of functionalities, ready to be consumed, that bring developers new possibilities and solutions to common needs in Cloud environments, in an easy way and from the very beginning.
Developers will enjoy: database engines, application servers, composition engines, and enterprise service bus and a number of services, like: Context as a Service, Publish/Subscribe as a Service, Network Enablers as a Service, Data Storage as a Service and Web Mashup as a Service.
The design also allows the incorporation of new technologies and services based on the Enabler concept: a common management interface that all services integrated in the platform should provide.
Main achievements
The focus during the first phase has been on the design of the overall architecture and the initial implementation of the basic scenario, the main achievements include:
The first version of the Application Blueprint specification for describing applications and its requirements is available.
A first version of the Marketplace integrated with the Blueprint Lifecycle Management, which applies business criteria during the Blueprint resolution phase for the selection of the final platform. The Marketplace supports different price models, and allow the contracting and deployment of applications and later billing and revenue share among the players involved (currently for simple models and value chains).
The initial implementation of the Deployment Design, focused on created a direct deployment descriptor based on the received Application Blueprint, will be extended to consider the quality and functional requirements expressed in the Application Blueprint (in concrete scalability, multi-tenancy, and complex network configurations).
The current implementation of the PaaS resource manager only manage a small number of the technologies that will be supported the platform: in concrete the focus has been on Tomcat and JOnAS Application Servers, PostgreSQL Databases and Orchestra BPEL engine. Future released will support additional products and Cloud Services.
A common Enabler has been defined for the integration of the different technologies in the 4CaaSt Cloud. The concrete implementation uses Chef recipes for the installation and configuration of the different platform containers. The platform will also use a common Enabler interface for the Cloud Services management.
The future work will be focused on the support of a scalability model valid for all the different products and service technologies in the platform. The different specifications: OVF and specially the Application Blueprint will evolve with the feedback coming from the current implementation and the new requirements. Also the Marketplace will be extended (among other topics) to support the definition of SLAs down to the platform, social enhancement and implementation of revenue models.
The project will also explore the complex topic of network virtualization and the support of complex business multi-tier application on the platform.
Expected results and potential impact
Overall, the project will bring significant benefits to the European economy via a greatly simplified design and delivery model for services and service compositions. The developed platform will lead to the establishment of new and highly dynamic and innovative service ecosystems.
The project will bring specific benefits to the following stakeholders:
Application providers, who get a platform that allows for easy development of Internet-scale services. They can focus on the service functionality and can use platform functionality and underlying resources without any a priori capital expenses.
Consumers, who get easy access to a large number of services with very easy-to-use consumption models (e.g. pay per use).
Application/Service aggregators, who get a platform that allows for easy composition of services which all follow the same lifecycle model.
Cloud providers, who can establish a platform in order to establish a business/service ecosystem around a certain topic and to generate a business on intermediation.
Cloud computing and Internet service provision in general is currently dominated by a small number of companies that operate non-interoperable, proprietary IaaS Clouds Indeed, some of them are even vertically integrated and act as walled gardens that tightly control which applications are allowed to be deployed. These players are typically not European and are not involved in standardisation towards inter-operability in order to foster the creation of a community of platform and service providers.
Given the dominance of established players in the area of IaaS it is indeed of strategic importance for European industry to leapfrog the competition and to establish a leading role in PaaS Cloud technology that ultimately will make the IaaS Cloud a commodity.
The 4CaaSt consortium has a strong contingent of European industrial partners and aims to leverage the leading position of European industry in telecommunications in order to establish a similar lead in the area of Cloud computing by promoting the development and operation of inter-operable PaaS technology by European industry.
Project Web site: www.4CaaSt.eu
Figure 2: 4CaaSt Consortium
Project coordinator:
Telefónica Investigación y Desarrollo Mr. Manuel Escriche
Email: [email protected] Spain