Category: Research Themes

Research Theme: Pervasive Services

by Josef Spillner

In the early and mid-2000s, there has been a tremendous research activity around service-oriented architectures (SOA) and service-oriented computing (SOC). Many of the results remained on paper only. Meanwhile, though, the increasing use of cloud computing services and the forecast on fog computing has brought the necessity for dedicated service research and service prototyping back on the agenda. Such services should be pervasive by fulfilingl the needs of users as much as possible in any context. We envision a high degree of pervasive services in data centres, on interactive screens, and in embedded devices and robots. One example is storage from a service perspective: A user in a BYOD employment would like to just store files with the press of a single button, without trusting a single cloud. The service in this case would be composed of multiple individual services, which differ between a private and a company context. The Pervasive Services research theme of the Service Prototyping Lab therefore contributes new methods for forging, running, exploring and employing such services. The output of the theme will be tools, processes and procedures for prototyping services (e.g. following the results of Service-Based Applications).

Ultimately, a service should be of benefit to a client. With recent advances in cloud service research, clients can combine computing, storage and network resources according to specified goals. Both technical and legal protection of these goals is possible. The technical protection encompasses service bundling and multiplexing as well as guarantees given by the underlying service platform, for instance, deployment without breakage. The legal protection encompasses governance, service-level agreements, certifications and transparency through monitoring, news reports, cloud cockpits and cloud control centers.

Initiatives

Three research initiatives have been identified as helpful and in scope to drive this research theme and contribute to service prototyping.

The first one, Service Tooling, will innovate with designs for tools and engineering support in the entire lifecycle. This includes service brokers, catalogues, platforms, optimal selection, multiplexing and bundling layers, development tools, as well as add-on services such as gamification, IT support and business functions. The second one, Cloud Application Development Tooling, relates to seamless upgrades of complex services, including continuous deployment. The third one, Operations, incorporates service governance and process certification. The themes have been structured in a way that they directly contribute to knowledge transfer in education at ZHAW.

Projects

Currently, there are not yet any running projects in this research theme. We are actively identifying research opportunities and industry needs and look forward to collaborate on pervasive services and service platforms.

 People

Research Theme: Service-Based Applications

by Josef Spillner

Cloud infrastructure and platform technology has matured a lot since the foundation of ICCLab. Eventually, applications and services running on top are the key concerns to users entering into an interaction. Web applications, mobile apps, interactive devices and business processes are increasingly service-based and benefit from contextual awareness about the elastic scalability, the on-demand procurement and the smart deployment of these services. In the Service Prototyping Lab’s research theme on Service-Based Applications, we explore how to increase the benefit by having suitable software design, engineering and composition approaches. New methods are proposed, evaluated and applied to existing software (for migration) as well as to new software written from scratch in prototyping efforts to find out quickly whether or not each method or approach is worth following. This covers several application domains, including SaaS, PaaS and services bound to devices.

Initiatives

There are one established and two additionally planned initiatives for this research theme on Service-Based Applications.

The Active Service Management initiative is related to fully managed services in PaaS, but adds self-awareness of services running in managing environments. Therefore, services implemented as CNA are suitable candidates. The Cloud Robotics initiative explores integrating services with devices, in particular robots, to achieve fully automated digital and real-world services.

Projects

In the following projects, topics raised by and related to the initiatives are actively being worked on.

 People

Energy Efficiency and Cloud Computing – The Theme

The primary focus of the Energy Theme is on reducing the energy consumption of cloud computing resources. As compute nodes consume most of the energy in cloud computing systems, work to date has been focused on reducing the energy consumed by compute loads, particularly within the Openstack context. Although, as servers get increasingly instrumented, it is clear that there is potential in understanding the energy consumption with finer granularity and ultimately this can lead to energy efficiencies and cost savings.

Architecture

In the current work, the primary mechanism to achieve energy efficiencies is load consolidation combined with power control of servers. This could be augmented with managing server CPU power states, but it remains to be seen if this will lead to significant power savings. Another tool to achieve energy efficiencies is to add elastic load when the resources are underutilized – this does not reduce the overall energy consumption per se, but rather enables providers to get more bang for their energy buck.

energy-arch-v1

