introduction to apache jclouds

90
Introduction to Apache jclouds Everett Toews Developer Advocate @everett_toews jclouds Meetup March 4, 2014 @ 6:00 pm

Upload: everett-toews

Post on 08-May-2015

622 views

Category:

Technology


1 download

DESCRIPTION

An introduction the cloud, multi-cloud, and where Apache jclouds fits in.

TRANSCRIPT

Page 1: Introduction to Apache jclouds

Introduction toApache jclouds

Everett Toews

Developer Advocate

@everett_toews

jclouds Meetup

March 4, 2014 @ 6:00 pm

Page 2: Introduction to Apache jclouds

Intro

Developer

Page 3: Introduction to Apache jclouds

PMC and Committer on Apache jclouds

Page 4: Introduction to Apache jclouds

Intro

Advocate

Page 5: Introduction to Apache jclouds

Me

Page 6: Introduction to Apache jclouds

Intro

Operations

Page 7: Introduction to Apache jclouds

Co-author of the OpenStack Operations Guide

docs.openstack.org/ops

Page 8: Introduction to Apache jclouds

Cloud

Page 9: Introduction to Apache jclouds
Page 10: Introduction to Apache jclouds

Cloud

SaaS

Page 11: Introduction to Apache jclouds

Cloud

PaaS

Page 12: Introduction to Apache jclouds

Cloud

IaaS

Page 13: Introduction to Apache jclouds

Cloud

Private

Page 14: Introduction to Apache jclouds

Green == Your Problem

Page 15: Introduction to Apache jclouds

Cloud

Infrastructure

with an API

Page 16: Introduction to Apache jclouds

Cloud

Page 17: Introduction to Apache jclouds

Multi-Cloud

Page 18: Introduction to Apache jclouds
Page 19: Introduction to Apache jclouds

Multi-Cloud

Application

Portability

Page 20: Introduction to Apache jclouds

Multi-Cloud

Why?

Page 21: Introduction to Apache jclouds

Multi-Cloud

High Availability

Page 22: Introduction to Apache jclouds

Multi-Cloud

Privacy

Page 23: Introduction to Apache jclouds

Multi-Cloud

Cost

Page 24: Introduction to Apache jclouds

Multi-Cloud

Performance

Page 25: Introduction to Apache jclouds

Multi-Cloud

Support

Page 26: Introduction to Apache jclouds

Multi-Cloud

Hybrid

Page 27: Introduction to Apache jclouds

Multi-Cloud

One Size Does

Not Fit All

Page 28: Introduction to Apache jclouds

Multi-Cloud

Avoid Lock-in

Page 29: Introduction to Apache jclouds

Multi-Cloud

How?

Page 30: Introduction to Apache jclouds

Introduction to Apache jclouds

Page 31: Introduction to Apache jclouds

jclouds

Page 32: Introduction to Apache jclouds

jclouds

Apache jclouds is an open source multi-cloud toolkit for the Java platform that gives you the freedom to create applications that are portable across clouds while giving you full control to use cloud-specific features.

Page 33: Introduction to Apache jclouds

jclouds

Open Source

Page 34: Introduction to Apache jclouds

jclouds

Java/JVM

Page 35: Introduction to Apache jclouds

jclouds

Multi-Cloud

Page 36: Introduction to Apache jclouds

jclouds

APIs

Page 37: Introduction to Apache jclouds

APIs

•AWS EC2•AWS S3•AWS SQS•CloudStack•OpenStack Compute•OpenStack Object Storage•OpenStack Queues•VMware vCloud•...

Page 38: Introduction to Apache jclouds

jclouds

Providers

Page 39: Introduction to Apache jclouds

Providers

•AWS/Eucalyptus EC2•AWS/Eucalyptus S3•AWS/Eucalyptus SQS•CloudStack•HP/Rackspace Compute•HP/Rackspace Object Storage•HP/Rackspace Queues•CloudSigma vCloud???•...

Page 40: Introduction to Apache jclouds

jclouds

Portable APIs

Page 41: Introduction to Apache jclouds

jclouds

ComputeService

Page 42: Introduction to Apache jclouds

Portable APIs for ComputeService

•AWS EC2•ElasticHosts•CloudStack•Digital Ocean•Google Compute Engine•HP Cloud Compute•Rackspace Cloud Servers•SoftLayer•...

