19 Knowledge-Intensive

Size: px
Start display at page:

Download "19 Knowledge-Intensive"


1 19 Knowledge-Intensive Cloud Services Transforming the Cloud Delivery Stack Michael P. Papazoglou and Luis M. Vaquero Contents 19.1 Introduction Cloud Computing Overview Cloud APIs Cloud Interoperability Open Cloud Standards Incubator Open Cloud Computing Interface Cloud Data Management Interface Cloud Service Life Cycle Analysis of the Cloud Delivery Model Landscape Knowledge-Intensive Cloud Services Analysis of Cloud Service Domain Languages Overview of Cloud Service Definition Languages IaaS Definition Languages PaaS Definition Languages SaaS Definition Languages Overview of Cloud Service Constraint Languages Formal Representation of Constraints Overview of Candidates for a Cloud Service Constraint Language Overview of Cloud Service Manipulation Languages Need for a More Flexible Cloud Delivery Model Inflexible Monolithic Cloud Solutions High Diffusion of Cloud Domain Languages Scaffolding the Cloud Monolith Blueprint Definition Language Blueprint Constraint Language K12438_C019.indd 449 1/3/2012 5:22:46 AM

2 450 Knowledge Service Engineering Handbook Blueprint Manipulation Language Life Cycle Support Sample Cloud Application Using Blueprinting Summary References AQ Introduction Currently enterprises are faced with a continuing demand for business expansion, and, as a result, they often need to invest in stand-alone servers or software that traditionally demand heavy capital investment but remain frequently underutilized. IT infrastructures have become today too complex and brittle, and, as a result, enterprise IT is unable to keep pace with their needs as almost 70% of IT investment concentrates on maintenance, leaving little time to support strategic development projects. Many enterprises are usually left with a plethora of technologies and systems, with a suboptimal level of integration, creating significant barriers to developing innovative solutions that are required to provide a competitive edge. For such enterprises in search of a cost-effective use of computing resources, cloud computing technology is rapidly becoming a commercially viable computing service delivery model. Much like the historical client-server era, the advent of cloud computing is fundamentally changing the way we consume computing resources. Cloud computing allows enterprises to share resources, software, and information across a rapidly growing multitude of connected devices, creating new opportunities for business speed and efficiency. It reduces IT complexity by leveraging the efficient pooling of on-demand, self-managed virtual infrastructure, consumed as a service. Cloud computing eliminates the need for large capital outlays to launch new applications, moving the decision out of the investment realm and into the operational. With Cloud computing practices, service providers can expand their offerings to include the entire traditional IT stack ranging from foundational hardware and platforms to application components, software services, and entire software applications. Cloud computing is an evolving term that describes a broad movement toward the deployment of network-based applications in a highly flexible, virtualized IT environment to enable interaction between IT service providers of many types and clients. Virtualization means a form of abstraction between the user and the physical resource in a way that preserves the user s impression that he or she is actually interacting directly with the physical resource. Actually, cloud resources and software services are delivered virtually, and although they may appear to be physical (servers, disks, network segments, web or RESTful services, etc.), they are actually virtual implementations of those on an underlying physical infrastructure, which the subscriber never sees. The essence is to decouple the delivery of computing services from their underlying technology. Beyond the user interface, the technology behind the cloud is opaque to the user, abstracting away from technology in order to make cloud computing user-friendly. With cloud computing resources and services are delivered virtually, that is, although they may appear to be physical (servers, disks, network segments, etc.), they are actually virtual implementations of those on an underlying physical infrastructure, K12438_C019.indd 450 1/3/2012 5:22:46 AM

3 Knowledge-Intensive Cloud Services 451 which the subscriber never sees. This enables service providers to move toward a fully virtualized service-oriented infrastructure, eliminating silo-based complexity, acquiring and moving resources to where they are most needed, improving performance, reducing costs, and speeding up the delivery of services. The objective is to create a virtualized service-oriented infrastructure for multiple integrated services of all types. Services here include infrastructure resources (i.e., computing power, storage, and machine provisioning), software resources (i.e., middleware and platform-based development resources), and application components (which include full-fledged applications as well as stand-alone business processes). Over the past few years, we have experienced significant technological developments that enable cloud computing. These include far more reliable Internet services, with higher throughput and resilience coupled with virtualization techniques that enable computing facilities to be replicated and reproduced easily. One consequence of this move to virtualization is that it is no longer necessary to have in-house computing infrastructures. Instead, it is possible to shift computing and storage capabilities into the cloud where they offer economies of scale in terms of IT support, speed, and resource sharing. At the same time, cloud computing faces a number of challenges, which include improved security and privacy models and associated regulatory compliance considerations, interoperability, latency, performance, and reliability concerns, as well as managing the very flexibility that cloud provides. One of the greatest challenge facing longer-term adoption of cloud computing services is the ability to automatically provision services, effectively manage workload segmentation and portability (i.e., seamless movement of workloads across many platforms and clouds), and manage virtual service instances, while optimizing use of the resources and accelerating the deployment of new services. Within such a cloud environment, it is also important to be able to work with both cloud-based and enterprise-based applications using a unified approach that can function across existing applications and multiple cloud providers. This includes the ability for opportunistic and scalable provisioning of application services, consistently achieving quality of service (QoS) targets under variable workload, resource, and network conditions. The overall goal is to create a computing environment that supports dynamic expansion or contraction of capabilities (virtual machines [VMs], application services, storage, and database) for handling sudden variations in service demands. To meet these pressing demands, it is essential to transform the fabric of the current inflexible service delivery models. To transform the cloud delivery stack requires reliance on what we call knowledge-intensive cloud services. As we explain later in this chapter, knowledge-intensive cloud services need to rely on a framework combining definition and manipulation languages. This chapter aims to discuss the various cloud delivery model options and provide a perspective on how to improve cloud service delivery and guarantee efficient workload segmentation and resource utilization by relying on knowledge-intensive cloud services. The chapter presents vision, challenges, and architectural elements for achieving interoperability and support of dynamic expansion or contraction of capabilities and partitioning of workloads in cloud environments. We begin our discussion by providing a brief overview of cloud computing to improve readability and understanding. K12438_C019.indd 451 1/3/2012 5:22:47 AM

