a journal of a researcher

Thursday, April 30, 2009

IT as services – Cloud Computing in HP

I browsed HP’s strategy on Cloud Computing. I found HP is very active in providing Cloud Computing techniques, especially in the techniques to build data center based on Cloud diagram.

Services:
In HP’s vision, “Service” is delivering values to customers facilitating outcomes customers want without the ownership of specific costs and risk (Scott McClellan, HP). A IT system for an enterprise has three layers: infrastructure, platform and software applications. All the three layers can be outsourced and provided as services: Infrastructure as services, platform as services and software as services (SaaS). All these services can be from clouds. For clouds, these services just differentiate each other in the added value – the infrastructure services are the rawest ones. Services are connected to each other.

Architecture:
Compare clouds to enterprise architecture, enterprise architecture is a process centric view, while services in different layers are like an onion (computer-storage – OS – middleware – application – integrated system). (make sense here???).

Business model: Enterprise IT to global IT

If IT organization takes service-centric view, IT emphasis on sourcing and delivering services. Service is economic unit of measure. IT managers still balance between budget, culture and risk. Also integration, continuity and security are still considerations. New things: series of provider/consumer relationships across the enterprise. Service governance and procurement, service level agreements are new topics.

Technical challenges

Cloud platform
  • Scale up data, tasks
  • Workload balance: currently the programmer needs to consider this. When clouds are matured, it should be
  • service composition
  • transactions
  • security
Cell-as-a-service
  • cell isolation for security and performance
  • cell composition
  • model-based cell configuration and control
  • management system allocation across large-scale infrastructure.
Automated service life cycle management
  • life cycle management for service offers & instances in clouds
  • multiple viewpoints, modular, parameter models
  • managing & predicting nonfunctional properties
Data center
  • Exa-scale data center
  • Sustainable data center

Saturday, April 25, 2009

Canarie NEP Projects

Canarie funded ten projects in the NEP1 program. The NEP program is to build online platforms for supporting distributed science community for data and resource sharing. This is like an early midterm review. We demoed what we got so far and exchange our experiences with the other teams. Canarie is what I saw the most efficient and effective funding agency. It has expertise to track the latest technology and steers its funding directions quite well. You cannot fool such a funding agency with nonsense.

The common problems to solve within these projects are 1) data management, 2) application integration, 3) middleware design, 4) process management. People use all kinds of fancy techniques to implement their platform - from J2EE to social network software. Seriously, Globus Toolkit, J2EE, AJAX, workflow management and some domain specific software are the key techniques. Data query around metadata is a common practice. However, no teams investigate ways to annotate the data, except manual way. Workflow is also used by multiple projects.

From research point of view, we still do not know how to go from user requirements to services design. This is a software engineering problem. Not there yet.

Sunday, April 19, 2009

Service Oriented Design

Service oriented analysis and design is to bridge business architecture and IT architecture. Start from business requirements, define services (functions for one service, the right size), model a services (interface for one service, interaction between services), then use automatic tools to generate classes and code for service implementation. Some Q&A:

1. How to find the right services?
Features of a service: Service is a concept in business, rather than in IT terminology. A service should be bound to an explicit business goal or function. A service should have user inputs (ref. my paper Between Service Science and Service Oriented Software System) …
A service is a relatively independent function of the target system. It should be normally bigger than classes in a normal OO design.

2. Services vs. classes
A service is implemented by multiple (even numerous) classes. After the interface of a service is designed (e.g. in WSDL), the generation of implementation can be automatic. To the current automatic translation tool, the size of the service should not be too big. Otherwise, the code is not coherent.

3. Tools to help design a service
UML Use cases
UML logic architecture
UML activity diagram (with port definition?)
UML domain diagram
Not UML class diagram