10. cloud software development - cloud storage-services

31
Cloud Storage Services Amazon S3, App Engine Blobstore, Google Cloud Storage, Azure Blobs Svetlin Nakov Telerik Software Academy academy.telerik.com Cloud Stora ge http://clouddevcourse.telerik.com

Upload: telerik-software-academy

Post on 07-Dec-2014

1.099 views

Category:

Technology


1 download

DESCRIPTION

Cloud-Storage-Services Telerik Software Academy: http://clouddevcourse.telerik.com/ The website and all video materials are in Bulgarian Cloud Storage: Introduction; Amazon S3; Google AppEngine Blobstore; Google Cloud Storage; Azure Blobs; Rackspace Cloud Files; Dropbox; Other Cloud Storage Services

TRANSCRIPT

Page 1: 10. Cloud software development - cloud storage-services

Cloud Storage Services

Amazon S3, App Engine Blobstore,

Google Cloud Storage, Azure Blobs

Svetlin NakovTelerik Software

Academyacademy.telerik.com

CloudStora

ge

http://clouddevcourse.telerik.com

Page 2: 10. Cloud software development - cloud storage-services

Table of Contents Cloud Storage: Introduction Amazon S3 Google AppEngine Blobstore Google Cloud Storage Azure Blobs Rackspace Cloud Files Dropbox Other Cloud Storage Services

2

Page 3: 10. Cloud software development - cloud storage-services

Cloud Storage Services

Introduction

Page 4: 10. Cloud software development - cloud storage-services

Cloud Storage Services Cloud Storage Services are public infrastructure for storage of large objects Files / blobs / images / videos / etc.

Stored in Internet (in a public cloud)

Accessible through some API (REST / SDK / etc.)

May have front-end for end-user access

Could support access control list (ACL)

Could be free (with limits) or paid (on-demand)

Could support CDN delivery or not

4

Page 5: 10. Cloud software development - cloud storage-services

Cloud Storage Services – Examples

Amazon S3 Google AppEngine Blobstore Google Cloud Storage Azure Blobs Rackspace Cloud Files Google Drive, Microsoft SkyDrive, Apple iCloud

Dropbox, Box.com, ADrive, Mozy, FlipDrive, SpiderOak, SugarSync

5

Page 6: 10. Cloud software development - cloud storage-services

Amazon S3S3 == Simple Storage Service

Page 7: 10. Cloud software development - cloud storage-services

Amazon S3 Amazon S3 == Simple Storage Service On-demand file storage in the AWS

cloud

Highly-reliable (99.999999999% durability and 99.99% availability)

Many APIs: RESTful / SOAP / C# / Java / others

Two modes: Normal – more reliable, more

expensive

Reduced redundancy – cheaper, but less reliable

Multiple locations: US, Europe, Asia

7

Page 8: 10. Cloud software development - cloud storage-services

Amazon S3 Concepts Your cloud storage consists of buckets Objects are stored in the buckets

8

BucketNakov-at-home.jpg

Object

BucketBucket

ObjectObject

MyCat.avi

Sample.mp3

Page 9: 10. Cloud software development - cloud storage-services

Amazon S3 Pricing Amazon S3 Pricing (as of May 2012) http://aws.amazon.com/s3/pricing/

9

Storage Size Standard Storage

Reduced Redundancy

Storage

First 1 TB / month$0.125 per

GB$0.093 per

GB

Next 49 TB / month

$0.110 per GB

$0.083 per GB

Next 450 TB / month

$0.095 per GB

$0.073 per GB

Next 500 TB / month

$0.090 per GB

$0.063 per GB

Next 4000 TB / month

$0.080 per GB

$0.053 per GB

Over 5000 TB / month

$0.055 per GB

$0.037 per GB

Page 10: 10. Cloud software development - cloud storage-services

Using Amazon S3 Steps to setup and use Amazon AWS and S3

1. Sign-up for Amazon AWS Free Tier https://aws-portal.amazon.com/gp/aws/developer/

registration/

2.Login at Amazon AWS Console https://console.aws.amazon.com/

3.Get Your AWS Access Credentials https://aws-portal.amazon.com/gp/aws/securityCr

edentials

4.Install AWS SDK for .NET / Java / PHP / REST

http://aws.amazon.com/sdkfornet/

5. Start Developing AWS applications

10

Page 11: 10. Cloud software development - cloud storage-services

Amazon S3Live Demo

Page 12: 10. Cloud software development - cloud storage-services

GoogleAppEngine BlobstoreBlob Storage Service + Java / Python

API

Page 13: 10. Cloud software development - cloud storage-services

AppEngine Blobstore Google AppEngine Blobstore

Storage for large objects (blobs) in GAE

Keeps key-value-pairs Key – string

Value – object binary data

GAE Blobstore has Java and Python API BlobstoreService, BlobKey,

BlobstoreInputStream

HTTP upload / download functionality

5 GB free quota, then $0.13 / GB per month

13

Page 14: 10. Cloud software development - cloud storage-services

Google Cloud Storage

Cloud Storage with RESTful API

Page 15: 10. Cloud software development - cloud storage-services

Google Cloud Storage GAE Cloud Storage

File storage service similar to Amazon S3

Paid, no free edition

15

Bucket

Nakov-at-home.jpg

Object

BucketBucket

ObjectObject

MyCat.avi