4 452 Knowledge Service Engineering Handbook 19.2 Cloud Computing Overview In order to understand the technological direction of cloud computing and evaluate differing cloud service delivery options, it is necessary to understand its operating principles as well as the distinct dimensions of the various cloud offerings. Defining an evolving term such as cloud computing is a hard task. There are currently several definitions for this term most comprehensive of which the one given by the National Institute of Standards and Technology (NIST). NIST defines Cloud Computing as [Mell 2009] A consumption and on-demand delivery computing paradigm that enables convenient network access to a shared pool of configurable and often virtualized computing resources (e.g., networks, servers, storage, middleware and applications as services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. The aim at offering every element of the IT stack as a service implies that cloud providers can also offer platforms to deliver specialized services while enabling an industrialized and pervasive deliverance of these highly specialized services. Users of IT-related services can follow an SOA-like approach that lets them focus on what the services provide them with rather than how the services are implemented or hosted. SOA is an architecture pattern while the cloud can be viewed as a target deployment platform for that architecture pattern. In particular, cloud computing provides the ability to leverage on-demand new computing resources and platforms that SOA applications require, but an organization may not own. The cloud-soa merger offers unprecedented control in allocating resources dynamically to meet the changing needs of service-based applications, which is only effective when the service level objectives at the application level guide the cloud s infrastructure/platform management layer [Rodero-Merino 2010, Papazoglou 2012]. Cloud computing can be viewed as a holistic ecosystem of a collection of services, applications, information, and infrastructure comprised of pools of computing, network, information, and storage resources. These components can be rapidly orchestrated, provisioned, implemented, and decommissioned, and scaled up or down thereby providing for an on-demand utility-like model of allocation and consumption. The NIST definition states the cloud computing is composed of five essential characteristics, three cloud service delivery models, and four deployment models. The most commonly accepted characteristics of cloud computing are briefly summarized as follows [Mell 2009]: On-demand self-service: Service providers offer clients the ability to provision computing capabilities, such as cloud servers, dedicated storage, hardware load balancers, an online authorization service, some geolocation data, a testing platform, etc., on demand. This way, applications can automatically build and scale across their whole life cycle without requiring human interaction with each provider of all the services the application is using. Broad network access: The cloud provider s resources are available over the network and can be accessed through standard mechanisms. K12438_C019.indd 452 1/3/2012 5:22:47 AM

5 Knowledge-Intensive Cloud Services 453 Location independent resource pooling: Provider s resources are pooled and shared among several clients (multitenancy). The client generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, region, or datacenter). Rapid elasticity and provisioning: Elasticity implies the ability to scale resources as needed by applications. To the client, the cloud appears to be infinite, and the client can purchase or lease capabilities available for provisioning in any quantity at any time. Pay-per-use measured service: Clients consume resources and pay only for resources that they use. To this effect, cloud computing platforms usually employ consumption-based billing mechanisms to charge for cloud service use. Cloud computing is typically divided into three models of service delivery (commonly referred to as cloud stack layers). These three categories are software as a service (SaaS), platform as a service (PaaS), and infrastructure as a service (IaaS): IaaS is at the lowest layer and is a means of delivering very basic computing capability machines with operating systems and storage as standardized services over the network. The IaaS layer allows the infrastructure provider to abstract away infrastructure-specific details such as which exact hardware an application is using and where the application is running. IaaS incorporates the capability to abstract resources as well as deliver physical and logical connectivity to those resources and provides a set of application programming interfaces (APIs), which allow interaction with the infrastructure by clients. Currently, the most prominent example of IaaS is Amazon Web Services (AWS), whose Elastic Compute Cloud (EC2) and Simple Storage Service (S3) products offer bare-bone computing and storage services, respectively. Platform provider as a service or platform as a service (PaaS) is interposed between IaaS and SaaS and refers to an environment where developers build and run an application by using whatever prebuilt components and interfaces that particular platform provides as a service to developers over the web. The PaaS provider facilitates deployment of cloud applications by entirely managing the cloud software development platform (often an application hosting, middleware environment) providing all of the facilities required to support the complete life cycle of building and delivering networked services. The PaaS consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations. One serious drawback with conventional PaaS offerings is that they are constrained by the capabilities that are available through the PaaS provider and do not allow easy extensibility or customization options. Currently, there exist several examples of PaaS, the most well known being Google App Engine (GAE) and Force.com. AQ2 AQ3 K12438_C019.indd 453 1/3/2012 5:22:47 AM

6 454 Knowledge Service Engineering Handbook SaaS is an on-demand software application that is owned, delivered, and managed remotely by one or more software providers. This layer builds upon the underlying IaaS and PaaS and provides clients with integrated access to software applications. The provider delivers software based on a single set of common code and data definitions that are consumed in a one-to-many model. This layer provides a self-contained operating environment used to deliver the entire user experience including the content, its presentation, the application(s), and management capabilities. SaaS provides the most integrated functionality built directly into the offering with no option for consumer extensibility. Typical examples of the SaaS level are SalesForce.com that offers CRM applications accessible by subscription over the web and the Amazon Fulfillment Web Service (Amazon FWS). The most important overlap between SOA and cloud computing occurs at this level of the cloud stack. The cloud computing layers do not simply encapsulate on-demand resources at differing operational levels; they also help define a new application development model. Each layer of abstraction provides numerous possibilities for defining services that can be offered on a pay-per-use basis. These three levels support virtualization and management of differing levels of the computing solution stack. The cloud model gives also the opportunity to mashup services from a variety of cloud providers to create what is known as a cloud syndication. Cloud syndications are essentially federations of cloud providers whose services are aggregated in a single pool supporting three basic interoperability features: resource migration, resource redundancy, and combination of complementary cloud resources and services [Kurz 2011]. Cloud syndications at the SaaS level are termed BPaaS (or business process as a service). These comprise a distinct integrative layer above the SaaS layer that reflects the focus on enterprise-specific services. BPaaS allows creating unique end-to-end business processes that are usually syndicated with other external services (possibly provided by diverse SaaS providers). BPaaS requires effective management of cloud resources. It is important to understand that when integrating end-to-end business processes from diverse providers, the resultant ecosystem is limited by the service quality of its weakest component in the stack. The continuous pressure of IT departments and infrastructure providers to offer computing infrastructure at the lowest possible cost have made them realize that by effectively leveraging the concepts of resource pooling, virtualization, dynamic provisioning, utility, and commodity computing, they can create costeffective cloud solutions. This has resulted in four major cloud deployment models [Armbrust 2009]: The first cloud deployment model where developers leverage applications that are available from and run on public facilities is collectively referred to as the public cloud model. The second cloud deployment model where developers develop their own on-premise or internal cloud solutions is collectively referred to as the private cloud model. K12438_C019.indd 454 1/3/2012 5:22:47 AM

7 Knowledge-Intensive Cloud Services 455 The third and final cloud deployment model concerns developers who integrate and federate services across both the public and private cloud. This model is collectively referred to as the hybrid cloud model. The fourth and final cloud deployment model is the community cloud. Here, the cloud infrastructure is shared by several organizations and supports a specific community that has shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be managed by the organizations or a third party and may exist on premise or off premise. To ensure guarantees from cloud service providers for service delivery, businesses using cloud services typically enter into service level agreements (SLAs) with the cloud service providers. Although SLAs vary between businesses and cloud service providers, they typically include the required/agreed service level through QoS parameters, the level of service availability, the indication of the security measures adopted by the cloud service provider, and the rates of the services Cloud APIs In a cloud architecture, modules communicate with each other over APIs, usually by means of web services or REST technologies. A cloud architecture model exposes a set of software interfaces or APIs that developers and customers use to manage and interact with cloud services. Provisioning, management, orchestration, and monitoring are all performed using these interfaces. Cloud architecture offers at least three broad kinds of APIs: Cloud functionality interfaces: These are programming interfaces through which developers and consumers interact with providers to request, deploy, reconfigure, administer, and use services. These types of interfaces include managing the security-related aspects of a cloud as well as managing and modifying instances of deployed services [DMTF 2009]. In addition, they include interfaces for image and infrastructure management. These APIs control details such as firewalls, node management, VM, and network management, as well as load balancing. Data functionality interfaces: These are the channels through which data flow in and out of the cloud. These APIs encompass various forms of cloud data sources, documents, web portals, maps, etc., and are used for reading, writing, updating, and querying data. For instance, most SaaS providers offer API calls to read (and thereby export ) data records. Data functionality APIs also include simple primitives for file storage services, document storage services, and so on. Application cloud interfaces: Application cloud APIs provide methods to interface and extend applications on the web. These APIs provide functionality beyond data access. They are hallmarks of most SaaS providers, easing integration of on-premise vendor and home-grown applications. Application cloud APIs connect to applications such as CRM, ERP, financial, billing, desktop productivity, and social media/networks applications, and so on. These applications are delivered as SaaS. K12438_C019.indd 455 1/3/2012 5:22:47 AM

