31
1 Getting Started With jClouds Vikas Hazrati Inphina Technologies

Getting started with jClouds

Embed Size (px)

DESCRIPTION

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.

Citation preview

Page 1: Getting started with jClouds

1

Getting Started With jClouds

Vikas HazratiInphina Technologies

Page 2: Getting started with jClouds

2

cloud is real !

Page 3: Getting started with jClouds

3

enterprises like to be on cloud

Page 4: Getting started with jClouds

4

reluctance due to lock-In

Page 5: Getting started with jClouds

5

abstraction

Page 6: Getting started with jClouds

6

changing the ecosystem

Page 7: Getting started with jClouds

7

multi cloud frameworks

Dasein Cloud

Delta Cloud

Fog

LibCloud

Page 8: Getting started with jClouds

8

global name space

key, value with metadata

http accessible

sites on demand

unlimited scaling

key value storage

Not the same!

Page 9: Getting started with jClouds

9

other factors

File SizeResumability

CDNReplication

SLA

Consistency ModelAuthorization

API Complexity

Not the same!

Page 10: Getting started with jClouds

10

http request

Page 11: Getting started with jClouds

11

do you want to deal with this?

ErrorsConcurrencyCloud Complexity

Page 12: Getting started with jClouds

12

Page 13: Getting started with jClouds

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

Page 14: Getting started with jClouds

14

easy to start

Simple interface

Deals withWeb Complexity

Performance

Unit Testability

Runtime portability

Open Source

Feels like javaand clojure

Page 15: Getting started with jClouds

15

simple interface

Basic

Advanced

Page 16: Getting started with jClouds

16

simple interface

Expert

Page 17: Getting started with jClouds

17

choose your complexity and weight

Page 18: Getting started with jClouds

18

abstractions

BlobStore ( atmos, azure, rackspace, s3 )

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

Blobstore Compute

Page 19: Getting started with jClouds

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);

Page 20: Getting started with jClouds

20

blobstore in detailManaging key-value storage providersSynchronous and Asynchronous APIs

BlobstoreContainer

Service

Blob

Page 21: Getting started with jClouds

21

<Blobstore Code Sample>

Page 22: Getting started with jClouds

22

vfs support

Page 23: Getting started with jClouds

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

Page 24: Getting started with jClouds

24

provisioning with jClouds

Page 25: Getting started with jClouds

25

95 + 5

Page 26: Getting started with jClouds

26

projects using jClouds

I N F I N I S P A N

Android Integration

Gigaspaces

Elastic Search

Page 27: Getting started with jClouds

27

alternatives

Roll-your-own

Jersey, RESTEasy

EC2-based cloud apis

typica, jets3t

Dasein Cloud API

Service provided SDKs

Page 28: Getting started with jClouds

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

Page 29: Getting started with jClouds

29

reluctance to lock-in? no more ...

Page 30: Getting started with jClouds

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

Page 31: Getting started with jClouds

31

[email protected]

http://www.inphina.comhttp://thoughts.inphina.com