350 likes | 626 Views
http://clouddevcourse.telerik.com. Cloud Storage Services. Amazon S 3 , App Engine Blobstore , Google Cloud Storage, Azure Blobs. Cloud. Storage. Svetlin Nakov. Telerik Software Academy. academy.telerik.com. Table of Contents. Cloud Storage: Introduction Amazon S3
E N D
http://clouddevcourse.telerik.com Cloud Storage Services Amazon S3, App Engine Blobstore,Google Cloud Storage, Azure Blobs Cloud • Storage Svetlin Nakov Telerik Software Academy academy.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
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
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
Amazon S3 S3 == 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
Amazon S3 Concepts • Your cloud storage consists of buckets • Objects are stored in the buckets Object Object Object Bucket Bucket Bucket Nakov-at-home.jpg MyCat.avi Sample.mp3
Amazon S3 Pricing • Amazon S3 Pricing (as of May 2012) • http://aws.amazon.com/s3/pricing/
Using Amazon S3 • Steps to setup and use Amazon AWS and S3 • Sign-up for Amazon AWS Free Tier • https://aws-portal.amazon.com/gp/aws/developer/registration/ • Login at Amazon AWS Console • https://console.aws.amazon.com/ • Get Your AWS Access Credentials • https://aws-portal.amazon.com/gp/aws/securityCredentials • Install AWS SDK for .NET / Java / PHP / REST • http://aws.amazon.com/sdkfornet/ • Start Developing AWS applications
Amazon S3 Live Demo
GoogleAppEngine Blobstore Blob 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 • 5GB free quota, then $0.13 / GB per month
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 Project Project Object Project Object Object Nakov-at-home.jpg Bucket Bucket MyCat.avi Bucket Sample.mp3
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
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
Azure Blobs Blog Storage with RESTful and Managed API
Blob Storage Concepts Blob Blocks Accounts Container PIC01.JPG images PIC02.JPG sally Block or Page 1 Block or Page 1 movies MOV1.AVI Block or Page 1
Rackspace Cloud Files File 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
Dropbox Cloud 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/reference/sdk
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/downloads • Similar to Microsoft SkyDrive
Microsoft SkyDrive • Microsoft SkyDrive • Microsoft’s online file storage • Similar to Google Drive • Has files and folders • Integrated with Google Docs • Free 7-25GB storage • Has RESTful API + .NET, Java, PHP, Python SDK • developers.google.com/drive/downloads • Similar to Microsoft SkyDrive
Other Cloud Storages • Other cloud storage services • Apple iCloudBox.com • Box.com • ADrive • Mozy • FlipDrive • SpiderOak • SugarSync • …
Cloud Storage Services http://academy.telerik.com
Homework • 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