APIs: the Glue of Cloud Computing
How to pick the right glue and not come unstuck
Steven WillmottCEO / 3scale networkshttp://www.3scale.net
Megatrends
Data & Services
Megatrend #1
Cloud
Megatrend #2
Applications are getting
connectedCloud
Cloud
Megatrend #3
Mobile &HTML5 Rewrite the
Web Application Playbook
What these trends will do?
Turn web applications upside down
“Hyper Integrate” the Web
Enable key platforms to emerge
Not Just for Compute Power
Infrastructure& Management
Content
Communication
Processing
Applications
Personal Information
API
API
API
API
API
API
OK- so what do all things really mean?
Think of it like … MVC
MVC = Model / View / Controller
A software architecture, currently considered an architectural pattern used in software engineering. The
pattern isolates "domain logic" (the application logic for the user) from input and presentation (GUI),
permitting independent development, testing and maintenance of each.
http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller
VIEW = FORM
MODEL = DATA
CONTROLLER = BUSINESS LOGIC
Model
View Controller
MVC = Model / View / Controller
Originally described for Smalltalk at Xerox Park
MVC has Revolutionized Software Web App Development
Clear separation between Data, Presentation & Business Logic
First : MVC Applications
Model
View
Controller
Separate at Design Time
Baked together at Run Time
Then : MVC SAAS
Model
View
Controller
Separate at Design Time
Baked together at Run Time
Separate at Deploy Time
But MVC “Cloud Edition” can mean something
much more
Model = Data
• Often most critical business asset:– Wealth of data which has value – Real time / Reference data– Sometimes unique / sometimes not
• Often:– has great value beyond your own company – AND value beyond the ways you can effectively
deliver it.
View = Form
• This used to be the company web site• Now it could be your SAAS application
interface• Increasingly on Android, iPhone, Symbian, …
Controller = Business Logic
• Also know as the “smart stuff”:– Application logic– Algorithms– Secret sauce– Housekeeping like user management / authentication /
billing• Increasingly:– Some companies allow others to apply smart stuff to their
data– Some companies apply their smart stuff to the data of
others.
This shift is enabled by APIs
Interfaces between ComponentsInterfaces between Businesses
APIs enable Cloud Scale MVC
Model View Controller
Data Anywhere in any form Many Delivery
Channels
Third parties operating on data
The implications are SPECTACULAR
•Some companies focus on data:
•Some companies focus on magic sauce:
•Some companies focus on presentation/packaging:
Impact on Their Business
• Focus on core competence
• Leverage their Ecosystem
• Companies are successful when they:– Define a clear center of gravity– Proactively manage the interfaces with other parts
of the value chain
APIs Make this work: Models
An API delivers you Data in Raw
Form
APIs Make this work: Controllers
APIs Provide Access to
Smart Processing
APIs Make this work: Views
APIS feed many possible ways to consume Data &
Services
A fourth element: the Framework
(Normally MVC needs some glue)
Elements of the “Internet Operating System”
C.f. Tim O’Reilly
Search
Media AccessTime
LocationAdvertising
Communications
Identify & Social Graph
… Providing a Substrate for Cloud MVC
Questions to you…
• What's your core asset?– Great data?– Great functionality? – Great Audience?– Great integration of what other people have?– What takes you a huge amount of time – but is
non-core?
Today you can be wildly successful as a full stack (M+V+C)
Tomorrow you will need to to make yourself indispensable in the value
chain – otherwise someone may eat your lunch.
Getting the Right Kind of Glue - Examples
Amazon AWS
• Broad and Deep – Infrastructure Offering– Broad and Deep API based control
• Impressive ecosystem around the infrastructure (e.g. Rightscale)
• Focus on self service (and automate)• Many infrastructure providers also now
providing great APIs
• One of the worlds top software download portals
• Multiple markets in the US, Europe, China and Latin America
• Amazing data about Windows / Mac / Software + Downloads
Pull Data and add value to Your users
http://api.softonic.com/docs
• Amazing Data about wines world wide
• Premier US Wine ecommerce destination
• API powers:– 3rd party community– iPhone and Symbian
Apps
• Great “cloud resource”
http://api.wine.com
Wide range of Apps being built
Conversations as a Service
Social Graph
Professional Social Graph
Message Graph
Introducing
Open API that you can get access to all the good stuff
Conversational Graph
Track conversations automatically
• You send a URL and we give you all the people who commented or shared the link (Twitter, Facebook etc)
• You can search for the most engaging links from all over the web in real-time
How to use it?
• Advanced tracking systems for blogs
• Plugins• Extensions for CRM’s• Financial applications• Advertising apps• Meme portals• Many many more
Go to http://contextvoice.comand start coding!
Getting the Right Kind of Glue
(and how not to come unstuck)
Things to think about
• How do you do integrations to date? How costly are they?
• What would you do if a competitor launched their API tomorrow? What disadvantage would you have?
• How hard is it really? • Whose API would you use if it was available?
Become a platform?
Getting the right kind of Glue
• "API first" - what is the core value being delivered?
• Who is the audience for the API?• Think big but start small• Identify initial partners• Consider a significant Beta Phase• Code Examples are Golden
Ensure infrastructure is in place
Usage Limits
SecurityConfiguration
Access ControlAnalytics
Billing
Community Management
API Access Management
Manage AccessIdentify API usersSecure & Control accessConfigure business rulesEnforce terms of use
API Analytics
Monitor & MeasureMonitor & Meter API usage
Generate in-depth reportingAnalyze & Optimize your API
Plan capacity & React to trends
API Partner Management
Grow your API EcosystemPromote your APIManage sign-up & Provision accessSupport your API partners & users (CMS, Blog, Forum, RSS...)
Showcase applications of your API
API Billing & Payments
Monetize your APIChoose your business modelSetup & Configure access plansDefine business rules based on any metrics trackedManage settlement without having to handle client CC information
Final Thoughts
Back to MVC
• V is hard to scale: let other people do it for you.
• C is difficult to predict all requirements for: open up for new layers & combinations.
• M let your data free: It will create an incredible amount of stickiness.
Questions?
Steven Willmott3scale [email protected] / @njyxhttp://www.3scale.net/
Launch your API: http://www.3scale.net
Steven Willmott3scale [email protected] / @njyxhttp://www.3scale.net/