Cloud mobility

19
Cloud Mobility Michel Burger Head of Architecture Vodafone Internet Services [email protected]

description

Presentation done at the Informa Cloud Mobility conference in Amsterdam

Transcript of Cloud mobility

Cloud Mobility

Michel BurgerHead of ArchitectureVodafone Internet [email protected]

A personal Journey

CSFService Syndication

Web Technology Pioneer

Web Service Interface on top of telecommunication equipment

A Path towards pervasive computing:A network approach

Web Services and Pervasive Systems

Device Broker (Device as a service)User as a service

Consumer Services:Connected address book…

What is Cloud Mobilityand

Mobile Cloud?

Is it a different cloud?

2006 API Cloud

512

1,350

2008 API Cloud

12secondstv 23 30Boxes 411Sync 43Things 5min A9 Active AddThisMenu AddThisSharingEndpoints AdobeOnAir AdobeShare AevumObscurum AftertheDeadline aideRSS AIM AIMPhoneline Akismet Alexa AlexaThumbnail AlexaTopSites AlexaWebInfo Amazon AmazonCloudWatch AmazonEC2 AmazonFulfillmentWebService AmazonHistorical

AmazonMarketplaceWebService AmazonPayments AmazonQueue AmazonRDSRelationalDatabaseServi AmazonS3 AmazonSimpleDB AMEE Amplify AOLOpenAuth AOLOpenMail AOLPictures AOLVideo AOLVideoUpload AOLWebAIM AonawareDictionary ArcWeb Arkayne ArtBeat arXiv AustralianBusinessNumberLookup AuthenticJobs Authorize.Net BabyNames Backpack BackTweets BackType Bandsintown Basecamp BBC BBCMusic Bebo BeenVerified BeliefNetworks BestBuyRemix Betfair BibleGateway BibSonomy

BigHugeThesaurus BigTribe Billboard Billomat Bing BingMaps Bit.ly BlankSlate bLaugh Blinksale Blinkx Blip.tv Blipfm BlogamaIPInfoDB Blogger Bloglines Blogmarks BlueDot BookMooch BooRahRestaurantSearch Box.net Brightcove Brightkite BroadsoftXtended BrooklynMuseum BTWeb21C Buildasearch buySAFE Buzznet CafePress Calais

CampaignMonitor Campfire CapitolWords CareerBuilder Carma ChaCha ChartLyricsLyric Chirpio Cicero CitySearchCityGrid ClearForest Clickatell Clicky Cligs Clipta CloudMade Cloudspeakers Cloudvox CNET Collecta COLOURlovers CommissionJunction Compete ConceptShare Connotea ContextVoice CorpWatch CreativeCommons CrunchBase

CurrenciesExchangeRates CyberSourceSimple DabbleDB DandyId Dapper DataUnisonEbayResearch Daylife DBBusinessVerify DBCreditCheck DBpedia deCarta del.icio.us DemocracyInAction DHL Digg DigitalBucket DigitalNZ DigitalPodcast Dipity DirectedEdge Discogs Disqus Doba Docstoc DocuSignEnterprise Dooblet dopplr Drawloop Dropbox Dropio

EarthTools EasyUtil eBay EchoNest EchoSign EditGrid Enthusem Entrez Ergast eSideWalk ESRIArcGISJavaScript ESV Etsy Eventful EveOnline Evernote Evoca Evri Expono Facebook Facecom Faces Factual FanFeedrSportsNews FantasyFootballNerd FatSecret Faviconz FedEx FedSpending FeedBurner FeedMap ffwd FilesAnywhere FilesTube

FilmCrave Findory FireEagle Flickr FlightStats Floobs FollowTheMoney Formstack Fotolia Foursquare Foxrate Freebase Freewheel FreeYourID FreshBooks FriendFeed Friendster Fring FUTEFWikipedia GamePro GamesRadar Garmin geocoder geocoderCanada Geocubes Geograph GeoIQ Geolenz GeoNames GetMapping GetSatisfaction Gigablast