8 456 Knowledge Service Engineering Handbook 19.4 Cloud Interoperability Providers have their own way of implementing how a user or cloud application interacts with their cloud. This leads to cloud API propagation as rarely, if ever, do two providers implement their clouds in exactly the same way using the same components. This limits cloud choice because of vendor lock-in, portability, ability to use the cloud services provided by multiple vendors including the ability to use an organization s own existing datacenter resources seamlessly. We are already seeing different vertical PaaS stacks that are popping up everywhere, and each is incompatible with the other. Almost every cloud has a unique infrastructure for providing network services between servers and applications and servers and storage. Differences are likely in network addressing, directory services, firewalls, routers, switches, identity services, naming services, security policies, and other resources. This exacerbates the need for interoperability between clouds so that complex business applications developed on clouds are interoperable. Cloud interoperability refers to the situation where two distinctly separate and independent providers (who, for instance, provide PaaS services) work and orchestrate seamlessly from a customer perspective and integration. This also includes the possibility of wiring up the PaaS offerings with not only current and modern provider offerings but also to legacy resources and services. Another related dimension of cloud interoperability is intercloud interoperability, which leads to forming cloud federations of private and public clouds using some form of cloud orchestration services [Parameswaran 2009]. An important concept in the cloud interoperation space is that of metadata. When managing large amounts of data with differing requirements, metadata are a convenient mechanism to express those requirements in such a way that underlying data services can differentiate their treatment of the data to meet those requirements. In the following, we provide a brief overview of the most promising cloud interoperability approaches Open Cloud Standards Incubator DMTF s cloud efforts are focused on standardizing interactions between cloud environments by developing specifications that deliver architectural semantics and implementation details to achieve interoperable cloud management between service providers and their consumers and developers. For this, DMTF is using the recommendations developed by its Open Cloud Standards Incubator initiative. DMTF s Open Cloud Standards Incubator aim is to aid the industry in addressing challenges that affect the interoperability, portability, and security of cloud computing environments [DMTF 2009]. The environment under consideration by the Open Cloud Standards Incubator includes all of these deployment models. The main focus of the incubator is management aspects of IaaS, with some work involving PaaS. These aspects include SLAs, QoS, workload portability, automated provisioning, and accounting and billing. Examples of standardization areas include resource management protocols, data artifacts, packaging formats, and security mechanisms to enable interoperability. K12438_C019.indd 456 1/3/2012 5:22:47 AM

