10. cloud software development - cloud storage-services

Click here to load reader

Post on 07-Dec-2014




1 download

Embed Size (px)


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


Cloud Storage Services: Amazon S3, App Engine Blobstore, Google Cloud Storage, Azure Blobs

Cloud Storage ServicesAmazon S3, App Engine Blobstore,Google Cloud Storage, Azure BlobsSvetlin NakovTelerik Software Academyacademy.telerik.com



Table of ContentsCloud Storage: IntroductionAmazon S3Google AppEngine BlobstoreGoogle Cloud StorageAzure BlobsRackspace Cloud FilesDropboxOther Cloud Storage Services2

Cloud Storage ServicesIntroduction

Cloud Storage ServicesCloud Storage Services are public infrastructure for storage of large objectsFiles / 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 accessCould support access control list (ACL)Could be free (with limits) or paid (on-demand)Could support CDN delivery or not4Cloud Storage Services ExamplesAmazon S3Google AppEngine BlobstoreGoogle Cloud StorageAzure BlobsRackspace Cloud FilesGoogle Drive, Microsoft SkyDrive, Apple iCloudDropbox, Box.com, ADrive, Mozy, FlipDrive, SpiderOak, SugarSync


Amazon S3S3 == Simple Storage Service

Amazon S3Amazon S3 == Simple Storage ServiceOn-demand file storage in the AWS cloudHighly-reliable (99.999999999% durability and 99.99% availability)Many APIs: RESTful / SOAP / C# / Java / othersTwo modes:Normal more reliable, more expensiveReduced redundancy cheaper, but less reliableMultiple locations: US, Europe, Asia7Amazon S3 ConceptsYour cloud storage consists of bucketsObjects are stored in the buckets8BucketNakov-at-home.jpgObjectBucketBucketObjectObjectMyCat.aviSample.mp3Amazon S3 PricingAmazon S3 Pricing (as of May 2012)http://aws.amazon.com/s3/pricing/

9Storage SizeStandard StorageReduced Redundancy StorageFirst 1 TB / month$0.125 per GB$0.093 per GBNext 49 TB / month$0.110 per GB$0.083 per GBNext 450 TB / month$0.095 per GB$0.073 per GBNext 500 TB / month$0.090 per GB$0.063 per GBNext 4000 TB / month$0.080 per GB$0.053 per GBOver 5000 TB / month$0.055 per GB$0.037 per GBUsing Amazon S3Steps to setup and use Amazon AWS and S3Sign-up for Amazon AWS Free Tierhttps://aws-portal.amazon.com/gp/aws/developer/registration/Login at Amazon AWS Consolehttps://console.aws.amazon.com/Get Your AWS Access Credentialshttps://aws-portal.amazon.com/gp/aws/securityCredentialsInstall AWS SDK for .NET / Java / PHP / RESThttp://aws.amazon.com/sdkfornet/Start Developing AWS applications10Amazon S3Live Demo

GoogleAppEngine BlobstoreBlob Storage Service + Java / Python API

AppEngine BlobstoreGoogle AppEngine BlobstoreStorage for large objects (blobs) in GAEKeeps key-value-pairsKey stringValue object binary dataGAE Blobstore has Java and Python APIBlobstoreService, BlobKey, BlobstoreInputStreamHTTP upload / download functionality5 GB free quota, then $0.13 / GB per month13Google Cloud StorageCloud Storage with RESTful API

Google Cloud StorageGAE Cloud StorageFile storage service similar to Amazon S3Paid, no free edition

15BucketNakov-at-home.jpgObjectBucketBucketObjectObjectMyCat.aviSample.mp3ProjectProjectProjectGAE Cloud Storage APIRESTful API based on HTTP requestsGET ServiceLists all of the buckets that you ownPUT BucketCreates a bucket / changes bucket permissionsGET BucketLists the contents of a bucket or retrieves the ACLs that are applied to a bucketDELETE Bucket deletes an empty bucket16GAE Cloud Storage APIGET ObjectDownloads an object / retrieves the ACLsPUT ObjectUploads an object or applies new ACLsDELETE ObjectDeletes an objectPOST ObjectUploads an object by using HTML formsHEAD Object lists object metadata17Azure BlobsBlog Storage with RESTful and Managed API

Blob Storage ConceptsBlobContainerAccountssallyPIC01.JPGPIC02.JPGimagesmoviesBlocksMOV1.AVIBlock or Page 1Block or Page 1Block or Page 1196/27/201219 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.MIX 09Rackspace Cloud FilesFile Storage in the Cloud Served through a CDN

Rackspace Cloud FilesRackspace Cloud FilesCloud storage service by RackspaceCan use Akamai CDNRESTful API / Java API / C# API / PHP API / Main operationsList containers, list objects, CRUD for objectsPricingOn-demand: $0.15 / GB per monthAkamai CDN: $0.18 / GB

21DropboxCloud Storage with Auto Sync for Any DeviceAccessible through REST / Java / C# APIs

DropboxDropboxFile storage in the Dropbox cloud2 GB free + bonus storage (up to 16 GB)Auto-sync for any device / OSWindows, Mac OS X, LinuxiPhone, iPad, AndroidAccessible through REST / Java / C# APIswww.dropbox.com/developers/reference/sdk

23Accessing Dropbox from .NET through OAuthLive Demo

Other CloudStorage ServicesGoogle Drive, Microsoft SkyDrive, Apple iCloudBox.com, ADrive, Mozy, FlipDrive, SpiderOak, SugarSync

Google DriveGoogle DriveGoogles online file storageHas files and foldersIntegrated with Google DocsFree 5 GB storageHas RESTful API + .NET, Java, PHP, Python SDKdevelopers.google.com/drive/downloadsSimilar to Microsoft SkyDrive


Microsoft SkyDriveMicrosoft SkyDriveMicrosofts online file storageSimilar to Google DriveHas files and foldersIntegrated with Google DocsFree 7-25 GB storageHas RESTful API + .NET, Java, PHP, Python SDKdevelopers.google.com/drive/downloadsSimilar to Microsoft SkyDrive


Other Cloud StoragesOther cloud storage servicesApple iCloudBox.comBox.comADriveMozyFlipDriveSpiderOakSugarSync


Cloud Storage Serviceshttp://academy.telerik.com , , 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, PhoneGapfree C# book, C#, Java, C# - - C# , , ??????????????????Questions??HomeworkUsing 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 photosCreate a public folder in Dropbox for the album and upload all the photos in Dropbox through its APIShare 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 browserFree Trainings @ Telerik Academy"Software Development in the Cloud"Course @ Telerik Software Academyclouddevcourse.telerik.comTelerik Software Academyacademy.telerik.comTelerik Academy @ Facebookfacebook.com/TelerikAcademyTelerik Software Academy Forumsforums.academy.telerik.com