GlobalBiodiversityInformationFac GlobeXplorer Glue GoMoTextSMSGateway Goodreads Google GoogleAdSense GoogleAdWords GoogleAjaxFeeds GoogleAJAXLanguage GoogleAJAXLibraries GoogleAjaxSearch GoogleAnalytics GoogleAppEngine GoogleAppsEmailMigration GoogleBase GoogleBookSearchBookViewability GoogleBookSearchData

GoogleBuzz GoogleCalendar GoogleChart GoogleCheckout GoogleClientAuth GoogleCodeSearch GoogleContacts GoogleCustomSearch GoogleDesktop GoogleDirections GoogleDocsList GoogleEarth GoogleEmailSettings GoogleFinancePortfolio GoogleFriendConnect GoogleFusionTables GoogleGears GoogleGearsGeolocation GoogleHealth

GoogleHomepage GoogleLatitude GoogleMaps GoogleMapsData GoogleMapsElevation GoogleMapsFlash GoogleMashupEditor GoogleNotebook GoogleOpenID GooglePicasa GoogleSafeBrowsing GoogleSites GoogleSocialGraph GoogleSpreadsheets GoogleSSO GoogleStaticMaps GoogleTalk GoogleTranslate GoogleVisualization GoogleWave

GoogleWebAuth GoogleWebmasterTools GoogleWebsiteOptimizer GovTrack.us Gowalla Grooveshark GrouperVideo Gruvr Guardian Harvest Heroku Heyzap Hi5 Highrise Hiogi HolidayService hon.jp hostip HotelsCombined HotOrNot HotUKDeals Howcast Hyves Identica Idiomag Ifbyphone iGoogleThemes IIGAlerts Ikregeernl ILike ImageLoop ImageShack

Imeem Imgly IMified indeed Infochimps Infosnipernet InnerGearsCityState IntelCPU IntelePeer Interfax InternetArchive InternetVideoArchive IntuitDataService IPAddressLookup Ipernity IPLocation ISBNdb Isgd IssuuSearch ITunesandiTunesConnect Jaduka Jaiku JamBase Jigsaw JobCentralJobs Joost Jots JotSpot JoyRackGames Justintv Kayak Kelkoo

KewegoVideo Kiva Klout Kuler Kwwika Kyte LastFM Lat49 Layar LazyTune Let039sBeTrends LibraryThing Lingr LinkedIn LinkShare LiveContactsJS LiveJournal Livekick LiveSpacesPhotoControl LiveVideo LivingStones LOCSRW LongURL LuluPublishing Lyricsfly LyricWiki Ma.gnolia MailChimp Map24 Maplight Maponics MapPoint MapQuest Mapstraction MaxMindGeoIP Meaningtool MechanicalTurk Medioh Meebo Meetup Mendeley MenuMania MetaCarta MicrosoftAdCenter MicrosoftBing MicrosoftHealthVault

MicrosoftMSDN MicrosoftTranslator MindTouchDekiWiki Mite Mobivity Mobypicture Moneybookers MOO Moreover MSNMessenger MTV Multimap MusicBrainz MusicMobs MyBlogLog Myplaylist MySpace MyVox Nabaztag NASA Naver NCAAMensCollegeBasketball Ndurl Nestoria Netflix NetSuite Netvibes NewsCloud NewsGator NewYorkTimesArticleSearch

NewYorkTimesBestSellers NewYorkTimesCampaignFinance NewYorkTimesCommunity NewYorkTimesCongress NewYorkTimesMovieReviews NewYorkTimesNewswire NewYorkTimesTimesPeople Nextstop Ning NOAA NorwayWeather Notifixious NPR Omnidrive OneRiot Ontok OntokWikipedia Oodle OoVoo OoyalaVideoPlayer openDada

OpenDOAR OpenGovernmentDataInitiative OpenLayers OpenPatentServices OpenSecrets OpenSocial OpenSosius OpenStrands OpenStreetMap OpenX Orb Orkut OSOpenSpace Outsidein Pageflakes Panoramio PayPal PDFGenerator PeekaCity PeoplePond Phanfare PhishTank Photo Photobucket Picnik Pikchur Pikeo Pingdom Pingfm Pixagogo Pixlr Plaxo

