3. CSF
Service 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…
9. 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
13. Well defined “contracts”
app engine
core services
3rd
party services
Internal
Service
1
Internal
Service
2
Internal
Service
3
Internal
Service
4
Internal
Service
5
Internal
Service
6
Normalized Infrastructure
….
α
Lab
Product
Dedicated app
(on PC or Mobile)
Client Platform
BackEndClient
core applications
Chrome like*
“Going public”
Scale and Data
3rd
party applications/widgets
….
Infrastructure/platform
…. ….
Data (Unstructured, FS, Structure (Simple, Full))
Data Distribution
Processing (Server Roles, Allocation) Queuing
Local Hosted Cloud
Identity Management
Profile Management
Transaction Management
High Performance Queue
Data Feed
Data Storage
Data Analytics
Mobile
Platform
PC
PlatformApp
1
App
2 ….
feed
Seamless Interoperability is key:
Identity Management
Profile (service, user…)
Clear boundaries:
service platform
computing resource
The service development team
must be
the deployment team
14. 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
16. Service
User
Data
Consumes
Generates
Improves
The ARPU Race
ARPU
ServiceValue
Time
Service 1
Service 2
Service 3
Many services
One data set
BI Based Revenue Models
(eg Advertisement)
Data Set
Mindmap
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
18. • 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
The interesting piece about Web2.0is the notion of mashups or how to combine services together. As these combination can produce the whole range of new application from funny life2life (secondlife, Amazon E-cpmmerce) to delivering a compelling user experience to powerfull tool www.zillow.com (
An interesting trend around the mashup is the fact that the interesting ones are getting incorporated into
As an example Keiden created an interesting mashup of google adword and salesforce.com. This combination allows Salesforce.com customers to manage the entire Google AdWords process from creating ads, placing bids, through to tracking ROI. Keiden was acquired by Salesforce.com and is this mashup is now a feature of the CRM solution.
The mashup is graet an pretty significant rate