31
1 Getting Started With jClouds Vikas Hazrati Inphina Technologies

Getting Started with jClouds: Multi Cloud Framework

Embed Size (px)

DESCRIPTION

Session Presented @IndicThreads Cloud Computing Conference, Pune, India ( http://u10.indicthreads.com ) ------------ 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. Takeaways from the session * Understand the need for a multi cloud framework * showcase of abstractions for different cloud environments. * Introduction to capabilities of jClouds * Hands on application development using jClouds on GAE

Citation preview

1

Getting Started With jClouds

Vikas HazratiInphina Technologies

2

cloud is real !

3

enterprises like to be on cloud

4

reluctance due to lock-In

5

abstraction

6

changing the ecosystem

7

multi cloud frameworks

Dasein Cloud

Delta Cloud

Fog

LibCloud

8

global name space

key, value with metadata

http accessible

sites on demand

unlimited scaling

key value storage

Not the same!

9

other factors

File SizeResumability

CDNReplication

SLA

Consistency ModelAuthorization

API Complexity

Not the same!

10

http request

11

do you want to deal with this?

ErrorsConcurrencyCloud Complexity

12

13

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.

what is jClouds

14

easy to start

Simple interface

Deals withWeb Complexity

Performance

Unit Testability

Runtime portability

Open Source

Feels like javaand clojure

15

simple interface

Basic

Advanced

16

simple interface

Expert

17

choose your complexity and weight

18

abstractions

BlobStore ( atmos, azure, rackspace, s3 )

Compute ( vcloud, ec2, gogrid, ibmdev,rackspace,rimu)

Blobstore Compute

19

blobstore

// initcontext = new BlobStoreContextFactory().createContext("s3",accesskeyid,secretaccesskey);

blobStore = context.getBlobStore();

// create containerblobStore.createContainerInLocation(null, "mycontainer");

// add blobblob = blobStore.newBlob("test");blob.setPayload("testdata");blobStore.putBlob(containerName, blob);

20

blobstore in detailManaging key-value storage providersSynchronous and Asynchronous APIs

BlobstoreContainer

Service

Blob

21

<Blobstore Code Sample>

22

vfs support

23

compute: provisioningprovisioning (and re-provisioning) is cheapAPIs = automationtools exist

forgetting to turn things offlicensingerratic service quality

cloud apis are sometimes unreliableapis are very different across cloudsfeatures are very different across cloudsaccidental complexity

24

provisioning with jClouds

25

95 + 5

26

projects using jClouds

I N F I N I S P A N

Android Integration

Gigaspaces

Elastic Search

27

alternatives

Roll-your-own

Jersey, RESTEasy

EC2-based cloud apis

typica, jets3t

Dasein Cloud API

Service provided SDKs

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

29

reluctance to lock-in? no more ...

30

References:- http://code.google.com/p/jclouds/http://anyweight.blogspot.com/http://www.slideshare.net/marakana/jclouds-at-san-francisco-java-user-grouphttp://www.youtube.com/watch?v=queixYPsIq0