Playme Plazes Poly9FreeEarth PostalMethods Posterous PostRankDataMining Pownce PriceGrabber PriceRunner Printfection Prodigem ProgrammableWeb Prosper PubSub Pushpin PushpinLocationData Qrcx QuarkRank QuickBase Qurl Qype RadioTime Rakuten RapLeaf RawSugar Reddit Rentometer RescueTime RetroAvatar ReutersSpotlight Revver Rezgo

Rhapsody Ribbit Rim Ringful Riya RPX Rrove Salesforce ScienceMuseum Scribd ScribdiPaper SecondLife SeeqPod Seesmic SemanticHacker SendGrid Sendible Sensebot Shadows SharedBook ShareThis Shizzow Shopify Shopping.com ShopStyle Shopzilla Shrten ShutterPoint SilverlightStreaming SimpleAPI SimplyHiredJobs Simpy Skydeck SkyhookWireless

Skype Sletohcom SlideShare SmashFly Smugmug SnappyFingers Snipshot SNOCAP SocialActions Songkick Songly Songza SoundCloud Sparklines SplogSpot Spock SpokenBuzz Spore SpotifyMetadata Spraci SpringWidgets Start stikkit StrikeIron StrikeIronReversePhone StrikeIronSMSPro StrikeIronTaxes StrikeIronUSCensus Stupeflix Stylight SugarSync SummizeTwitterSearch SunlightLabs SuperDataPack Superfeedr Swivel Syndic8 Tagalus Taglets Tagoo TagTooga Tailrank Tarpipe TeachStreetClassesandCourses Technorati

Textamerica TheyWorkForYou ThisNext Thumbalizr TimesURL Tinylink Tinysong TokBox Topicalizer Touchnote TourCMSMarketplace TownMeGeo TradeSports TransparencyData TravelFusion Trendrr Trim TringMe Tropo TrueKnowledge Trulia TrustedPlaces Trynt Tumblr TutorialsGarden Tweetmeme TweetPhoto Twilio TwilioSMS Twinfluence Twitgoo TwitPic

TwitrPix Twitter TwitterCounter TwitterGrader Twittervision TypeKey TypePad UClassify UPCDatabase Upcoming UPS UrbanDictionary UrbanMapping UrlBorg Userplane USGSElevation USPostalService Ustream.TV USYellowPages Vast Veoh ViaMichelin Viddler Videodetective VideoSurf Vidoop Vimeo VirtualEarth Vodpod W3Counter WalkScore

WatchMouse WeatherBug WeatherByCity WeatherChannel WeatherUnderground WebAPIforBiology Weblogs WebPurify WebShots WebThumb WeFeelFine WhatCounts WhatTheTrend WHERE Where2GetItSlippyMap Whereis WhitePages Whois Widgetbox Wigle Wikipedia WindowsDesktopGagdets WindowsLiveContacts WindowsLiveData

WindowsLiveDomains WindowsLiveExpo WindowsLiveGadgets WindowsLiveIDWebAuthentication WindowsLiveSpaces WindowsLiveSpacesPhoto WiserEarth WishpotShopping WorldCatSearch WorldTimeEngine Wuala Yahoo YahooAddressBook YahooAds YahooAnswers YahooAudio YahooBBauth YahooBOSS YahooContacts YahooGeocode

YahooGeoPlanet YahooImages YahooInternetLocationPlatform YahooLive YahooLocal YahooMail YahooMapImage YahooMaps YahooMessenger YahooMusic YahooMusicEngine YahooMyWeb YahooPlacemaker YahooQueryLanguage YahooRelatedQuery YahooSearchMarketing YahooShopping YahooSiteExplorer YahooSpellingSuggestion YahooTerms YahooTraffic YahooTravel YahooUpdates YahooVideo YahooWidgets Yelp YesBroadcastDB YourMapperAPI YouTube YouTXT Zanox Zazzle ZeeMaps Zemanta Zendesk Zillow

Zixxo Zoho ZoomIn ZoomInfo Zooomr Zvents

2,131

