International SOA Conference 2009
1
Extending SOA into the Cloud
SOA and Cloud Computing
Frank Greco
V0.5
International SOA Conference 2009
2
Topics
� Services, SOA, Grids/HPC Evolution
� Web 2.0 and Evolution of IT Services
� Many Definitions of Cloud Computing
� Cloud Layers
� IaaS/HaaS, SaaS, PaaS
� Types
� Internal/External/Hybrid
� Vendor Survey
� PaaS/Cloud Example
� Issues
� Next Steps
International SOA Conference 2009
3
Clouds – Technology Memes
ServicesServices
GridGrid
HPCHPC
IT Governance
IT Governance
Web 2.0Web 2.0
ESBESB
Clouds
International SOA Conference 2009
4
SOA/Grid/HPC
� Early Services (1980’s?)� SOA Existed Before “SOA”
� SOA = Formalization of Services Principles
� Services and Loose-Coupling not New
� SOA is a Computing System Architecture Reliant on Services
� HPC – Moving Computation to Appropriate HW
� Grid� SOA to provide HPC computation by divide and conquer (e.g.,
Map-Reduce)
� Later, Data Grids, Service Grids…
� The Grid eventually became Another Service
� Can be a SOA and can be part of a SOA (using an ESB)
International SOA Conference 2009
5
Grids and ESB
Javaspaces
Map-Reduce
Mule ESB
International SOA Conference 2009
6
Evolution of the Cloud
� Corporate IT
� Was Already Used to Providing IT services
� Web 2.0
� Collaborative
� More programmatic
� Rich user experience
� RESTful APIs
� Rapid application development
� Services will come from everywhere…
International SOA Conference 2009
7
Enterprise IT 2.0
In other words…
Given the existing Internet infrastructure, Amazon, Google, fast networks, in-memory persistent engines, virtualization, columnar/distributed databases, web 2.0, HTML 5.0, et al…
How Would You Build your IT Today?
International SOA Conference 2009
8
So What Really is Cloud Computing?...
International SOA Conference 2009
9
What is Cloud Computing
� Invisible IT
� No Concern about Infrastructure Details
� “Elastic” Scalability (on Demand)
� Applications and Data not Local
� Removal of Complexity
� The Network is the Platform
� Friction-less Application Development
� Independent of Platforms
� Improves Business Agility
Cloud Computing is an Implementation of SOA
Definitions from a collection
of “cloud experts”
Definitions from a collection
of “cloud experts”
International SOA Conference 2009
10
SOA / Cloud Computing Relationship
SOA = Services Oriented ARCHITECTURE
Cloud Computing is an Implementation of SOA
A SOA can be Deployed in a Cloud
International SOA Conference 2009
11
Many Definitions of Cloud Computing
� Too Many Definitions!!!
� Some Re-Positioning of Older Products
� But… Some True Innovations
� Satisfying Business Need is First Priority
� Semantics and Definitions are Secondary
International SOA Conference 2009
12
Improving Data Center Efficiency
Google Mail Microsoft Exchange
No Servers Servers
No Storage Storage costs
No Maintenance Team Need IT Staff
No Versioning Issues Versioning Mess
No Scalability Issues Budget Concern
Highly Reliable HA/DR is huge concern
Just Use Must Wait to Use
Lets compare SaaS to old-style Enterprise computing…
International SOA Conference 2009
13
Everything as a Service
� SaaS – Software as a Service� Hosted Software Accessible over the Internet (Web)
� Typically Subscription Model (or ad-based)
� No Storage/HA/DR Issues
� No Maintenance
� Regular Revenue Stream for Provider
� PaaS – Platform as a Service� Enables Developers to Build Applications
� Development Platform/Framework hosted on an IaaS (Cloud IDE)
� Theoretically Provides an Abstraction independent of the IaaS Provider
� Also Provides API for Middleware and Scalability
� IaaS – infrastructure as a Service� Virtual Hardware, Virtual Data Center
� Computing Infrastructure (machines, RAM, network, etc)
� May include Platform Virtualization (VM)
� Service Level Agreements
International SOA Conference 2009
14
Stratification of Cloud Computing Vendors
Hardware
Hardware/Infrastructure as a Service Iaas
Platform as a Service
Paas
Software as a Service
SaaS
International SOA Conference 2009
15
Everything as a Service (EaaSy!)
� Software as a Service – SaaS
� Ex: SalesForce, Google Docs, Zoho, SlideRocket
� Platform as a Service – PaaS
� Ex: Force, Google AppEngine, Microsoft Azure,
GigaSpaces, Twitter, Facebook, Eucalyptus
� Hardware as a Service (Infrastructure as a Service) – IaaS
� Ex: Amazon EC2/S3, GoGrid, Sun/Oracle, Joyent,
HP, IBM
Confusing terms…
International SOA Conference 2009
16
Enterprise Cloud Computing
� Internal
� Ex: Merrill Lynch / Bank of America
� External
� Ex: Gmail, Amazon EC2/S3
� Hybrid
� Ex: Eucalyptus Systems
� Large Enterprises will probably use a mix of Cloud and non-Cloud
� Need to Leverage Multiple Clouds
� Cloud Federations (collaborating clouds)
International SOA Conference 2009
17
High-Level Cloud Topology
External
Data Center-1
Data Center-2
Peak loads could go to DataCenter-2 or External
International SOA Conference 2009
18
Current Cloud Vendors
International SOA Conference 2009
19
Cloud Vendors - Amazon
� DevPay
� Mechanical Turk
� Alexa Web Information Service
� Alexa Top Sites
� Alexa Site Thumbnail
� Fulfillment Web Service (FWS)
� Elastic Compute Cloud (EC2)
� SimpleDB
� Simple Storage Service (S3)
� CloudFront
� Simple Queue Service (SQS)
� Elastic MapReduce
� Flexible Payments Service (FPS)
� Service (FWS)
Cloud Services
International SOA Conference 2009
20
Cloud Vendors – Zoho
www.zoho.com
International SOA Conference 2009
21
Cloud Vendors – Microsoft Azure
www.microsoft.com/azure
International SOA Conference 2009
22
Cloud Vendors – Google App Engine
Python
Django
Java
Grails
Groovy
Google Web Toolkit
GAE
International SOA Conference 2009
23
Cloud Vendors – Salesforce/Force
Both a Saas and Paas Vendor
International SOA Conference 2009
24
Cloud Vendors – Federations
Force.com and Google App Engine
developer.force.com/appengine
“Force.com for Google App Engine provides Java and Python libraries that allows you to access the Force.com Web Services API from within Google App Engine applications.”
Other federations are forming, eg, Facebook and EC2/S3. Many more to come.
International SOA Conference 2009
25
Deploying SOA into the Cloud - Example
GigaSpaces
� An SOA Tool that Offers PaaS – allows others to become SaaS
� Leverages IaaS – Amazon EC2, others…
� Application Portability
� Works with Internal/External/Hybrid Clouds
� Auto Scaling
� Self Healing
� Highly Secure (multi-level security)
� Leverages Spring for Portability
International SOA Conference 2009
26
XAP: Platform as a Service for the Enterprise
Platform as a Service (PaaS)
Infrastructure as a Service
GigaSpaces XAP
Scale-out Application Server
Business Application
Tenant App. View
Users
Tenant App. View
Tenant App. View
Users Users
Business Application as a Service
Cloud Computing Framework for XAP
Amazon Private Cloud
User Application
Messaging
Data
Grid
SLA
Orchestration
Monitoring
CPU
Storage
Network
Billing
Slide courtesy of Gigaspaces.com
International SOA Conference 2009
Deploying a SOA - PaaS
27www.gigaspaces.com/mycloud
International SOA Conference 2009
Deploying a SOA - PaaS
28
International SOA Conference 2009
Deploying a SOA - PaaS
29
International SOA Conference 2009
Deploying a SOA - PaaS
30
International SOA Conference 2009
Deployed Application with UI
31
Deployment:10 minutes
Deployment:10 minutes
International SOA Conference 2009
Dynamic Web-Application Scalability
GSC Machine
Web application
CloudSlide courtesy of Gigaspaces.com
International SOA Conference 2009
Fully Secured
� Support Amazon Security Groups
� Firewall settings blocking specific ports
� Secured remote desktop access
� Built-in SSH tunneling
� Secured Database access
� via mySQL security roles
� Secured grid deployment infrastructure
� Start
� Stop
� Deploy/ Un-deploy
� Secured In-Memory-Data-Grid access roles
� Class Level
� Object Level
� Operation Level
International SOA Conference 2009
Multi Level Security
Slide courtesy of Gigaspaces.com
International SOA Conference 2009
Real-time Collaboration:
�Chart Images can be imported into a blog, message board or chat
High Quality Feature-rich Customer Experience:
�Real-time data
�Full function: e.g. trends, analysis, channel lines
�Annotation capable
�Easily customizable
Deploying Real-time Web Clients in the Cloud
International SOA Conference 2009
HTML 5.0 WebSocket/Server-Sent-Events
� Capabilities
� Socket connectivity via Browser (or any http client)
� Stream real-time data at ultra fast rates to desktop-like
browser applications
� Bi-directional communication: send data and trade
over the same connection
� Collaboration and chat: real-time sharing of excel
models, reports, charts
� Display data from multiple sources in a single browser
(cross-site access)
� www.kaazing.com
International SOA Conference 2009
Traditional Architecture
Java EE Container
�
We
b A
pp
licatio
n Lo
gic
EJB
JMS
RMI--TCP
(Full-Duplex)
JDBC--TCP
(Full Duplex)
HTTP(Half-Duplex)
Database
Stock Trading Client
IMAP--TCP
(Full Duplex)
XMPP--TCP
(Full Duplex)
JMS--TCP
(Full Duplex)
JMS--TCP
(Full-Duplex)
JMS
Custom TCP
(Full-Duplex)
Chat Client
EJB Client
JDB
C
ChatServer
Se
rve
r
Chat
Stock
Client JMS
Stock
Server
HTTP(Half-Duplex)
HTTP(Half-Duplex)
HTTP(Half-Duplex)
Mail ServerMail Client
International SOA Conference 2009
Java EE
EJB
JDB
C
ChatServer
Custom--TCP (Full-Duplex)
XMPP --TCP (Full-Duplex)
IMAP --TCP (Full-Duplex)
JDBC--TCP (Full-Duplex)
RMI--TCP (Full-Duplex) JDBC--TCP (Full-Duplex)
Mail Server
Stock
Server
>|
<K
aa
zing
Ga
tew
ay
TCP over HTTP(Full-Duplex)
TCP over HTTP(Full-Duplex)
TCP over HTTP(Full-Duplex)
TCP over HTTP(Full-Duplex)
TCP over HTTP(Full-Duplex)
Kaazing Architecture – Web 2.0 meets IT 2.0
Cloud
International SOA Conference 2009
39
Monitoring as a Service
EvidentSoftware.com
International SOA Conference 2009
40
Cloud Computing Issues
� Moving large datasets in the cloud
� Guaranteed levels of security
� Inter-Cloud operability
� Applications typically need to be cloud-aware
� Current enterprise apps can't be migrated conveniently
� Risk: Legal, regulatory, and business
� Difficulty of managing cloud applications
� Lack of SLA Maturity
� True cost advantage for cloud computing?
International SOA Conference 2009
41
Next Steps?
� Messaging as a Service
� Collaboration as a Service
� Notification as a Service
� Data and Data Quality as a Service
� Cloud Federations
� Utility Computing across Vendors
� Security Certifications
� SLA Guarantees
� Latency Guarantees
� New Developer Languages
� Huge Application Developer Wave
International SOA Conference 2009
42
Cloud Computing
Questions?