One of the big hurdles for an enterprise to move to the cloud is the fear of getting locked into a specific cloud implementation. This is one of the big reasons apart from security of data that keeps most of the enterprises out of the cloud space. Currently each vendor provides their unique set of API to interact with their Cloud services. This mandates a need to recode and refactor when moving from one cloud provider to the other.
jClouds is a multi cloud framework which allows connection to multiple clouds such as Amazon, VMWare, Azure, and Rackspace. jClouds provides portable abstractions for cloud specific features, thus allowing the application to move from one cloud vendor to the other with relative ease. jClouds also had a simulators to operate in restricted environments like Google App Engine and Android. Unit testing and mocking is made easy through stub connections which simulate the cloud.
13. what is jClouds
OSS JAVA Framework for cloud enablement and inter cloud
communication
3/2009, 1.0-beta6, 105.4k lines, $1.4M
Support many clouds including Amazon, VMWare, Azure,
and Rackspace.
13
14. easy to start
Runtime portability
Simple interface
Open Source
Unit Testability
Deals with
Web Complexity
Performance
Feels like java
and clojure
14
23. compute: provisioning
provisioning (and re-provisioning) is cheap
APIs = automation
tools exist
forgetting to turn things off
licensing
erratic service quality
cloud apis are sometimes unreliable
apis are very different across clouds
features are very different across
clouds
accidental complexity
23
26. projects using jClouds
I N F I N I S PAN
Android Integration
Gigaspaces
Elastic Search
26
27. alternatives
Roll-your-own
Jersey, RESTEasy
EC2-based cloud apis
typica, jets3t
Dasein Cloud API
Service provided SDKs
27
28. scepticism
api's are not that different to write a driver
open source cloud Ruby libraries (RightAws,
RightRackspace, RightGoGrid, etc.) not actually
that much work to abstract the API details away.
real benefit of standards - semantics of
resources like vlans, security groups,
reassignable IP addresses, network attached
block storage devices, etc
28