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
Transcript of "Cloud mobility"
Head of Architecture
Vodafone Internet Services
Web Technology Pioneer
Web Service Interface on top of
A Path towards pervasive computing:
A network approach
Web Services and Pervasive Systems
Device Broker (Device as a service)
User as a service
Connected address book…
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
Well defined “contracts”
(on PC or Mobile)
Scale and Data
Data (Unstructured, FS, Structure (Simple, Full))
Processing (Server Roles, Allocation) Queuing
Local Hosted Cloud
High Performance Queue
Seamless Interoperability is key:
Profile (service, user…)
The service development team
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
The ARPU Race
One data set
BI Based Revenue Models
the more value
party Data SetValue Based Model
Linking data sets together will
be the new interop for cloud
• Proliferation of mobile devices (user and non
user) will change the way we consume cloud
– 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
Thank You !
A particular slide catching your eye?
Clipping is a handy way to collect important slides you want to go back to later.