2010 API Cloud

Client Mashups

It is all about mashups (combining web

based API to create a new web app

running in the desktop laptop)

We know we don't have a corner on creativity. There are creative people all around the world, hundreds of millions of

them, and they are going to think of things to do with our basic platform that we didn't think of. So the mashup stuff is a wonderful way of allowing people to find new ways of

applying the basic infrastructures we're propagating.” Vint Cerf

life2life

Secondlife+Amazon E-Commerce

WeatherBug

WeatherBug+VirtualEarth

Zillow

Realestateinfo+VirtualEarth

259,475

Iphone AppStore

12secondstv 23 30Boxes 411Sync 43Things 5min A9 Active AddThisMenu AddThisSharingEndpoints AdobeOnAir AdobeShare AevumObscurum AftertheDeadline aideRSS AIM AIMPhoneline Akismet Alexa AlexaThumbnail AlexaTopSites AlexaWebInfo Amazon AmazonCloudWatch AmazonEC2

AmazonFulfillmentWebService AmazonHistorical AmazonMarketplaceWebService AmazonPayments AmazonQueue AmazonRDSRelationalDatabaseServi AmazonS3 AmazonSimpleDB AMEE Amplify AOLOpenAuth AOLOpenMail AOLPictures AOLVideo AOLVideoUpload AOLWebAIM AonawareDictionary ArcWeb Arkayne ArtBeat arXiv AustralianBusinessNumberLookup AuthenticJobs Authorize.Net BabyNames Backpack BackTweets BackType Bandsintown Basecamp

BBC BBCMusic Bebo BeenVerified BeliefNetworks BestBuyRemix Betfair BibleGateway BibSonomy BigHugeThesaurus BigTribe Billboard Billomat Bing BingMaps Bit.ly BlankSlate bLaugh Blinksale Blinkx Blip.tv Blipfm BlogamaIPInfoDB Blogger Bloglines Blogmarks BlueDot BookMooch

BooRahRestaurantSearch Box.net Brightcove Brightkite BroadsoftXtended BrooklynMuseum BTWeb21C Buildasearch buySAFE Buzznet CafePress Calais CampaignMonitor Campfire CapitolWords CareerBuilder Carma ChaCha ChartLyricsLyric Chirpio Cicero CitySearchCityGrid ClearForest Clickatell Clicky Cligs Clipta CloudMade Cloudspeakers Cloudvox CNET Collecta COLOURlovers CommissionJunction Compete ConceptShare Connotea ContextVoice CorpWatch

CreativeCommons CrunchBase CurrenciesExchangeRates CyberSourceSimple DabbleDB DandyId Dapper DataUnisonEbayResearch Daylife DBBusinessVerify DBCreditCheck DBpedia deCarta del.icio.us DemocracyInAction DHL Digg DigitalBucket DigitalNZ DigitalPodcast Dipity DirectedEdge

Discogs Disqus Doba Docstoc DocuSignEnterprise Dooblet dopplr Drawloop Dropbox Dropio EarthTools EasyUtil eBay EchoNest EchoSign EditGrid Enthusem Entrez Ergast eSideWalk ESRIArcGISJavaScript ESV Etsy Eventful EveOnline Evernote Evoca Evri Expono Facebook Facecom Faces Factual

FanFeedrSportsNews FantasyFootballNerd FatSecret Faviconz FedEx FedSpending FeedBurner FeedMap ffwd FilesAnywhere FilesTube FilmCrave Findory FireEagle Flickr FlightStats Floobs FollowTheMoney Formstack Fotolia Foursquare Foxrate Freebase Freewheel FreeYourID FreshBooks FriendFeed

Friendster Fring FUTEFWikipedia GamePro GamesRadar Garmin geocoder geocoderCanada Geocubes Geograph GeoIQ Geolenz GeoNames GetMapping GetSatisfaction Gigablast GlobalBiodiversityInformationFac GlobeXplorer Glue GoMoTextSMSGateway Goodreads Google GoogleAdSense GoogleAdWords

