Towards Building a Cloud Platform for
Service Oriented Software Development
Hailong Sun (Assistant Professor) Beihang University
Agenda
Motivation
Existing work
Traditional software development
Requirement
Specification Design Coding Test Deployment
- the support of various development tools
- the runtime environment for both test and production
running
Service–oriented software design & development
Basic approach
Improve the productivity of software development through reusing of loosely-coupled services over Internet
Applications Component Services Infrastructure
Key issues
Service management Service composition Runtime managementMany tools and middleware involved
Tools
Business process modeler
Service composition tool
Verification and test tool
Service deployment tool
Monitoring tool
Middleware
Service container
Composite service execution engine (workflow
engine)
Problems
The extra work for developers
Install and configure various development
tools
Install and configure runtime supporting
middleware
Obtain and maintain underlying resources
Machines
Networks
However they should focus on
“development”.
The crux of cloud computing
Service
IaaS: Infrastructure as a Service
PaaS: Platform as a Service
SaaS: Software as a Service
Can we make use of cloud computing to
save developers from the extra work?
An online development environment
A hosting platform
Service-oriented software architecture
Infrastructural resources
Software Production and Running Applications
R&D goal
Building a cloud platform for service
oriented software development
Instant development without installing tools
Instant deployment without installing
middleware
Moving towards a cloud platform
Online application development
Browser-based IDE
Business process centric development
Online sharing of software services
Transparent deployment and running
Agenda
Motivation
Existing work
Existing R&D work on service oriented
development
Trustie project: SOARProLine (Service
oriented software production line)
SOARWare : SOARProLine+
Service resource management
Design and development
SOARBase Active service collecting Service mining Service i nfo. coll ecting Service development tool Business process modeling tool Service choreography tool
Service test & verification tool Service deployment tool Other tools Software modeling and development Service Re g./D isco very deploy
SaaS-oriented Software Service Provisioning and Consuming Environment
Online modeling and
development Service access Service provisioning
Service Info. Mgmt.
Monitoring
Service evolution
mgmt. and evolution Service running
1. SOARBase: service management
Service resources
Atomic services
Composite services
(business process)
Functionality
Collecting
Service mining
Service recommendation
Registration & search
Mgmt of service attributes
(QoS)
Service Oriented SPL
Service Oriented SPL
Developer
Intermediate
assets Business
model Web service
Execution model Composite service Business requirement Software product
Service oriented SPL
SPL config & management tool
Configue software production process Mgmt. of software production process Assign and Mgmt. of production tasks Mgmt of intermediate assets
Various software production tools
BP modeling tool
BPIDE-Business Process IDE
Collaboration between multi-roles
3. Service running and evolution
Service bus
Message exchanging
QoS-aware service scheduling
Monitoring of composite service engines and service
instances
Service container
Axis2 powered
Easy service deployment
Container management
Composite service engine
Service Invocation Proxy Runtime Sys. Mgmt. SOARBus BPMN Parser Evolution Mgmt. Task Pool Execution Processing Communication with SOARBus
SOAREngine Service deployment Processing Result Mgmt. SOARBase Deploy/Unde-ploy
Communication with SOARBus ServiceInfo
Monitoring
Start/Stop Axis2 core
Applications of SOARWare
Funded by 863 program
Digital China
Government tax service
Wonders Information
Agenda
Motivation
Existing work
The state of the art
Service composition Service composition AS API AS API Infrastructure resources (compute, storage, network…) Infrastructure resources (compute, storage, network…) Software Appliance: Service Container、BPMNEngine、App Server Software Appliance: Service Container、BPMNEngine、App Server SA org. and mgmt. SA org. and mgmt. CS API
CS API RM APIRM API
Scheduling, running & monitoring Scheduling, running & monitoring Service deployment Service deployment
AppEngine
(PaaS)
IaaS Trustw orthiness Trustw orthiness Service Mgmt . Service Mgmt . Online developmentServiceXchange MyCloudMyCloud
SaaS
IaaS: software appliance provisioning
Software appliance=VM/PM+ middleware
Dynamic provisioning Manageability
Functions
SaaS
Atomic Service API
Atomic Service API Composite Service APIComposite Service API Runtime APIRuntime API
AppEngine
(PaaS)
Online development
ServiceXchange MyCloudMyCloud AppStoreAppStore
SaaS
Online App Access
ServiceXchange
A production version of SOARBase
www.servicexchange.cn
Research work behind the scene
Service crawling
Service mining: clustering and conntectability
Service recommendation
Trustworthiness management
Tagging
MyCloud
Personalized development environment
Service subscription
App development tools
Instant development tools: BPIDELite- a
light-weight BPMN editor and service composition
tool suite.
Instant deployment interface
Instant running-Virtual runtime environment
MyServiceContainer
MyBPMNEngine
BPIDELite
Flex-based development toolset
BPMN-based business process modeling
Service choreography
MyServiceContainer
Virtual service container
Service deployment/un-deployment
WSDL file browsing
MyBPMNEngine
Virtual composite service execution engine
BPMN compliant
CS deployment
Online monitoring
Flex-based composite service monitoring
Instance state
App Store
Application management
Agenda
Motivation
Existing work
The state of the art
Conclusion and future work
Conclusion
We aim at building a cloud platform for service oriented software development
Instant service for developers
Instant development Instant deployment Instant running
Future work
Richer online development tools Better multi-tenant support
Load balancing Separation
Dependability
36
iVIC
The Internet-oriented Virtual Computing Infrastructure
Towards resource virtualization
Design Goals (**)
Support resource allocation based on VM instances
To provide another software encapsulate method
Image creation, dissemination and optimization
Container for VM Images: Load VM images dynamically
To provide internet-scale resource allocation and adaption
Wide-Area Network VM Migration
Support the network application virtualization
Linking virtual machine instances via virtual network overlays
vHaaS: virtualized Hardware as a Service
38
Motivation
To support wide-area resource sharing, like department, organization, city, or anything bigger than an office
underlying resource may not be in the same LAN (link, subnet)
Current VM technology lacks in support of WAN Migration
Network Problem: VM’s IP address will be unavailable to other Internet host
Storage Problem: Hosts must share a network storage, which is inefficient for WAN hosts
App App
Provide Service
39
Similar problem with Mobile IP
Mobile IP deals with actual physical device movement VM migration only involve with runtime-state movement
Our solution: Hypervisor Controlled Mobile IP
HyperMIP: Hypervisor Controlled Mobile IP
Combine Proxy-mode mobile-ip stack with hosts VM Migration:
40 Network performance of VM1 (HyperMIP) and VM2 (non‐HyperMIP) Network restoration time of live migration Network traffic during live migration(w. HyperMIP) Topology for Exp1: Network Performance Topology for Exp2: Network restoration time of migration
Service down-time In Migration Average 3.1s across two LANs
~400ms overhead than migration in LAN 2.7s
Service down-time In Migration Average 3.1s across two LANs
~400ms overhead than migration in LAN 2.7s
Network Performance
No significant overhead for Web Server workload and File Server workload (<1%)
Network Performance
41
Problem
To migrate VM, two host must share NAS
Otherwise migration downtime is unacceptable
NAS is infeasible among distributed resources
NAS disk performance is limited by network bandwidth
Solution: MigLoop, two level Vdisk(remote/local)
NAS VM VM VDisk VDisk VM VM Migrate VM VM VDisk VDisk VM VM Migrate HTTP/FTP/NFS VM VM Lvl1 VDiskLvl1 VDisk VM VM Migrate VDisk VDisk Lvl2 VDiskLvl2
VDisk VDiskVDiskLvl2 Lvl2 Poor disk performance
Poor disk performance Long migration
down-time
Long migration
42
Virtual Disk Performance
Migration Performance
Disk Performance In Migration MigLoop vs Loop overhead < ~6%Disk Performance In Migration MigLoop vs Loop overhead < ~6% Disk Performance
MigLoop vs Loop DBench overhead <2.1%
Disk Performance
43
iVIC Clients
vProcess Servers vSpace Servers
vSpace User Storage
vStore (Software Libs)
Presenta tion Streami ng Application Streaming
44
From you laptop
By using
browser with iVIC Client Plugins
.
By plug a
USB Flash Disk
into any computer.
From you mobile phone
iVIC Platform
Programmable virtual computing environment
Low cost, high flexibility and reliability Virtualized Software as a Service
Key technologies
VM Migration over WAN P2P based iVIC-VPN VM high availability Software streaming
Applications
Software lab
Massive data processing (MapReduce) HPC - vCluster