Jan 14, 2015
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…
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
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
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
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
• 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