GoogleAjaxFeeds GoogleAJAXLanguage GoogleAJAXLibraries GoogleAjaxSearch GoogleAnalytics GoogleAppEngine GoogleAppsEmailMigration GoogleBase GoogleBookSearchBookViewability GoogleBookSearchData GoogleBuzz GoogleCalendar GoogleChart GoogleCheckout GoogleClientAuth GoogleCodeSearch

GoogleContacts GoogleCustomSearch GoogleDesktop GoogleDirections GoogleDocsList GoogleEarth GoogleEmailSettings GoogleFinancePortfolio GoogleFriendConnect GoogleFusionTables GoogleGears GoogleGearsGeolocation GoogleHealth GoogleHomepage GoogleLatitude GoogleMaps

GoogleMapsData GoogleMapsElevation GoogleMapsFlash GoogleMashupEditor GoogleNotebook GoogleOpenID GooglePicasa GoogleSafeBrowsing GoogleSites GoogleSocialGraph GoogleSpreadsheets GoogleSSO GoogleStaticMaps GoogleTalk GoogleTranslate GoogleVisualization GoogleWave

GoogleWebAuth GoogleWebmasterTools GoogleWebsiteOptimizer GovTrack.us Gowalla Grooveshark GrouperVideo Gruvr Guardian Harvest Heroku Heyzap Hi5 Highrise Hiogi HolidayService hon.jp hostip HotelsCombined HotOrNot HotUKDeals Howcast Hyves Identica Idiomag Ifbyphone iGoogleThemes IIGAlerts

Ikregeernl ILike ImageLoop ImageShack Imeem Imgly IMified indeed Infochimps Infosnipernet InnerGearsCityState IntelCPU IntelePeer Interfax InternetArchive InternetVideoArchive IntuitDataService IPAddressLookup Ipernity IPLocation ISBNdb Isgd IssuuSearch ITunesandiTunesConnect Jaduka Jaiku JamBase Jigsaw JobCentralJobs Joost Jots JotSpot JoyRackGames Justintv Kayak Kelkoo KewegoVideo Kiva Klout Kuler Kwwika Kyte LastFM Lat49 Layar

LazyTune Let039sBeTrends LibraryThing Lingr LinkedIn LinkShare LiveContactsJS LiveJournal Livekick LiveSpacesPhotoControl LiveVideo LivingStones LOCSRW LongURL LuluPublishing Lyricsfly LyricWiki Ma.gnolia MailChimp Map24 Maplight Maponics MapPoint MapQuest Mapstraction MaxMindGeoIP

Meaningtool MechanicalTurk Medioh Meebo Meetup Mendeley MenuMania MetaCarta MicrosoftAdCenter MicrosoftBing MicrosoftHealthVault MicrosoftMSDN MicrosoftTranslator MindTouchDekiWiki Mite Mobivity Mobypicture Moneybookers MOO Moreover MSNMessenger MTV Multimap MusicBrainz MusicMobs

MyBlogLog Myplaylist MySpace MyVox Nabaztag NASA Naver NCAAMensCollegeBasketball Ndurl Nestoria Netflix NetSuite Netvibes NewsCloud NewsGator NewYorkTimesArticleSearch NewYorkTimesBestSellers NewYorkTimesCampaignFinance NewYorkTimesCommunity NewYorkTimesCongress

NewYorkTimesMovieReviews NewYorkTimesNewswire NewYorkTimesTimesPeople Nextstop Ning NOAA NorwayWeather Notifixious NPR Omnidrive OneRiot Ontok OntokWikipedia Oodle OoVoo OoyalaVideoPlayer openDada OpenDOAR OpenGovernmentDataInitiative OpenLayers OpenPatentServices OpenSecrets

OpenSocial OpenSosius OpenStrands OpenStreetMap OpenX Orb Orkut OSOpenSpace Outsidein Pageflakes Panoramio PayPal PDFGenerator PeekaCity PeoplePond Phanfare PhishTank Photo Photobucket Picnik Pikchur Pikeo Pingdom Pingfm Pixagogo Pixlr Plaxo Playme Plazes Poly9FreeEarth PostalMethods Posterous PostRankDataMining Pownce PriceGrabber PriceRunner Printfection Prodigem ProgrammableWeb Prosper PubSub Pushpin PushpinLocationData Qrcx QuarkRank QuickBase Qurl Qype RadioTime Rakuten RapLeaf RawSugar Reddit Rentometer RescueTime RetroAvatar ReutersSpotlight Revver Rezgo

