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
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
Cloud Storage Services
Introduction
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
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
Amazon S3S3 == Simple Storage Service
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
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
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
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
Amazon S3Live Demo
GoogleAppEngine BlobstoreBlob Storage Service + Java / Python
API
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
Google Cloud Storage
Cloud Storage with RESTful API
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
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
GAE Cloud Storage API GET Object
Downloads an object / retrieves the ACLs
PUT Object Uploads an object or applies new
ACLs
DELETE Object Deletes an object
POST Object Uploads an object by using HTML
forms
HEAD Object – lists object metadata
17
Azure BlobsBlog Storage with RESTful and
Managed API
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
Rackspace Cloud FilesFile Storage in the Cloud Served
through a CDN
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
DropboxCloud Storage with Auto Sync for Any
DeviceAccessible through REST / Java / C#
APIs
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
Accessing Dropbox from .NET through
OAuthLive Demo
Other CloudStorage Services
Google Drive, Microsoft SkyDrive, Apple iCloudBox.com, ADrive, Mozy,
FlipDrive, SpiderOak, SugarSync
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
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
Other Cloud Storages Other cloud storage services
Apple iCloudBox.com
Box.com
ADrive
Mozy
FlipDrive
SpiderOak
SugarSync
…28
форум програмиране, форум уеб дизайнкурсове и уроци по програмиране, уеб дизайн – безплатно
програмиране за деца – безплатни курсове и уроцибезплатен 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
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
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