Page 43: Introduction to Apache jclouds

jclouds

BlobStore

Page 44: Introduction to Apache jclouds

Portable APIs for BlobStore

•AWS S3•CloudOne•HP Cloud Storage•Microsoft Azure•Ninefold•Rackspace Cloud Files•...

Page 45: Introduction to Apache jclouds

jclouds

Portable APIs

Page 46: Introduction to Apache jclouds

jclouds

No Silver

Bullet

Page 47: Introduction to Apache jclouds

jclouds

Really Really

Difficult

Page 48: Introduction to Apache jclouds

jclouds

Common

Features

Page 49: Introduction to Apache jclouds

jclouds

Common

Behaviour

Page 50: Introduction to Apache jclouds

jclouds

So

Page 51: Introduction to Apache jclouds

jclouds

Portable

Applications

Page 52: Introduction to Apache jclouds

jclouds

or

Page 53: Introduction to Apache jclouds

jclouds

Ease Application

Migration

Page 54: Introduction to Apache jclouds

jclouds

Use Case

Page 55: Introduction to Apache jclouds

Community

Page 56: Introduction to Apache jclouds
Page 57: Introduction to Apache jclouds

jclouds’ Top Users

Page 58: Introduction to Apache jclouds

jclouds’ Top Contributors

•Abiquo•Cloudera•CloudSoft•Maginatics•Rackspace•XebiaLabs

Page 60: Introduction to Apache jclouds

Where Doesjclouds Live?

Page 61: Introduction to Apache jclouds
Page 62: Introduction to Apache jclouds

Deployment

YourSystem The Cloud

AP I

UserSystem

Page 63: Introduction to Apache jclouds

Deployment

YourSystem The Cloud

AP I

UserSystem

Page 64: Introduction to Apache jclouds

Deployment

YourSystem The Cloud

AP I

UserSystem

Page 65: Introduction to Apache jclouds

Deployment

API

The Cloud

YourSystem

UserSystem

Page 66: Introduction to Apache jclouds

What Can jclouds Do For You?

Page 67: Introduction to Apache jclouds
Page 68: Introduction to Apache jclouds

jclouds

Plumbing

Page 69: Introduction to Apache jclouds

jclouds

(Re)Authentication

Page 70: Introduction to Apache jclouds

jclouds

Pagination

Page 71: Introduction to Apache jclouds

jclouds

State Polling

Page 72: Introduction to Apache jclouds

jclouds

Rate Limiting

Page 73: Introduction to Apache jclouds

jclouds

Retry

Page 74: Introduction to Apache jclouds

jclouds

Smoothing

Rough Edges

Page 75: Introduction to Apache jclouds

jclouds

Packaged

Page 76: Introduction to Apache jclouds

jclouds

All-in-one

Page 77: Introduction to Apache jclouds

jclouds

Production Code

Page 78: Introduction to Apache jclouds

jclouds

Sample Code

Page 79: Introduction to Apache jclouds

jclouds

Documentation

Page 80: Introduction to Apache jclouds

Terminology

Page 81: Introduction to Apache jclouds

Terminology

jclouds Clouds

Compute

Node Instance/Server/VM

Location Region/Zone

Hardware Instance Type/Flavor

NodeMetadata Instance details

User Metadata Metadata

BlobStore

Blob File/Object

Page 82: Introduction to Apache jclouds

Demo

Page 83: Introduction to Apache jclouds
Page 84: Introduction to Apache jclouds

Install

jclouds.apache.com/start/install

Page 85: Introduction to Apache jclouds

Install

10 MB

Page 86: Introduction to Apache jclouds

Store Files in the Rackspace Cloud

j.mp/jclds-cf

Page 87: Introduction to Apache jclouds

What’s Next?

Page 89: Introduction to Apache jclouds

What’s Next?

•Dropping support for Java 1.6???•Multi-region OpenStack Swift/Rackspace Cloud Files

•Site rebranding•At SXSW on March 9 in Austin, TX•At ApacheCon on April 7 in Denver, CO•Roadmap

Page 90: Introduction to Apache jclouds

Thank You

Everett Toews

Developer Advocate

@everett_toews

jclouds.apache.org