Rhapsody Ribbit Rim Ringful Riya RPX Rrove Salesforce ScienceMuseum Scribd ScribdiPaper SecondLife SeeqPod Seesmic SemanticHacker SendGrid Sendible Sensebot Shadows SharedBook ShareThis Shizzow Shopify Shopping.com ShopStyle Shopzilla Shrten ShutterPoint SilverlightStreaming SimpleAPI

SimplyHiredJobs Simpy Skydeck SkyhookWireless Skype Sletohcom SlideShare SmashFly Smugmug SnappyFingers Snipshot SNOCAP SocialActions Songkick Songly Songza SoundCloud Sparklines SplogSpot Spock SpokenBuzz Spore SpotifyMetadata Spraci SpringWidgets Start stikkit StrikeIron StrikeIronReversePhone StrikeIronSMSPro StrikeIronTaxes StrikeIronUSCensus Stupeflix Stylight SugarSync SummizeTwitterSearch SunlightLabs

SuperDataPack Superfeedr Swivel Syndic8 Tagalus Taglets Tagoo TagTooga Tailrank Tarpipe TeachStreetClassesandCourses Technorati Textamerica TheyWorkForYou ThisNext Thumbalizr TimesURL Tinylink Tinysong TokBox Topicalizer Touchnote TourCMSMarketplace TownMeGeo TradeSports

TransparencyData TravelFusion Trendrr Trim TringMe Tropo TrueKnowledge Trulia TrustedPlaces Trynt Tumblr TutorialsGarden Tweetmeme TweetPhoto Twilio TwilioSMS Twinfluence Twitgoo TwitPic TwitrPix Twitter TwitterCounter TwitterGrader Twittervision TypeKey TypePad UClassify UPCDatabase

Upcoming UPS UrbanDictionary UrbanMapping UrlBorg Userplane USGSElevation USPostalService Ustream.TV USYellowPages Vast Veoh ViaMichelin Viddler Videodetective VideoSurf Vidoop Vimeo VirtualEarth Vodpod W3Counter WalkScore WatchMouse WeatherBug WeatherByCity WeatherChannel

WeatherUnderground WebAPIforBiology Weblogs WebPurify WebShots WebThumb WeFeelFine WhatCounts WhatTheTrend WHERE Where2GetItSlippyMap Whereis WhitePages Whois Widgetbox Wigle Wikipedia WindowsDesktopGagdets WindowsLiveContacts WindowsLiveData WindowsLiveDomains

WindowsLiveExpo WindowsLiveGadgets WindowsLiveIDWebAuthentication WindowsLiveSpaces WindowsLiveSpacesPhoto WiserEarth WishpotShopping WorldCatSearch WorldTimeEngine Wuala Yahoo YahooAddressBook YahooAds YahooAnswers YahooAudio YahooBBauth YahooBOSS YahooContacts

YahooGeocode YahooGeoPlanet YahooImages YahooInternetLocationPlatform YahooLive YahooLocal YahooMail YahooMapImage YahooMaps YahooMessenger YahooMusic YahooMusicEngine YahooMyWeb YahooPlacemaker YahooQueryLanguage YahooRelatedQuery YahooSearchMarketing YahooShopping YahooSiteExplorer YahooSpellingSuggestion YahooTerms YahooTraffic YahooTravel YahooUpdates YahooVideo YahooWidgets Yelp YesBroadcastDB YourMapperAPI YouTube YouTXT Zanox Zazzle ZeeMaps Zemanta Zendesk Zillow Zixxo Zoho ZoomIn ZoomInfo Zooomr Zvents

• We need an environment for running mashups in the cloud:– Mashup metering: How to measure the usage of a mashup independently to the

services part of the mashup (for billing)