9 Knowledge-Intensive Cloud Services Open Cloud Computing Interface The Open Cloud Computing Interface (OCCI) comprises a set of open communitylead specifications (http://occi-wg.org/ ). The OCCI is a RESTful protocol and API for all kinds of management tasks. It is OCCI that provides for commonly understood semantics and syntax in the domain of customer-to-provider infrastructure management. OCCI was originally initiated to create a remote management API for IaaS model-based services, allowing for the development of interoperable tools for common tasks including deployment, autonomic scaling, and monitoring. It has since evolved into a flexible API with a strong focus on interoperability while still offering a high degree of extensibility. The current release of the OCCI is suitable to serve many other models in addition to IaaS, including PaaS and SaaS. The OCCI specification is divided in three parts: OCCI core model defines a representation of instance types, which can be manipulated through an OCCI rendering implementation. It is an abstraction of real-world resources, including the means to identify, classify, associate, and extend those resources. A fundamental feature of the OCCI core model is that it can be extended in such a way that any extension will be discoverable and visible to an OCCI client at run-time. An OCCI client can connect to an OCCI implementation using an extended OCCI core model, without knowing anything in advance, and still be able to discover and understand, at run-time, the various resource and link subtypes supported by that implementation. OCCI infrastructure defines how an OCCI implementation can model and implement an IaaS API offering by utilizing the OCCI core model. This API allows for the creation and management of typical resources associated with an IaaS service, for example, creating a compute instance and storage instance and then linking them with StorageLink. The StorageLink type represents a link from a resource to a target storage instance. This enables a storage instance be attached to a compute instance, with all the prerequisite low-level operations handled by the OCCI implementation. OCCI HTTP rendering defines how to interact with the OCCI core model using the RESTful OCCI API. The document defines how the OCCI core model can be communicated and thus serialized using the HTTP protocol. OCCI can be used in conjunction with other standards to provide for extended interoperability. It can, for instance, connect to the Storage Networking Industry Association s (SNIA) cloud storage standard, Cloud Data Management Interface (CDMI) to provide enhanced management of the cloud computing storage and data [SNIA 2010] Cloud Data Management Interface The SNIA has completed a standard aimed at making it easier for enterprises to move data around various clouds on the basis of common data storage interfaces. A data storage interface is an interface interposed between an application (or service) and the K12438_C019.indd 457 1/3/2012 5:22:47 AM

10 458 Knowledge Service Engineering Handbook AQ4 underlying set of services that enable reading and writing data, among other functions. SNIA categorizes and describes the cloud services that live behind this interface and as well as those which consume it. SNIA s Cloud Storage Reference Model (CSRM) uses multiple types of cloud data storage interfaces that are able to support both legacy and new applications [SNIA 2010]. All of the interfaces allow storage to be provided on demand, drawn from a pool of resources. The capacity is drawn from a pool of storage capacity provided by storage services. The data services are applied to individual data elements, as determined by the data system metadata. Metadata specify the data requirements on the basis of individual data elements or on groups of data elements (containers). Storage system metadata are produced and interpreted by the cloud offering or basic storage functions, such as modification and access statistics, and for governing access control. The CSRM suggests employing a CDMI as the functional interface that applications may use to create, retrieve, update, and delete data elements from the cloud. As part of this interface, the client will be able to discover the capabilities of the cloud storage offering and to use this interface to manage containers and the data that are placed in them. This interface may also be used by administrative and management applications to manage containers, domains, security access, and monitoring/billing information, even for storage that is functionally accessible by legacy or proprietary protocols. The capabilities of the underlying storage and data services are exposed so that clients can understand the offering. The CDMI specification uses RESTful principles in the interface design where possible. In the SNIA model, data system metadata offer guidelines to the cloud storage system on how to provide storage data services for data managed through the CDMI interface. Such metadata contain information about the number of bytes stored in the data object, the time when a data object was created or last modified, geopolitical identifiers specifying a region where the object is permitted to or not permitted to be stored, data retention periods, desired encryption algorithms, desired maximum data rate on retrieve, and so on. Cloud service life cycle focuses on exposing the actual cloud service functionality, which is one or more aggregated resources exposed as a single unit of management and managing the life cycle of a service in a distributed multiple-provider environment in a way that satisfies service-level agreements with its customers [Breiter 2009] Cloud Service Life Cycle The idea of managing applications throughout their complete life cycle is not new. The IT infrastructure library (ITIL) is a set of best practices that are widely accepted to manage IT services. These include operation and improvement of IT services [Cartlidge 2007]. Applications deployed on top of the cloud stack are also associated with their own life cycle, migrating from development to testing, staging, and production environments, with frequent rollbacks. One of the purposes of K12438_C019.indd 458 1/3/2012 5:22:48 AM

11 Knowledge-Intensive Cloud Services 459 the Open Cloud Standards Incubator is to address the characteristics of the cloud service life cycle. The DMTF identified the following aspects of the life cycle of a cloud service: Description of the cloud service in a template Deployment of the cloud service into the cloud Offering of the service to its consumers Consumer entrance into contracts for the offering Provider operation and management of instances of the service Decommissioning of the service offering The DMTF s life cycle could be seen as a subset of a more complete software life cycle, which is presented in Figure In [Stankov 2010], the authors present an analysis on how the ITIL and the global software development and delivery (which refers to the emergence of Internet-based collaborative environments and the expansion of the global delivery of IT services) can align cloud application life cycle with the environment (platform, infrastructure, and support services) required at every phase in the life cycle. In the DMTF s description phase, all information required to create a certain type of cloud service is captured in a service template. A cloud service template contains all knowledge that is needed to instantiate a cloud service and to manage the resulting cloud service instances. After a developer has created the components of a service, the developer begins the process of making it available to cloud consumers by creating Resource selection Implementation Design Analysis Tests and documentation 1-Template description (developer) 2-Offering on some SLA terms (provider) 3-Subcribe and contract (consumer) 4-Deployment (provider) 5-Operation and maintenance 6-Decommissioning (provider) SaaS PaaS IaaS Third party integration Application conception, design, development, test, patching, maintenance, runtime adaptation, security, etc. Virtual and/or physical machine management (provision, scheduling, configuration and deployment) Figure 19.1 Mapping of a typical software life cycle to elements of the Cloud Stack*. * The numbered elements in the figure correspond with the life cycle proposed by the cloud incubator in DMTF. K12438_C019.indd 459 1/3/2012 5:22:48 AM

12 460 Knowledge Service Engineering Handbook AQ5 a template that defines the content of and interface to the service. This cloud service template describes the service in a generic manner completely independently of how the service is exposed to potential service subscribers. For example, it does not include any pricing information or information about datacenter-specific resources required for hosting instances of the service. This template can be registered in a marketplace for other developers or providers to integrate them in their own applications or offers. This, in turn, implies the need for templates to be searched and processed so that a user could, for instance, just plug two of them together to get a running service or perform basic set theoretic operations on the templates such as union, intersection, and difference. In the offering phase, a provider who creates a service offering for consumption by one or more consumers customizes the cloud service template. This may include aspects such as the prices associated with the respective offering and specific technical information, such as VMs, Internet protocol address ranges, and storage requirements for hosting instances of this specific offering. An offering is the unit that a consumer requests by establishing a contract with the provider for that offering. When a cloud service offering is published in the service catalog, the subscription and contracting phase begins. From an offering catalog, a requester can select an offering and then specify the necessary parameters for the cloud service instance, such as capacity, availability, performance, and duration. The provider and customer then agree on the SLA terms that stipulate the use of this particular service offering. Subsequently, the provider provisions a service instance in the service provision phase that satisfies the constraints defined in the SLA offering, and the consumer uses the instance as defined in the contract. The provision phase incorporates run-time monitoring and maintenance functionality where a provider manages a deployed service and all its resources, including monitoring resources and notifying the consumer of critical situations. After the contract is terminated, the provider decommissions the offering by reclaiming the service instance and its supporting resources. For instance, providers of PaaS services can offer their services, which can be integrated with services from some PaaS library. This approach frees developers from the burden or reimplementing highly frequent pieces, such as authentication or data storage. The presence of a marketplace with appropriate selection tools is, therefore, essential in the cloud ecosystem. Having PaaS online libraries integrated in a PaaS application is complemented by the presence of online tools assisting developers in this integration and in developing and debugging new pieces of code. In this implementation phase, IaaS resources can be instantiated by the developers to host online developing environments or unit testing tools. The tests can also make use of SaaS test suites or software for enabling regression tests. State-of-the-art infrastructure management tools offer a large set of automation packages and a platform for programming workflows for higher-level provisioning operations. Indeed, a cloud workflow system can be regarded as a type of PaaS that facilitates the automation of distributed large-scale applications in the cloud. Being a PaaS, a cloud workflow system can get access to other cloud services. This way, the workflow service can control the underlying IaaS resources or control the workflow of the PaaS and SaaS components integrated in the cloud application. K12438_C019.indd 460 1/3/2012 5:22:48 AM

13 Knowledge-Intensive Cloud Services Analysis of the Cloud Delivery Model Landscape The three conventional cloud delivery models (SaaS, PaaS, and IaaS) are constrained by the capabilities available at their delivery level and do not allow for easy extensibility or customization options or any level of transparency on their underlying layers in order to endow developers and providers with more powerful and configurable service delivery options. Arguably, IaaS clouds are the most explored layer in the cloud stack. IaaS allows for certain reconfiguration potential for the VMs and their (virtual) networks. Application components deployed on an IaaS cloud may exhibit complex dependencies on the configuration of multiple datacenter network, middleware (e.g., PaaS services used for the development of maintenance of the applications embedded in the VMs), and related application resources (external SaaS pieces integrated with the application). IaaS level cross-configurations of the VMs comprising a specific cloud service are currently not possible, and cross-machine configurations need to be inferred at deployment time or changed once the VMs are running, instead of remaining statically allocated as in today s IaaS solutions. Moreover, VM images, VM appliance descriptions, or even the APIs for exposing the IaaS capabilities are hardly interoperable and require a lot of adaptation work to interoperate. PaaS clouds are supposed to ease programmers and administrators lives along the entire software life cycle. In general, the PaaS is supposed to assist in all these processes. One serious drawback with contemporary PaaS offerings is that they are constrained by the capabilities that are available through the PaaS provider and do not allow easy extensibility or customization options. To address some of these problems, Pandey et al. propose a PaaS service in charge of coordinating some of the tasks in the VM life cycle: selection, integration, and deployment [Pandey 2011]. They propose a cloud market maker service in charge of negotiation with multiple service providers to match VM requirements to VM capabilities. Once a match is found, required resources are allocated. A market directory service is needed to maintain a catalog of services. Unfortunately, this proposal leaves a few other unattended stages in the entire cloud application life cycle (e.g., operations, redeployment, development, maintenance, etc.), is statically defined (inflexible to cope with changes in long-lived applications), and heavily depends on the visibility that other service providers endow their applications with. For instance, the market maker cannot change the IaaS resources assigned to a Google Application Instance service. In summary, current IaaS/PaaS offerings are constrained by their underlying VM capabilities and do not allow for easy extensibility, mashup, or customization options at the PaaS consumer (or developer) level. They also expose little (if any) configuration capabilities of the underlying IaaS layer, thereby lacking configurable automated elasticity. PaaS middleware and the applications built on it are not portable across different public and private clouds and cloud providers. Furthermore, many hosted middleware solutions are not integrated with any IaaS management. Table 19.1 provides an overview of some of the most well-known IaaS and PaaS approaches along the dimensions of flexibility, life cycle management, scalability security, and data management. As shown in Table 19.1, advanced IaaS solutions include features for custom control on their automated scalability features. K12438_C019.indd 461 1/3/2012 5:22:48 AM

14 462 Knowledge Service Engineering Handbook AQ6 Table 19.1 Comparison of IaaS and PaaS Approaches Name of Approach Cloud Level Flexibility Amazon SimpleDB, SQS, SNS, RDS and AutoScale IaaS PaaS Modular aggregation of separate services Azure PaaS Modular aggregation of separate services Amazon Elastic Beanstalk (Tomcat app server-based) PaaS Transparency into the underlying services (VM, SNS, etc.) GAE PaaS Some modules can be integrated by invoking GAE APIs ( , memcache, user authentication, sessions, or image manipulation) AppScale PaaS Some modules can be integrated by invoking GAE APIs (user authenthication, mail, etc.) App Life Cycle Mgt Scalability Security Data Mgt Technology Specification None Horizontal and vertical scaling plus load balancing App and data marketplace Tomcatderived development support (concurrency, logging, etc.) Horizontal and vertical scaling plus load balancing Horizontal and vertical scaling plus load balancing Key-based authentication to access the different modules Federated identity and access control through rule Key-based authentication plus Tomcat features None None Google account based authentication and sandboxing Workflow and some IaaS constraints None Google authentication Key-value and relational DBs BLOB, table, queues, caching, and relational DB Not native: pluggable DB modules and transaction managers High replication and master/slave datastores (easier to use: integrated with JDO/ JPA or with GQL) and memcache Web, REST, and SOA interfaces Web, REST, and SOA interfaces WAR file Servlet technology Datastore GL Neptune: Servlet, map-reduce, MPI technology K12438_C019.indd 462 1/3/2012 5:22:48 AM

15 Knowledge-Intensive Cloud Services 463 Several modules can be activated and used, but they let little room for defining custom security mechanisms, data management options, or support for a complete cloud application life cycle. Among the PaaS solutions, more security, life cycle, and data management capabilities are exposed (some of them directly derived from the application containers underlying most PaaS solutions). A salient example with regard to its configurability and the transparency on underlying layers is VM Elastic Beanstalk. Elastic Beanstalk lets users keep some visibility over the underlying IaaS resources related to the container: they can select the most appropriate Amazon VM instance type, the database, and storage options; choose the Availability Zone(s), enabling HTTPS protocol on the load balancer; and run other application components, such as a memory caching service, side-by-side in Amazon s VMs or the container scalability by using Amazon s scaling and monitoring tools for VMs (Autoscale and CloudWatch). Also, Neptune offers the option of specifying the number of nodes supporting a given service [Bunch 2011]. These are detailed in the related work section in the following. SaaS is not an exception to the interoperability and lack of configurability problems. The SaaS client is presented with a complete application, for example, CRM, which cannot be customized easily at the process level and cannot be simply combined with external services from other providers to offer improved functionality to the client or developer. The cloud life cycle and the cloud-enabled marketplace are, then, far from being realized since cloud vendors expose a monolithic services with little (if any) configuration/customization options, preventing these services from diverse cloud service tiers to be linked together in a synergistic manner to address their application needs (e.g., scale my PaaS for authentication when my IaaS-embedded application receives too many users ). There is clearly a need to mashup services from a variety of cloud providers at the different delivery levels to create a cloud ecosystem. However, the type of tailored integration of cloud services needs to fit to specific business needs, using a mixture of SaaS, PaaS, and IaaS. In addition, they need to satisfy QoS requirements. This integrated ecosystem can be realized by leveraging and weaving together all aspects of infrastructure, platform, and application services to provide a wide variety of vertically aligned business solutions and falls under the purview of BPaaS [Papazoglou 2011a]. An example on how the cloud application life cycle will influence current mobile application market is presented in the following. In current mobile application markets, developers register, upload their applications, and publish them making them visible and available for mobile users. Mobile users connect to the marketplace, search for applications, and get them downloaded in their devices. While this model may be simple and may work very well for this segment, corporate applications are often more demanding. They are typically composed of several complex and distributed bits that need to be configured so that they can work together. These composing pieces often belong to separate vendors, present heterogeneous packaging and distribution mechanisms. Also, these applications are often server elements (mobile market applications can be seen either as clients or as stand-alone applications), which require a powerful underlying infrastructure (IaaS) that scales with the application load under AQ7 K12438_C019.indd 463 1/3/2012 5:22:48 AM

16 464 Knowledge Service Engineering Handbook predefined and varying conditions. Mobile operating systems expose APIs that reveal some services assisting developers of client application on common tasks. These APIs are typically a service in the device itself. In a corporate market, developers may need to tie client application installation in the device with server instantiation in the available IaaS service that is closest to the user. Similarly, general applications may require interaction with online APIs exposing some frequently used services (e.g., GAE s data access object or authentication PaaS services) or other online services developed by third parties (SaaS). The complex cloud ecosystem enabled by these new possibilities introduces new needs for complex interservice dependencies, huge space of solutions, and holistic cloud application solutions. These call for additional knowledge from all the actors (and supporting mechanisms exposed by the cloud platform). Here, the concepts of reuse, refinement, and dynamic (often automated) adaptation for dealing with cloud applications and their physical/platform configurations can be fused in the need for expressing, storing, querying, and manipulating some metadata (knowledge) in a formalized manner. The rising of knowledge-based cloud application engineering thus becomes a first class citizen for constructing cloud ecosystems. This topic and its relation to traditional knowledge-based engineering are dealt with in the next section Knowledge-Intensive Cloud Services There is indeed a need for structuring the information exchanged by any service components (across all the layers of the cloud stack) to make proper use of a cloud service during its life span. This information is essential and spans an enormous breadth of subject areas. It may originate from analysis and design tools (e.g., data from a marketplace for programmers to reuse previously developed code or integrate online APIs in their development process) all the way to the manner a given component consumes the monitoring data exposed by the IaaS provider. This range of information (knowledge) is currently widespread and compartmentalized per layer, for example, operational knowledge about a particular layer (e.g., PaaS), if it exists, stays confined strictly within this layer. It is by no means cross-correlated with knowledge originating from other layers, or not even exposed to other layer components, which could make more informed decisions and can thus increase the overall cloud application utility. It is therefore obvious that there is a pressing need for not only exposing operational knowledge at all levels of the cloud stack but also organizing and determining the visibility of the available information. This is due to the fact that many service providers require part of this information to remain private to avoid facing security or privacy vulnerabilities [Vaquero 2011]. The idea of knowledge-based cloud services finds its roots in knowledge-based engineering, and it concerns structuring metadata about cloud services. There is a very real need for interoperability and portability specifications to include all the relevant application, platform, and network infrastructure metadata necessary to move parts of an application from one cloud to another and allow invoking services from diverse clouds. The truth is that a comprehensive solution to the cloud metadata problem apart from the practical efforts of DMFT is currently missing. K12438_C019.indd 464 1/3/2012 5:22:48 AM

17 Knowledge-Intensive Cloud Services 465 Cloud-intensive knowledge may relate to service applications, technical capabilities, or operational level details and may serve to provide answers to such questions as follows: Where and how is a service implemented? What kind of customer service and response time does a service guarantee? What type of SLAs or security policies does a service come endowed with? What are the technical specifications that a platform supports? Is a platform an open-source one or a proprietary, closed one? Does a platform bill a fixed or variable cost for capacity? Such knowledge can be captured, abstracted, and stored in some medium, such as DMTF s service template, and can be ultimately used to instantiate a cloud service and to manage it during its life cycle. Furthermore, this knowledge must be organized and appropriately utilized and combined with other service knowledge to fulfill the vision of a holistic and efficient cloud application life cycle management. The need to provide a holistic and abstracted view of all cloud service and resource-specific knowledge, which possibly span disparate cloud environments, is critical in order to realize the BPaaS model, which we presented in Section Such efforts call for defining an appropriate mechanism for breaking the cloud monolith and building a more flexible system that preserves the essential properties of the cloud: abstraction, scalability, pay as you go model, and illusion of infinite resources underneath [Papazoglou 2011a]. This topic will concern us throughout this chapter. We start first by identifying the requirements and efforts for describing, organizing, and manipulating cloud-intensive knowledge Analysis of Cloud Service Domain Languages Development of cloud applications that utilize knowledge-intensive cloud services requires an effective description of cloud service-related metadata, an effective organization of the required of knowledge, and an associated support environment, which supports the description and manipulation of service-related metadata. We collectively refer to the language approaches that contribute to this environment as cloud service domain languages. Cloud service domain languages interlace three interrelated components: 1. A cloud service declarative definition language (CSDL), which provides the necessary abstraction constructs, called blueprints, to describe the operational, performance, and capacity requirements of infrastructure, platform, and application third-party services 2. A cloud service constraint language (CSCL), which specifies any explicitly stated rule or regulation that prescribes any aspect of cloud service defined in CSDL and verifies the validity of rule combinations 3. A cloud service manipulation language (CSML), which provides a set of operators for manipulating, comparing, and redefining CSDL blueprints, without compromising backward compatibility K12438_C019.indd 465 1/3/2012 5:22:49 AM

18 466 Knowledge Service Engineering Handbook In the following, we shall briefly review R&D activities related to cloud service domain languages. We shall commence by reviewing research work in cloud service definition languages first Overview of Cloud Service Definition Languages As currently no definition language exists that combines IaaS, PaaS, and SaaS service elements, we shall divide work related to cloud template definition languages in three sections, each of which reflects activities in the corresponding cloud stack layer. Cloud service template languages target the definition of useful knowledge that extends from lower-level cloud interoperability challenges centered around network addressing, multicast enablement, and VM techniques to the higher-level interoperability desires of software services, for example, web or RESTful services IaaS Definition Languages The description mechanisms for IaaS clouds can be categorized as template-based and model-driven [Papazoglou 2011a] Template-Based Approaches IaaS users who employ template-driven approaches, for example, either end users or PaaS providers, typically package the software stack (operating systems, middleware, and service components) in one or more VMs. However, each IaaS provider exposes its own interface and lets users exploit cloud capabilities and define their own services [Youseff 2008, Galán 2009]. This fact certainly complicates interoperability between clouds at the same layer of the cloud stack and, more so, across layers. In order to solve this interoperability problem, DMTF uses templates that help manage cloud resources and support the cloud service life cycle by, for instance, describing the way in which a cloud offering is presented and consumed [DMTF 2009]. The service offering is abstracted from the specific type of cloud resources offered, and service templates are used to describe in a general form what a cloud provider can offer (see also Section 19.5). The cloud service template is then mapped into the specifics of the provider s technology and constrains. One of the most prominent initiatives in DMTF, the open virtualization format (OVF) [OVF 2010], describes a specification of software packaging and distribution to be run in VMs. OVF is a platform-independent, efficient, extensible, and open packaging and distribution format for VMs. OVF is virtualization platform neutral, while also enabling platform-specific enhancements to be captured. There are several extensions of OVF to address low-level interoperability problems. Galán et al. consider configuration parameters (e.g., hostnames, IP, and other application-specific parameters) for software components included in the VMs as one of the capabilities that should be exposed by an IaaS provider [Galán 2009]. Horizontal VM scalability by relying on noninfrastructure metrics is also briefly dealt with in this publication. In a continuation of this work, the authors describe a system for a more complete application life cycle management on top of an IaaS cloud [Rodero-Merino 2010]. However, all OVF-based approaches are very restrictive as they focus on specific points of the application life cycle: definition and deployment K12438_C019.indd 466 1/3/2012 5:22:49 AM

19 Knowledge-Intensive Cloud Services 467 time configuration. The fact that the application horizontally scales and load balances its VMs cannot be considered beyond the configuration step. Previous approaches focused on the computing part of the infrastructure being exposed. One of the important missing bits in most IaaS representations is the network. Bernstein et al. [Bernstein 2009] mention a series of protocols that could help to enable the exposure of communications as another IaaS service. A wealth of network description languages (e.g., Network Description Language) exist that could fit in here. However, the lack of maturity in the cloud networking arena places the analysis of network description languages beyond the scope of this chapter. The work of Bernstein and Vij concentrates on proposing a layered set of protocols and formats (called intercloud protocols) as well as a set of common mechanisms that are needed both inside the clouds and in-between the clouds to resolve the IaaS interoperability challenge [Bernstein 2010]. The authors propose the use of intercloud directories as mediators for enabling connectivity and collaboration among disparate cloud providers. To facilitate collaboration among disparate heterogeneous cloud environments, they use the Extensible Messaging and Presence Protocol (XMPP), which forms a sound basis for asynchronous communication. To ensure that the requirements of an intercloud enabled cloud provider are correctly matched to the infrastructure capabilities in an automated fashion. This publication proposes the use of a declarative semantic model to capture both the requirements and constraints of IaaS computing resources. For this purpose, they use the resource description framework (RDF) language to specify IaaS resources and SPARQL, an SQL-like language, for querying and manipulating semantic information [Bernstein 2010]. In concluding this subsection, it is probably worth mentioning the first holistic integration approach: the Virtual private execution infrastructure Description Language (VXDL). VXDL allowed for an organized aggregation of heterogeneous computing and communication resources [Koslovski 2008]. AQ Model-Driven Approaches Model-driven approaches are based on considering models of the system as the main elements along all the steps of the software life cycle (design, implementation, deployment, test, and maintenance). Model-driven approaches have been employed for automating the deployment on top of IaaS clouds. Goldsack et al. [Goldsack 2009] propose a declarative configuration framework (SmartFrog) in which component descriptions were specified as ordered hash tables. The provided description is checked against a data model representing the life cycle status of the component, and inferences are made as to what changes are required to take the component from its current status into the one that matches the hash table declaration. Configurations and descriptions may contain data that come from different stages of the processing of a description. There may be data that are known in advance provided by the writer as part of the description or data that may only be known much later, either during the processing of the description or at run-time. This enables a full delegation approach with dynamic reference resolution. A model-based approach in which domain experts construct virtual appliances (virtual images with prebuilt configuration points) is proposed in [Konstantinou 2009]. The virtual appliance model in [Konstantinou 2009] consists of two parts: packaging K12438_C019.indd 467 1/3/2012 5:22:49 AM

20 468 Knowledge Service Engineering Handbook Table 19.2 Summary of Research Work in Service Definition Languages Operational Service Description Performance- Oriented Service Capabilities Resource Utilization Policies Rodero-Merino et al. (2010) OVF Ad hoc XML Ad hoc XML NA Bernstein and Vij (2010) RDF RDF RDF RDF Koslovski et al. (2008) VXDL VXDL N/A N/A Konstantinou et al. (2009) OVF Ad hoc XML N/A Ad hoc XML Collazo-Mojica et al. (2010) Ad hoc XML Ad hoc XML N/A Ad hoc XML Goldsack et al. (2009) Ordered hash tables Ordered hash tables N/A N/A and composition. Packaging includes configuration attributes of different products to be installed on the image, while composition determines how the appliance can be connected to other appliances. The proposed model declaratively exposes configuration points for the appliance models to be composed into solution models (using simple aggregation and cross-configuration of the appliances). This can be further customized by including infrastructure-specific requirements and may affect and drive VM placement and network configuration, which is referred to as a cloud-specific virtual solution deployment plan. In a similar manner, [Chieu 2010] describes a solution-based provisioning mechanism using composite appliances to automate the deployment of complex application services on an IaaS cloud. A key element for the composition of virtual appliances in these two publications is the virtual port. This is a typed object encapsulating all the properties required to affect a specific type of communication (it captures how images can be linked). Virtual ports are very similar to the service endpoints presented by [Collazo- Mojica 2010]. This work exposes a visual model for service specification that resembles traditional web mashup, but relies on an ad hoc XML format. Table 19.2 summarizes characteristics of the most important works identified relating to cloud service definition languages PaaS Definition Languages The variety of services that can be exposed a la PaaS make it quite complicated to get a unified view on the models and templates employed in describing these capabilities. The reader should take into account that a workflow engine or a service marketplace can both be PaaS services that are inherently different in the data they require and present. It is also worth mentioning that, while the literature is rich in attempts on describing IaaS systems, PaaS-related work is much scarcer. In this subsection, we shall concentrate on the approaches relevant to PaaS systems, which are compared and summarized in Table We shall examine two commercial approaches (Azure and Beanstock) as well as an experimental system. The Windows Azure Platform is a Microsoft cloud platform (http://www. microsoft.com/windowsazure/) is used to build, host, and scale web applications through Microsoft datacenters. Azure offers a SOA and REST imperative K12438_C019.indd 468 1/3/2012 5:22:49 AM



More information

FRAUNHOFER INSTITUTE FOR OPEN COMMUNICATION SYSTEMS. Cloud Concepts for the Public Sector in Germany Use Cases

FRAUNHOFER INSTITUTE FOR OPEN COMMUNICATION SYSTEMS. Cloud Concepts for the Public Sector in Germany Use Cases FRAUNHOFER INSTITUTE FOR OPEN COMMUNICATION SYSTEMS Cloud Concepts for the Public Sector in Germany Use Cases Peter Deussen, Klaus-Peter Eckert, Linda Strick, Dorota Witaszek Fraunhofer Institute FOKUS

More information

Cloud Service Level Agreement Standardisation Guidelines

Cloud Service Level Agreement Standardisation Guidelines Cloud Service Level Agreement Standardisation Guidelines Brussels 24/06/2014 1 Table of Contents Preamble... 4 1. Principles for the development of Service Level Agreement Standards for Cloud Computing...

More information

Identity and Access Management in Multi-tier Cloud Infrastructure. MohammadSadegh Faraji

Identity and Access Management in Multi-tier Cloud Infrastructure. MohammadSadegh Faraji Identity and Access Management in Multi-tier Cloud Infrastructure by MohammadSadegh Faraji A thesis submitted in conformity with the requirements for the degree of Master of Science Graduate Department

More information

Front cover. IBM SmartCloud: Building a Cloud Enabled Data Center. Redguides for Business Leaders. Pietro Iannucci Manav Gupta

Front cover. IBM SmartCloud: Building a Cloud Enabled Data Center. Redguides for Business Leaders. Pietro Iannucci Manav Gupta Front cover IBM SmartCloud: Building a Cloud Enabled Data Center Redguides for Business Leaders Pietro Iannucci Manav Gupta Learn how to choose the infrastructure as a service (IaaS) solution that best

More information

Cloud Computing and Grid Computing 360-Degree Compared

Cloud Computing and Grid Computing 360-Degree Compared Cloud Computing and Grid Computing 360-Degree Compared 1,2,3 Ian Foster, 4 Yong Zhao, 1 Ioan Raicu, 5 Shiyong Lu foster@mcs.anl.gov, yozha@microsoft.com, iraicu@cs.uchicago.edu, shiyong@wayne.edu 1 Department

More information

Challenges and Opportunities of Cloud Computing

Challenges and Opportunities of Cloud Computing Challenges and Opportunities of Cloud Computing Trade-off Decisions in Cloud Computing Architecture Michael Hauck, Matthias Huber, Markus Klems, Samuel Kounev, Jörn Müller-Quade, Alexander Pretschner,

More information

OPEN DATA CENTER ALLIANCE : The Private Cloud Strategy at BMW

OPEN DATA CENTER ALLIANCE : The Private Cloud Strategy at BMW sm OPEN DATA CENTER ALLIANCE : The Private Cloud Strategy at BMW SM Table of Contents Legal Notice...3 Executive Summary...4 The Mission of IT-Infrastructure at BMW...5 Objectives for the Private Cloud...6

More information



More information

Redpaper. IBM Private, Public, and Hybrid Cloud Storage Solutions. Front cover. ibm.com/redbooks. What is a storage cloud? Why would I want one?

Redpaper. IBM Private, Public, and Hybrid Cloud Storage Solutions. Front cover. ibm.com/redbooks. What is a storage cloud? Why would I want one? Front cover IBM Private, Public, and Hybrid Cloud Storage Solutions What is a storage cloud? Why would I want one? How can I get one? Larry Coyne Shivaramakrishnan Gopalakrishnan John Sing ibm.com/redbooks

More information

Cloud-Based Software Engineering

Cloud-Based Software Engineering Cloud-Based Software Engineering PROCEEDINGS OF THE SEMINAR NO. 58312107 DR. JÜRGEN MÜNCH 5.8.2013 Professor Faculty of Science Department of Computer Science EDITORS Prof. Dr. Jürgen Münch Simo Mäkinen,

More information


SOFTWARE ENGINEERING SOFTWARE ENGINEERING Key Enabler for Innovation NESSI White Paper Networked European Software and Services Initiative July 2014 Executive Summary Economy and industry is experiencing a transformation towards

More information

Best practice in the cloud: an introduction. Using ITIL to seize the opportunities of the cloud and rise to its challenges Michael Nieves. AXELOS.

Best practice in the cloud: an introduction. Using ITIL to seize the opportunities of the cloud and rise to its challenges Michael Nieves. AXELOS. Best practice in the cloud: an introduction Using ITIL to seize the opportunities of the cloud and rise to its challenges Michael Nieves AXELOS.com White Paper April 2014 Contents 1 Introduction 3 2 The

More information

Cyber Security and Reliability in a Digital Cloud

Cyber Security and Reliability in a Digital Cloud JANUARY 2013 REPORT OF THE DEFENSE SCIENCE BOARD TASK FORCE ON Cyber Security and Reliability in a Digital Cloud JANUARY 2013 Office of the Under Secretary of Defense for Acquisition, Technology, and Logistics

More information

Cloud Computing: Transforming the Enterprise

Cloud Computing: Transforming the Enterprise Cloud Computing: Transforming the Enterprise Cloud computing is not just a trend. It is changing the way IT organizations drive business value. THINK SMART. ACT FAST. FLEX YOUR BUSINESS. EXECUTIVE SUMMARY

More information

Vision & High Level Design Overview OpenDI Release 1 October 2008 v1.6 J. Carolan, J. Kirby, L. Springer, J. Stanford

Vision & High Level Design Overview OpenDI Release 1 October 2008 v1.6 J. Carolan, J. Kirby, L. Springer, J. Stanford Vision & High Level Design Overview OpenDI Release 1 October 2008 v1.6 J. Carolan, J. Kirby, L. Springer, J. Stanford http://opendi.kenai.com Abstract This document provides a high level overview of the

More information

Government Cloud Computing: Planning for Innovation and Value

Government Cloud Computing: Planning for Innovation and Value White Paper Cloud Computing Government / Public Sector Government Cloud Computing: Planning for Innovation and Value G Executive Summary Keywords: Cloud Computing, Government, Public Sector, Innovation,

More information

Monitoring Services in a Federated Cloud - The RESERVOIR Experience

Monitoring Services in a Federated Cloud - The RESERVOIR Experience Monitoring Services in a Federated Cloud - The RESERVOIR Experience Stuart Clayman, Giovanni Toffetti, Alex Galis, Clovis Chapman Dept of Electronic Engineering, Dept of Computer Science, University College

More information

Scalability and Performance Management of Internet Applications in the Cloud

Scalability and Performance Management of Internet Applications in the Cloud Hasso-Plattner-Institut University of Potsdam Internet Technology and Systems Group Scalability and Performance Management of Internet Applications in the Cloud A thesis submitted for the degree of "Doktors

More information

Arbeitsberichte der Hochschule für Wirtschaft FHNW Nr. 28. Enterprise Architectures for Cloud Computing

Arbeitsberichte der Hochschule für Wirtschaft FHNW Nr. 28. Enterprise Architectures for Cloud Computing Arbeitsberichte der Hochschule für Wirtschaft FHNW Nr. 28 Enterprise Architectures for Cloud Computing Laura Aureli, Arianna Pierfranceschi, Holger Wache ISSN Nr. 1662-3266 (Print) Nr. 1662-3274 (Online)

More information

Convergence of Social, Mobile and Cloud: 7 Steps to Ensure Success

Convergence of Social, Mobile and Cloud: 7 Steps to Ensure Success Convergence of Social, Mobile and Cloud: 7 Steps to Ensure Success June, 2013 Contents Executive Overview...4 Business Innovation & Transformation...5 Roadmap for Social, Mobile and Cloud Solutions...7

More information

An architectural blueprint for autonomic computing.

An architectural blueprint for autonomic computing. Autonomic Computing White Paper An architectural blueprint for autonomic computing. June 2005 Third Edition Page 2 Contents 1. Introduction 3 Autonomic computing 4 Self-management attributes of system

More information


INFORMATION SECURITY BRIEFING 01/2010 CLOUD COMPUTING INFORMATION SECURITY BRIEFING 01/2010 CLOUD COMPUTING MARCH 2010 This briefing note is based upon a research document compiled on behalf of CPNI by Deloitte. The findings presented here have been subjected

More information

ITU-T. FG Cloud TR Version 1.0 (02/2012) Part 3: Requirements and framework architecture of cloud infrastructure

ITU-T. FG Cloud TR Version 1.0 (02/2012) Part 3: Requirements and framework architecture of cloud infrastructure I n t e r n a t i o n a l T e l e c o m m u n i c a t i o n U n i o n ITU-T TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU FG Cloud TR Version 1.0 (02/2012) Focus Group on Cloud Computing Technical Report

More information

1 Introduction... 1. 2 Roles and Responsibilities... 5. 3 Cloud Architectures... 7

1 Introduction... 1. 2 Roles and Responsibilities... 5. 3 Cloud Architectures... 7 Contents 1 Introduction..................................................... 1 1-1 Purpose.................................................................. 1 1-2 Scope...................................................................

More information


CLOUD COMPUTING IN THE VICTORIAN PUBLIC SECTOR. Discussion Paper CLOUD COMPUTING IN THE VICTORIAN PUBLIC SECTOR Discussion Paper Cloud Computing in the Victorian Public Sector Discussion Paper Document Details Document Details Security Classification UNCLASSIFIED Version

More information

An SLA-based Broker for Cloud Infrastructures

An SLA-based Broker for Cloud Infrastructures Journal of Grid Computing manuscript No. (will be inserted by the editor) An SLA-based Broker for Cloud Infrastructures Antonio Cuomo Giuseppe Di Modica Salvatore Distefano Antonio Puliafito Massimiliano

More information

Introduction to SOA with Web Services

Introduction to SOA with Web Services Chapter 1 Introduction to SOA with Web Services Complexity is a fact of life in information technology (IT). Dealing with the complexity while building new applications, replacing existing applications,

More information



More information

Cloud Computing Models

Cloud Computing Models Cloud Computing Models Eugene Gorelik Working Paper CISL# 2013-01 January 2013 Composite Information Systems Laboratory (CISL) Sloan School of Management, Room E62-422 Massachusetts Institute of Technology

More information