Cloud application services - overview
The Cloud Application Services team is working to provide services to facilitate the development and operation of Cloud-based Applications and Services. We aim to design, develop, deploy, manage services that help developers as they work to design, develop, deploy and manage their own cloud and mobile applications and services.
SmartCloud Application Services
The Cloud Application Services research team has worked closely with our partners in IBM Global Technology Services to create the SmartCloud Applications Services offering. SmartCloud Application Services is an IBM platform-as-a-service offering that allows application developers to quickly develop, test, deploy and manage applications within the IBM SmartCloud Enterprise environment.
The research team was deeply involved in the design and architecture as well as the development and testing of the SmartCloud Application Workload Service and the SmartCloud Application Collaborative Lifecycle Management Service components of the SmartCloud Application Services offering.
SmartCloud Application Workload Service makes it easier to manage and deploy WebSphere-based applications on IBM's public cloud. It uses patterns to create templates of software and virtual machine resources, streamlining the deployment and management of complex workloads.
SmartCloud Application Collaborative Lifecycle Management Service presents a set of integrated tools that provide a cloud-based collaborative environment supporting the development and deployment of cloud applications and services.
Software License Management
The Cloud Application Services research team has been working on the challenging issue of software license management for both traditional and cloud environments. Software licenses that facilitate usage of a company's software products usually have many complex and diversified characteristics, including various license types, affiliated with one or more asset types on which the software is deployed; terms and conditions, which could be wide ranging with various restrictions; and of course, price. The challenges that encompass software license management are:
- Cost: Addressing the issue of license cost such that an optimal procurement plan is chosen that covers the assets on which the software products are installed
- Compliance: Ensuring sufficient licenses exist to cover the potentially wide portfolio of installed software products
- Inventory: Enabling license tracking in any IT environment possessing a change management system
- Type: Developing a standard for all license types enabling (a) through (c) given the large number and complexities of license types available
The team has made major progress in each of these four areas delivering technologies that successfully addresses each of these challenges. In the area of license cost, the team has delivered an optimization engine that selects the most cost-effective combination. For the compliance issue, the reconciliation engine works in a similar manner to determine if there are sufficient licenses available to cover the portfolio of installed software products and determine compliance. Both of these problems can be computationally intensive and, in such cases, heuristics can be used to improve runtime performance.
A critical component of both optimization and reconciliation engines is the license metamodel needed for license model standardization. Further, the metamodel subsequently enables model-driven license requirement calculation to support the optimization and reconciliation engines. Lastly, in the area of discovery, the team has developed an engine that takes advantage of the change management system in an IT environment (cloud management layer in a cloud for example) to track license usage based on software bundle (de)installations and VM (de)provisioning.
The team has completed the "proof of concept" phase for each component and is in the process of delivering these to the respective IBM business units; including Global Technology Services, Software Middleware Group and Systems and Technology Group, where their usage can be fully capitalized for IBM’s clients.
The Cloud Application Services Research team has developed a methodology for comparing critical metrics of various clouds for the deployment of large-scale enterprise workloads. Such comparisons can entail various IBM and open source clouds and various configurations of a given cloud management layer. To this end, the team has recently concluded an assessment in which the Essex version of OpenStack in the default configuration has been compared to IBM's Smart Cloud Provisioning (SCP) version 2.1 cloud. In this exercise, the team has compared the following metrics of the two clouds: Performance, including virtual machine provisioning, runtime performance for various applications, and image capture, reliability, and usability (ease of system administration). Further, based on this comparison, we have begun investigating some additional OpenStack configurations.
Virtual Machine Image Management and I/O Optimization
Additionally, the Cloud Application Services Research team has also been working on various cloud-enabling technologies. These include virtual machine image management and I/O optimization.
An Empirical Analysis of Similarity in Virtual Machine Images
K. R. Jayaram, Chunyi Peng, Zhe Zhang, Minkyong Kim, Han Chen, and Hui Lei
ACM/IFIP/USENIX 12th International Middleware Conference (Middleware), Lisbon, Portugal, December 12-16, 2011
Small is Big: Functionally Partitioned File Caching in Virtualized Environments
Zhe Zhang, Han Chen, Hui Lei
HotCloud '12 - 4th USENIX Workshop on Hot Topics in Cloud Computing , USENIX, 2012
VDN: Virtual machine image distribution network for cloud data centers
Chunyi Peng, Minkyong Kim, Zhe ZHANG, Hui Lei
31st IEEE International Conference on Computer Communications (IEEE INFOCOM), Orlando, Florida, March 2012
Management-based License Discovery for the Cloud
Minkyong Kim, Han Chen, Jonathan Munson, Hui Lei
10th International Conference on Service Oriented Computing (ICSOC) 2012