The current architecture of the Cloud Energy Efficiency Subsystem is shown above with the components performing the following functions:

  • an energy monitoring component: this obtains information on the energy consumption of the entire system – it may also make some kind of abstraction rather than working with highly granular data for each node;
  • a load characterization component: this component uses primarily ceilometer data to understand what is going on in the cloud – it makes an abstraction of the usage of the system over different timescales and particularly determines which level of burstiness exists in the load patterns;
  • a load consolidation mechanism: this will take the info on the system state and identify where load consolidation can be performed – it then issues a set of live migration instructions to the cloud to perform the consolidate. In general, it would be necessary to add some filters to support different hypervisors, bare metal servers, etc which makes it more complex;
  • physical server manager: this will turn off servers and turn them on as necessary – this will take input from the load characterization component to determine how much spare capacity to keep in the system to deal with variations in demand.

The specific interactions between these components is evolving as this is a work in progress.

Initiatives

At present, the theme comprises of two initiatives. These are

Related Projects

People

Platform as a Service (PaaS)

Platform as a Service

Plattform as a Service (PaaS) is all about bringing applications and services to the cloud. Therefore the target audience of the PaaS model are developers. It provides them a platform containing the whole technology stack to run applications and services supporting all the typical cloud characteristics like On-Demand Self-Service, Rapid Elasticity, Measured Service, Resource Pooling etc.  Typically these platforms consist of:

  • Runtime environments (Java, Ruby, Python, NodeJs, .Net, …),
  • Frameworks (Spring, JEE, Rails, Django, … ) and
  • Services like
    • Datastores (SQL, NoSQL, Key-Value-Stores, File-/Object-Storage,…),
    • Messaging (Queuing, Pub/Sub, Event-Processing,…)
    • Management (Authentication, Logging, Monitoring,…)
    • Miscellaneous (Mail, Search, Job Scheduling, Reporting, App Analyzer, …)

In addition to providing the runtime platforms also tools supporting the development process like development environments, testing, continuous integration and continuous deployment have to be adopted for the cloud environment.

In a layering model PaaS can be seen as a (middleware, glue) layer between Infrastructure (IaaS) and Software- and Service offerings for end-users (SaaS).

PaaS technologies and offerings are slowly getting mature. Industry is starting to discover PaaS solutions, but there is still a lot of education work to do in programming for the cloud. We see a lot of opportunities in this areas. Todays PaaS offerings almost entirely focus on web solutions and are optimized for large numbers of short lived process requests. They are not (yet) optimized for other services like batch processing.

There are some well known PaaS Providers like Pivotal WebServices, IBM Bluemix, Swisscom Application Cloud, REdHat OpenShift Online, Google App Engine, Microsoft Microsoft Windows Azure, Heroku, Stackato, App Fog, Engine Yard, CloudBees, …

In the lab we are specifically investigating the following OpenSource PaaS frameworks:

In the PaaS Research Theme we are addressing the following topics:

  • Architecture, Scalability, Performance, Dependability and Interoperability of PaaS runtime environments
  • Automated deployment and operation of PaaS environments.
  • Managing PaaS systems (Monitoring, “Rating, Charging & Billing”, Incident Managment)
  • Automated deployment and management of SOA-Applications in PaaS
  • Building scalable applications for the cloud (architecture, mechanisms, …)
  • Developer tooling and processes for continuous deployment and management of SOA based applications in PaaS.
  • Cloud optimized communication middleware.
  • Management and continuous migration of persistent data (versioning, structure changes, …)
  • Extending the usage areas beyond web solutions (batch processing, analysis, …)

Initiatives

The following Initiatives are addressing PaaS specific topics.

ICCLab:

SPLab:

Projects

In the following Projects we are currently working on PaaS specific topics:

Infrastructure as a Service (IaaS)

Infrastructure as a Service

Infrastructure as a Service is a basic and fundamental research area for the ICCLab. By IaaS we refer to the service that provides basic, enabling services such as compute, storage and networking. There are many exemplary current-day IaaS service offerings such as Amazon EC2, Rackspace Cloud Servers and CloudSigma servers. These services are very much cloud services and adhere to the NIST definition of cloud computing:

1. On-demand self-service
2. Broad network access
3. Resource pooling
4. Rapid elasticity
5. Measured service

These services are implemented using infrastructure management frameworks (IMFs), many of them are developed privately in-house but more and more open source IMFs, for example Rackspace. Rackspace, as does the ICCLab, uses OpenStack to power its IaaS offering. OpenStack is not the only open source IMF. Others include:

IaaS itself is also a wide area filled with interesting research areas and currently the research initiatives of interoperability and dependability are applied to IaaS in the ICCLab.

Related Initiatives

Related Projects