22
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.

Scalable SOA in Your Own Open Source Cloud

Embed Size (px)

DESCRIPTION

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 theentire 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.

Citation preview

Page 1: Scalable SOA in Your Own  Open Source Cloud

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: Scalable SOA in Your Own  Open Source Cloud

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: Scalable SOA in Your Own  Open Source Cloud

Page 3

Overview

“Cloud computing” - my version!

Clouds & SOA

Open {source, standards, services} for clouds

Avoiding the risks

Page 4: Scalable SOA in Your Own  Open Source Cloud

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

Brings togetherVirtualization, Grid computing, Utility computing, Network computing

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: Scalable SOA in Your Own  Open Source Cloud

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: Scalable SOA in Your Own  Open Source Cloud

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: Scalable SOA in Your Own  Open Source Cloud

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 SOA in Your Own  Open Source Cloud

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: Scalable SOA in Your Own  Open Source Cloud

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: Scalable SOA in Your Own  Open Source Cloud

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)

Page 11: Scalable SOA in Your Own  Open Source Cloud

Page 11

Auto-scaling services: Apache Axis2 / WSO2 WSAS approach

Page 12: Scalable SOA in Your Own  Open Source Cloud

Page 12

Auto-scaling services: Apache Axis2 / WSO2 WSAS approach

Load Increases

Page 13: Scalable SOA in Your Own  Open Source Cloud

Page 13

Auto-scaling services: Apache Axis2 / WSO2 WSAS approach

Startup new instances

Page 14: Scalable SOA in Your Own  Open Source Cloud

Page 14

Auto-scaling services: Apache Axis2 / WSO2 WSAS approach

New instances join group

Page 15: Scalable SOA in Your Own  Open Source Cloud

Page 15

Auto-scaling services: Apache Axis2 / WSO2 WSAS approach

Load Decreases

Page 16: Scalable SOA in Your Own  Open Source Cloud

Page 16

Auto-scaling services: Apache Axis2 / WSO2 WSAS approach

Terminate instances

Page 17: Scalable SOA in Your Own  Open Source Cloud

Page 17

Writing multi-tenant services

Objective: allow different customers / users to use the same service as if it were their own

Having the service be multi-tenant vs. running a different server for each gives all the sharing advantages

IssuesAuthentication & authorizationData

From database per tenant to multi-tenant tablesSecurity / protection

Server architecture for scalabilityPrograming model for service authors

Page 18: Scalable SOA in Your Own  Open Source Cloud

Page 18

Scalable parallel computing

Service implementation may need to use variable amount of compute resources

Can bring in parallel computing infrastructureE.g., map-reduce

Page 19: Scalable SOA in Your Own  Open Source Cloud

Page 19

Open source / standards / servicesfor clouds

Risk of hard vendor lock-in with clouds!

Services in the cloud are a new lock-in risk

Open cloud manifesto(IMO) too much marketing, too little real valueReally, too early to attempt to standardize and define what “open” means

Page 20: Scalable SOA in Your Own  Open Source Cloud

Page 20

Open source cloud platforms

Open source alternatives for all aspects of cloud computing exist and are evolving

Join the communities or support them commercially

Set up your own cloud, deploy scalable middleware and governance

“Private cloud” is a good thing, especially for large organizations

Page 21: Scalable SOA in Your Own  Open Source Cloud

Page 21

Summary

“Cloud computing” provides a cost-efficient, convenient deployment architecture for SOA

Vendor lock-in risks are higher with cloud computing

Open source is driving innovation in cloud computing and provides great way to avoid lock in

Still very early days .. will take time to mature & stabilize!

Page 22: Scalable SOA in Your Own  Open Source Cloud

http://www.acct.org/Questions.jpg

[email protected]

http://sanjiva.weerawarana.org/