OW2 Meeting
Towards Building a Cloud Platform for Service Oriented Software Development
Hailong Sun (Assistant Professor)Beihang University
Sept. 21, 2010
OW2 Meeting
AgendaMotivationExisting workThe state of the artConclusion
OW2 Meeting
Traditional software development
RequirementSpecification Design Coding Test Deployment
- the support of various development tools
- the runtime environment for both test and production running
- Usually, developers who should focus on application logic development have to take care of these issues themselves
OW2 Meeting
Service–oriented software design & developmentBasic approach
Improve the productivity of software development through reusing of loosely-coupled services over Internet
Applications
ComponentServices
Infrastructure
Key issuesService management Service compositionRuntime management
Service oriented software development
OW2 Meeting
Many tools and middleware involvedTools
Business process modelerService composition toolVerification and test toolService deployment toolMonitoring tool
MiddlewareService containerComposite service execution engine (workflow engine)Service bus
OW2 Meeting
ProblemsThe extra work for developers
Install and configure various development toolsInstall and configure runtime supporting middlewareObtain and maintain underlying resources
MachinesNetworks
However they should focus on “development”.
Dev.→Service!
OW2 Meeting
The crux of cloud computingService
IaaS: Infrastructure as a ServicePaaS: Platform as a ServiceSaaS: Software as a Service
Can we make use of cloud computing to save developers from the extra work?
An online development environmentA hosting platformAn on-demand infrastructure service
OW2 Meeting
Service-oriented software architecture
Infrastructural resources
Software Production and Running
Applications
IaaS
PaaS
SaaS
OW2 Meeting
R&D goalBuilding a cloud platform for service oriented software development
Instant development without installing toolsInstant deployment without installing middlewareInstant running without knowing the underlying resources
OW2 Meeting
Moving towards a cloud platformOnline application development
Browser-based IDEBusiness process centric developmentOnline sharing of software services
Transparent deployment and runningSimilar to Google AppEngine
OW2 Meeting
AgendaMotivationExisting workThe state of the artConclusion
OW2 Meeting
Existing R&D work on service oriented development
Trustie project: SOARProLine (Service oriented software production line)
SOARWare : SOARProLine+Service resource managementDesign and developmentRuntime support
OW2 Meeting
SOARBase Active service collecting
Service mining
Service info. collecting
Service development
tool
Business process
modeling tool
Service choreography
tool
Service test & verification
tool
Service deployment
toolOther tools
Software
modeling and
development
Service Reg./Discovery
deploy
SaaS-oriented Software Service Provisioning and Consuming Environment
Online modeling and development Service provisioningService access
Service Info. Mgmt.
MonitoringService
evolution mgmt. Service running
and evolution
Service Bus
Service Container
Composite service engine
Service Oriented SPL
Architecture of SOARWare
OW2 Meeting
1. SOARBase: service managementService resources
Atomic servicesComposite services (business process)
FunctionalityCollectingService miningService recommendationRegistration & searchMgmt of service attributes (QoS)
AvailabilityResponse timeReputation
OW2 Meeting
Service Oriented SPLService Oriented SPL
Developer
Intermediate assets
Business model
Web service Execution model
Composite service
Business requirement
Software product
2. Service oriented software production line
OW2 Meeting
Service oriented SPLSPL config & management tool
Configue software production processMgmt. of software production processAssign and Mgmt. of production tasksMgmt of intermediate assets
Various software production toolsBP modeling toolService choreographyService encapsulationTest and verification…
OW2 Meeting
BPIDE-Business Process IDECollaboration between multi-roles
Domain expertsApp. analystsService developers
A suite of toolsModeling toolService encapsulationService choreographyVerification toolTesting tools
OW2 Meeting
3. Service running and evolutionService bus
Message exchangingQoS-aware service schedulingMonitoring of composite service engines and service instances
Service containerAxis2 poweredEasy service deploymentContainer management
Composite service engineDistributed processing of BPMN serviceDynamic service evolution
OW2 Meeting
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
SOARHome
OW2 Meeting
Applications of SOARWareFunded by 863 program
Digital ChinaGovernment tax service
Wonders InformationE-government applications
OW2 Meeting
AgendaMotivationExisting workThe state of the artConclusion
OW2 Meeting
Service compositionService composition
AS APIAS API
Infrastructure resources (compute, storage, network…)Infrastructure resources (compute, storage, network…)
Software Appliance: Service Container、BPMNEngine、App ServerSoftware Appliance: Service Container、BPMNEngine、App Server
SA org. and mgmt.SA org. and mgmt.
CS APICS API RM APIRM API
Scheduling, running& monitoring
Scheduling, running& monitoring
Service deploymentService deployment
AppEngine(PaaS)
IaaS
Trustworthiness
Trustworthiness
Service Mgm
t.Service M
gmt.
Online development
ServiceXchange MyCloudMyCloudSaaS
AppStoreAppStore
Service Cloud Platform
OW2 Meeting
IaaS: software appliance provisioningSoftware appliance=VM/PM+ middleware
Dynamic provisioningManageability
FunctionsDynamic deployment/un-deployment of SAsLifecycle managementMonitoringLogging
Service ContainerService Container
BPMNEngineBPMNEngine
App ServerApp ServerAgent
VM/PM
SA ManagerSA Manager
OW2 Meeting
App Engine: hosting environment
KernelKernel
Lightweight service bus
Lightweight service bus
AS deploymentAS deployment
AS invocationAS invocation
CS deploymentCS deployment
CS invocationCS invocation
CS monitoringCS monitoring
Load balancingLoad balancing
Data managementData managementSoftware appliancemanagement
Software appliancemanagement
…
SA ManagerSA Manager
OW2 Meeting
SaaS
Atomic Service APIAtomic Service API Composite Service APIComposite Service API Runtime APIRuntime API
AppEngine(PaaS)
Online development
ServiceXchange MyCloudMyCloud AppStoreAppStore
SaaS
Online App Access
… API… API
OW2 Meeting
ServiceXchangeA production version of SOARBase
www.servicexchange.cnResearch work behind the scene
Service crawlingService mining: clustering and conntectabilityService recommendationTrustworthiness managementTagging
Published at ICWS, WI, JOS, ATC…
OW2 Meeting
MyCloudPersonalized development environment
Service subscriptionApp development tools
Instant development tools: BPIDELite- a light-weight BPMN editor and service composition tool suite.Instant deployment interface
Instant running-Virtual runtime environmentMyServiceContainerMyBPMNEngineOnline monitoring tool
OW2 Meeting
BPIDELiteFlex-based development toolset
BPMN-based business process modelingService choreographyInstant deployment
OW2 Meeting
MyServiceContainerVirtual service container
Service deployment/un-deploymentWSDL file browsingService invocation
OW2 Meeting
MyBPMNEngineVirtual composite service execution engine
BPMN compliantCS deployment BPMN model browsingService invocation
OW2 Meeting
Online monitoringFlex-based composite service monitoring
Instance stateIntermediate state (similar to debugging)
OW2 Meeting
App StoreApplication management
App publishingApp categorizingApp search
OW2 Meeting
AgendaMotivationExisting workThe state of the artConclusion
OW2 Meeting
Conclusion and future workConclusion
We aim at building a cloud platform for service oriented software developmentInstant service for developers
Instant developmentInstant deploymentInstant running
Future workRicher online development toolsBetter multi-tenant support
Load balancingSeparationDependability
Dynamic resource provisioning: incorporate existing IaaStechnologies
OW2 Meeting
Appendix-iVIC
OW2 Meeting
36
iVICThe Internet-oriented Virtual Computing InfrastructureTowards resource virtualization
Design Goals (**)Support resource allocation based on VM instances
To provide another software encapsulate methodImage creation, dissemination and optimizationContainer for VM Images: Load VM images dynamically
To provide internet-scale resource allocation and adaptionWide-Area Network VM Migration
Support the network application virtualizationLinking virtual machine instances via virtual network overlays
vHaaS: virtualized Hardware as a Service
vSaaS: virtualized Software as a Service
OW2 Meeting
37
Assistant designing tools
Backendmodule
Integrated manage view
design
Virtual running environmentdeploy、monitor、schedule
Physical resources
install
1. vHaaS
OW2 Meeting
38
MotivationTo support wide-area resource sharing, like department, organization, city, or anything bigger than an officeunderlying resource may not be in the same LAN (link, subnet)
Current VM technology lacks in support of WAN MigrationNetwork Problem: VM’s IP address will be unavailable to other Internet hostStorage Problem: Hosts must share a network storage, which is inefficient for WAN hosts
AppAppProvide Service
Migration transparent to UserMigration transparent to User
OW2 Meeting
39
Similar problem with Mobile IPMobile IP deals with actual physical device movementVM migration only involve with runtime-state movement
Our solution: Hypervisor Controlled Mobile IPHyperMIP: Hypervisor Controlled Mobile IP
Combine Proxy-mode mobile-ip stack with hosts VM Migration:VM does not need to install Mobile IP stackVMMs manage Network restoration for VM
OW2 Meeting
40
Network performance ofVM1 (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 MigrationAverage 3.1s across two LANs
~400ms overhead than migration in LAN 2.7s
Service down-time In MigrationAverage 3.1s across two LANs
~400ms overhead than migration in LAN 2.7s
Network PerformanceNo significant overhead for Web Server
workload and File Server workload (<1%)
Network PerformanceNo significant overhead for Web Server
workload and File Server workload (<1%)
OW2 Meeting
41
ProblemTo migrate VM, two host must share NAS
Otherwise migration downtime is unacceptableNAS is infeasible among distributed resources
NAS disk performance is limited by network bandwidthSolution: MigLoop, two level Vdisk(remote/local)
NAS
VMVM
VDiskVDisk
VMVMMigrate
VMVM
VDiskVDiskVMVM
Migrate
HTTP/FTP/NFS
VMVM
Lvl1 VDiskLvl1
VDisk
VMVMMigrate
VDiskVDisk
Lvl2 VDiskLvl2
VDiskLvl2
VDiskLvl2
VDisk
Poor disk performancePoor disk performance Long migration down-time
Long migration down-time
Better performance, less down-time
Better performance, less down-time
OW2 Meeting
42
Virtual Disk Performance Migration Performance
Disk Performance In MigrationMigLoop vs Loop overhead < ~6%
Disk Performance In MigrationMigLoop vs Loop overhead < ~6%
Disk PerformanceMigLoop vs Loop DBench overhead
<2.1%
Disk PerformanceMigLoop vs Loop DBench overhead
<2.1%
OW2 Meeting
43
iVIC ClientsvProcess ServersvSpace Servers
vSpace User Storage
vStore (Software Libs)
Presentation
Streaming
ApplicationStreaming
Subscribe, Pay per use…
OW2 Meeting
44
From you laptopBy using browser with iVIC Client Plugins.
By plug a USB Flash Disk into any computer.
From you mobile phoneBy install an iVIC Mobile Client.
OW2 Meeting
iVIC PlatformProgrammable virtual computingenvironmentLow cost, high flexibility and reliabilityVirtualized Software as a Service
Key technologiesVM Migration over WAN P2P based iVIC-VPNVM high availabilitySoftware streaming
ApplicationsSoftware labMassive data processing (MapReduce)HPC - vClusterHigh scalability web hosting
Summary of iVIC
OW2 Meeting
Q&A