Sample.mp3

ProjectProjectProject

Page 16: 10. Cloud software development - cloud storage-services

GAE Cloud Storage API RESTful API – based on HTTP requests GET Service

Lists all of the buckets that you own

PUT Bucket

Creates a bucket / changes bucket permissions

GET Bucket

Lists the contents of a bucket or retrieves the ACLs that are applied to a bucket

DELETE Bucket – deletes an empty bucket

16

Page 18: 10. Cloud software development - cloud storage-services

Azure BlobsBlog Storage with RESTful and

Managed API

Page 19: 10. Cloud software development - cloud storage-services

Blob Storage Concepts

BlobContainer

Accounts

sally

PIC01.JPG

PIC02.JPG

images

movies

Blocks

MOV1.AVI

Block or Page 1

Block or Page 1

Block or Page 1

19

Page 20: 10. Cloud software development - cloud storage-services

Rackspace Cloud FilesFile Storage in the Cloud Served

through a CDN

Page 21: 10. Cloud software development - cloud storage-services

Rackspace Cloud Files Rackspace Cloud Files

Cloud storage service by Rackspace

Can use Akamai CDN

RESTful API / Java API / C# API / PHP API / …

Main operations List containers, list objects, CRUD

for objects

Pricing On-demand: $0.15 / GB per month

Akamai CDN: $0.18 / GB

21

Page 22: 10. Cloud software development - cloud storage-services

DropboxCloud Storage with Auto Sync for Any

DeviceAccessible through REST / Java / C#

APIs

Page 23: 10. Cloud software development - cloud storage-services

Dropbox Dropbox

File storage in the Dropbox cloud

2 GB free + bonus storage (up to 16 GB)

Auto-sync for any device / OS Windows, Mac OS X, Linux

iPhone, iPad, Android

Accessible through REST / Java / C# APIs www.dropbox.com/developers/refere

nce/sdk23

Page 24: 10. Cloud software development - cloud storage-services

Accessing Dropbox from .NET through

OAuthLive Demo

Page 25: 10. Cloud software development - cloud storage-services

Other CloudStorage Services

Google Drive, Microsoft SkyDrive, Apple iCloudBox.com, ADrive, Mozy,

FlipDrive, SpiderOak, SugarSync

Page 26: 10. Cloud software development - cloud storage-services

Google Drive

Google Drive Google’s online file storage

Has files and folders

Integrated with Google Docs

Free 5 GB storage

Has RESTful API + .NET, Java, PHP, Python SDK developers.google.com/drive/downlo

ads

Similar to Microsoft SkyDrive 26

Page 27: 10. Cloud software development - cloud storage-services

Microsoft SkyDrive Microsoft SkyDrive

Microsoft’s online file storage

Similar to Google Drive

Has files and folders

Integrated with Google Docs

Free 7-25 GB storage

Has RESTful API + .NET, Java, PHP, Python SDK developers.google.com/drive/downlo

ads

Similar to Microsoft SkyDrive

27

Page 28: 10. Cloud software development - cloud storage-services

Other Cloud Storages Other cloud storage services

Apple iCloudBox.com

Box.com

ADrive

Mozy

FlipDrive

SpiderOak

SugarSync

…28

Page 29: 10. Cloud software development - cloud storage-services

форум програмиране, форум уеб дизайнкурсове и уроци по програмиране, уеб дизайн – безплатно

програмиране за деца – безплатни курсове и уроцибезплатен SEO курс - оптимизация за търсачки

уроци по уеб дизайн, HTML, CSS, JavaScript, Photoshop

уроци по програмиране и уеб дизайн за ученициASP.NET MVC курс – HTML, SQL, C#, .NET, ASP.NET MVC

безплатен курс "Разработка на софтуер в cloud среда"

BG Coder - онлайн състезателна система - online judge

курсове и уроци по програмиране, книги – безплатно от Наков

безплатен курс "Качествен програмен код"

алго академия – състезателно програмиране, състезания

ASP.NET курс - уеб програмиране, бази данни, C#, .NET, ASP.NETкурсове и уроци по програмиране – Телерик академия

курс мобилни приложения с iPhone, Android, WP7, PhoneGap

free C# book, безплатна книга C#, книга Java, книга C#Дончо Минков - сайт за програмиранеНиколай Костов - блог за програмиранеC# курс, програмиране, безплатно

?

? ? ??

?? ?

?

?

?

??

?

?

? ?

Questions?

?

Cloud Storage Services

http://academy.telerik.com

Page 30: 10. Cloud software development - cloud storage-services

Homework1. Using the Dropbox API implement a

simple application for publishing a photo album. It should implement the following functionality: Select a folder that holds a set of photos

(album)

Enter a name for the album (e.g. Nesebar2012)

Generate an HTML file listing all the photos

Create a public folder in Dropbox for the album and upload all the photos in Dropbox through its API

Share the generated album for public view (make the folder public and get a public link)

Open the album's public link in the default Web browser

Page 31: 10. Cloud software development - cloud storage-services

Free Trainings @ Telerik Academy

"Software Development in the Cloud"Course @ Telerik Software Academy clouddevcourse.telerik.com

Telerik Software Academy academy.telerik.com

Telerik Academy @ Facebook facebook.com/TelerikAcademy

Telerik Software Academy Forums forums.academy.telerik.com