Scalable SOA in Your Own Open Source Cloud Sanjiva Weerawarana, Ph.D. Founder, Chairman & CEO, WSO2 Founder, Director & Chief Scientist, Lanka Software Foundation Member, Apache Software Foundation Emeritus Board Member, Open Source Initiative Visiting Lecturer, Univ. of Moratuwa, Sri Lanka April 2-3, 2009, Arlington, VA.
Cloud computing is today’s rage and tomorrow's threat - proprietary clouds have the potential to become a worse lock-in platform than the proprietary world of yesterday. In this talk we examine how you can put together a pure open source cloud for SOA and enjoy the benefits of service-oriented cloud computing without the risks.
Cloud computing is primarily about three things: on-demand scaling for peak load management, multi-tenant sharing, and parallel execution. On-demand scaling refers to the ability of the cloud to allow an application to consume more resources as the demand on the application increases and for this to happen without over participation from the developer. Multi-tenancy relates to how a single application can be shared and used securely (and independently) by different consumers. Finally, parallel execution enables an application to request additional hardware and to execute in the entire set of nodes as a parallel computer. The most challenging part of the puzzle is providing a single rogramming model for application developers.
Proprietary clouds such as Amazon EC2, Google AppEngine and Microsoft Azure do offer many of these capabilities. However, signing up to a proprietary cloud is like checking into the proverbial Hotel California: “You can check out but you can never leave!” During this presentation we will look at how a collection of open source components can be combined to form an open source cloud that addresses all aspects of cloud computing but that also leverages open standards to establish a model whereby applications running on open source clouds can fully interoperate with other cloud platforms as well.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Scalable SOA in Your Own Open Source Cloud
Sanjiva Weerawarana, Ph.D.
Founder, Chairman & CEO, WSO2Founder, Director & Chief Scientist, Lanka Software Foundation
Member, Apache Software FoundationEmeritus Board Member, Open Source InitiativeVisiting Lecturer, Univ. of Moratuwa, Sri Lanka
April 2-3, 2009, Arlington, VA.
Page 2
About me
IBM Research from 1997 to 2005Worked on most of the key Web services specifications
Co-author of WSDL, WS-Eventing, BPEL4WS, ...
Contributor to Apache Web servicesContributor to Apache SOAP, Apache Axis, Apache Axis2, Apache WSIF, Apache Neethi, Apache Axiom, ...
Member of Apache Software FoundationFounder & Chief Scientist, Lanka Software Foundation(Emeritus) Board Member of Open Source InitiativeStarted WSO2 in 2005
Open source SOA platform company
Page 3
Overview
“Cloud computing” - my version!
Clouds & SOA
Open {source, standards, services} for clouds
Avoiding the risks
Page 4
Cloud computing
Essentially, the technology to make computing a utility is now widely available
“Plug in” and use what you need, when you need it, where you need it
Ranges from low level to high levelLow level: platform level services for acquiring computation, storage & communication
Amazon Web Services (EC2, S3, etc.)
High level: fully managed, fixed programming modelGoogle AppEngine
Public vs. private clouds
Page 5
Key characteristics & benefits
(Not necessarily what vendors provide today, but this is what makes cloud computing bring real value for SOA!)
Auto-scaling (elasticity)
Multi-tenancy
Scalable parallel computing
Other benefits includeCost savings by not peak provisioningFaster deploymentOutsource non-core skillsUtility billing
Page 6
Auto-scaling (elasticity)
Ability for the resources to be scaled up, and down, based on demand
Enables efficient use of compute resourcesNo need to provision for maximum load
Requires application or middleware to do work to manage loadQueue up incoming requestsDistribute amongst available worker nodesMonitor queue length and adjust worker pool accordingly
Page 7
Multi-tenancy
Ability for a single application to be used by multiple customers simultaneously
Enables scaling of customers without having to assign a server cluster per customer
Critical is data isolationSeparate databases to tables to multi-tenant tables
Application authors must be able to write multi-tenant applications
Middleware can provide tools to help
Page 8
Scalable parallel computing
Ability for the elastic group of nodes to work together as a parallel computer
Enables application to engage as many nodes as needed for the problem at hand
Requires programming modelMPI-style low level to Map-Reduce/Dyad style
Requires large scale data management solutionDistributed file systems to DHTs to group communication
Page 9
Role of clouds in SOA
Summary: a cloud is a cost-effective deployment platform for your SOA
Basic levelUse virtualized platform as a convenient provisioning tool
Advanced levelService and application authors write services which auto-scale, are multi-tenant and possibly use parallel computing
Page 10
Virtualized deployment in a cloud
Low level is easyMake VM image with your software and boot it upMost “cloud” products do just that!
Not any different from just a regular deploymentStill advantageous – no need to go thru deployment/configuration pain!
Any product can be deployed this wayNo need for product to be modified (as long as OS is supported on the virtualization platform)