– Mashup QOS: How to provide mechanism for E2E QOS when dealing with independent services

– Cross device experience: How to provide end user experience that include multiple connected devices

– Subscription based services: How to provide subscription based mechanisms at the mashup level that propagate to the subscription

of the services part of the mashup

– Trusted service access: How to provide a trusted environment for services that don’t have client access

• Complementary to the Web2.0 Mashups

+

Cloud Mobility

Zillow+Location on my mobile phone -> GeoEstate

Amazon ISBN+Barcode+MMS+SMS on my mobile phone -> Instant Price Check

IPTV+Network States-> Continuity

What about Developmentand

Service Lifecycle?

Well defined “contracts”

app engine

core services

3rd party services

InternalService

1

InternalService

2

InternalService

3

InternalService

4

InternalService

5

InternalService

6

Normalized Infrastructure

….

α

Lab

Product

Dedicated app(on PC or Mobile)

Client Platform

Bac

k E

ndC

lient

core applications

Chrome like*

“Going public”

Scale and Data

3rd party applications/widgets

….

Infr

astr

uct

ure/

pla

tfor

m

…. ….

Data (Unstructured, FS, Structure (Simple, Full))Data Distribution

Processing (Server Roles, Allocation) Queuing

Local Hosted Cloud

Identity ManagementProfile Management

Transaction ManagementHigh Performance Queue

Data FeedData StorageData Analytics

MobilePlatform

PCPlatformApp

1App

2 ….

feed

Seamless Interoperability is key:Identity ManagementProfile (service, user…)Clear boundaries:

service platformcomputing resource

The service development team must be

the deployment team

General Architecture MUSTs• “Build for Failure” – think someone yanking a VPC without warning – while you are working on it. When you

start it back up again – it should continue working without a hitch, no loss of customer data. DON’T STORE ANY STATE ON THE LOCAL MACHINE!

• “Build for Infinite Scale” – there will always be multiple instances of your code running on many machines. Always assume this!

• “Build for Latency” – network is slow, services are slow. Build your components not to be tied to state (I.E. Don’t hold state in memory or local disk – unless you can recover it after a failure) whilst you are waiting and also use APM down to the last IO port (in most of our cases a call into the network).

• “Build for Brewer Conjecture” – you can have at most 2 of Consistency, Availability & Tolerant Network Partitions. Cloud services don’t demonstrate eventual consistency. Deal with it in code.

• “Build for the Cloud” – when you use cloud services – there are no guarantees. You are not guaranteed that you will get all the data, you are not guaranteed that you will get them in order, you are not guaranteed anything! Now build your app to work with this.

• “Build with clean Interfaces” – don’t build with RPC Hangover. Build clean hierarchical REST interfaces using the resource model.

• “Build Probabilistically” - do we absolutely need to be a 100% accurate? Really? Are you sure? Positive?

Use Bloom filters and caches where possible.

• “Build to manage” – Apply the FCAPS model to your services, other services/platfrom will need it

• “Build to Cache” – think HTTP caching and multiple layers of it. All GET operations must be cacheable.

• “Build to be Idempotent” – same operation twice should not put your system in an inconsistent state.

• “Build for geo” – build your component knowing that you could have multiple geographical partitions of data that you might have to use sitting in different parts of the world

• “Build for Data” – make sure that what you writes generate monetizable data

It is all about Data

Service

User

Data

Consumes

Generates

Improves

The ARPU Race

ARPU

Ser

vice

Val

ue

Time

Service 1Service 2

Service 3

Many services

One data set

BI Based Revenue Models(eg Advertisement)

Data SetMindmap

The more in context the more

efficient and the more

value

3rd party Data SetValue Based Model

Linking data sets together will be the new interop for cloud service operators

Conclusion

• Proliferation of mobile devices (user and non user) will change the way we consume cloud services:– Augmented Reality– Pervasive systems– Cross Channel Experience

• We entering in a next phase of the internet:

Linked Pages Cloud Services Linkable Data

Web Web 2.0 ??

Cloud Mobility need to embrace both trends

Trends

Thank You !

Michel [email protected]