• Share
  • Email
  • Embed
  • Like
  • Private Content
How APIs are Changing Software Development

How APIs are Changing Software Development



Talk from the API Management Meeting, San Francisco, 9/11/2013. Covering how APIs change the way be build applications. Also covers why the API Economy will be a complex distributed system.

Talk from the API Management Meeting, San Francisco, 9/11/2013. Covering how APIs change the way be build applications. Also covers why the API Economy will be a complex distributed system.



Total Views
Views on SlideShare
Embed Views



26 Embeds 2,879

http://www.3scale.net 1689
http://java.dzone.com 730
http://manfredbo.tumblr.com 157
https://twitter.com 150
http://dromologue.com 51
http://wpcomwidgets.com 22
http://nbvpartners.tumblr.com 17
http://storify.com 13
http://architects.dzone.com 13
http://translate.googleusercontent.com 8
http://www.linkedin.com 4
http://cloud.feedly.com 4
http://learn.kittelcreations.com 4
http://www.tumblr.com 3
http://www.google.co.uk 2
http://www.dzone.com 2
http://www.google.com.sg 1
http://news.google.com 1
http://plus.url.google.com 1
http://miscursos.itesm.mx 1
http://digg.com 1
http://3scale.net 1
http://feeds.feedburner.com 1
http://www.google.com 1
http://dromologue.blogspot.hu 1
http://tweetedtimes.com 1



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    How APIs are Changing Software Development How APIs are Changing Software Development Presentation Transcript

    • How APIs are changing Application Development Steven Willmott 3scale Inc @3scale - http://www.3scale.net
    • On Demand API Infrastructure: http://3scale.net @3scale me: @njyx on twitter Powering 250 APIs Billions API Calls / Month
    • San Francisco 23-25th October http://www.apistrategyconference.com
    • To the Content…
    • “Software is Eating the World” Marc Andreessen – WSJ / August 2011
    • “APIs are Eating Software” API Days San Francisco 2013
    • Almost every major industry is becoming software driven MusicRetail Video Telephony Meaning: …
    • Examples Lytro: “Software Defined Cameras” Philips Hue: “Software Controlled Lighting” Amazon: “Software Driven Retail” Pixar: “Software powered animation”
    • APIs are Eating Software
    • Meaning: 1 2 APIs are the key glue that make this software remotely addressable APIs provide a myriad of new external building blocks to speed up and enrich software development 3 If you do these things together special things happen
    • Outside-In More and More APIs are Proliferating
    • APIs Make Software Remotely Addressable
    • Wide Diversity of APIs out there London Transport: Open Data Evernote: “Platformization” Netflix: “Massive Distribution” JCI: “Software Controlled Buildings” Thousands Of Devices
    • Software multiplies in value many fold if you can talk to it
    • But, What about “Inside-Out”? How are APIs Changing Application Development?
    • APIs are the new Libs “In computer science, a library is a collection of implementations of behavior, written in terms of a language, that has a well-defined interface by which the behavior is invoked” Credit: Wikipedia
    • Download & Add to Classpath Became Find and Integrate
    • Speed (Time to Market) e.g. + Devops Borat e.g. (Top Mashup on Progr Web)
    • Richness / Functionality e.g. e.g.
    • Offboarding e.g. e.g. (Rich Photo Effects For Mobile by SDK) (Monitoring System in the Cloud)
    • Reliability e.g. e.g. (Email by API) (Amazon S3)
    • The Sum of the Two Makes Interesting Things Happen
    • Software Development over Time Software Before 1995 Software 1995 – 2010 Software 2010 -
    • Enables specialization, focus, much wider distribution
    • APIs enable componentization across organizational boundaries
    • I: New Type of Software Development
    • Software as Model-View-Controller VIEW = FORM MODEL = DATA CONTROLLER = BUSINESS LOGIC Model View Controller
    • Now it can done at the company / organization level
    • Example “Models” Model Data Anywhere in any form (copyrights / respective owners)
    • Example: Views View Many Delivery Channels (copyrights / respective owners)
    • Example: Controllers Controller Many Delivery Channels (copyrights / respective owners)
    • APIs Enable Separation & Focus Model View Controller Data Anywhere in any form Many Delivery Channels Third parties operating on data Distributed Applications
    • Software + APIs allow Businesses to co-evolve much faster
    • Fundamentally Different Model of Developing Software (MVC is only one model – the point is: componentization is possible)
    • II: But it’s extremely Hard
    • Downsides to Opening APIs… • Security is key • Scalability needs to be built in • It requires long term support • New type of business interaction • Vendors can Help • In many cases some of the work is already done
    • Downsides to using external APIs… • Latency? • Availability? • Security? • SLAs? • Cost • Service Continuity? • In most cases there are no other ways to solve the problem • Tools are emerging
    • This is Distributed Systems Engineering
    • 10 Hard Things About Building Distributed Systems • Interface Definition & Consistency • Latency • Slow or Dead? • Distributed State Synchronization • Remote Clock Problems • Error Detection • Change Management • Static & Dynamic Testing • Code Validation / Verification • Frame Problems
    • But Wait… It’s even harder than that …
    • Distributed Across Organizational Boundaries • No access to source code • No knowledge of Server Environment • Security and Access Permissions Everywhere • Identity Problems • Shared Semantics are much harder to achieve • Unknown / Mismatched Scale Issues • Danger of Much Wider Interdependencies – Frame problem is worse!)
    • Most of these problems are completely unaddressed Need to be if we are to reach 100’s of thousands of APIs
    • Progress Today R&D / Experimental • Distributed Verification • Distributed Systems Contracts • Semantic Web Ontologies • Service Descriptions? Tools • Neustar Webmetrics • Runscope & others • API-Hub • Swagger Tools • Pingdom et. al. Lots of Interesting Problems to be Solved!
    • Strategies to Avoid Headaches API Provider • Publish Specifications • Handle Versioning Carefully • Provision for Scale & Rate Limit • Code Libraries • Buffers, Queues, Webhooks and Asychronous Responses • Multiple Data Centers Tools • Monitoring • Caching • Mocks for Testing • Buffers & Queues • Failover Services • Graceful Failure Modes • Assume Failure Will happen
    • These are a good Start But the overall problem will get harder and harder
    • Conclusions
    • Take Away’s 1 2 The World will get Software & API Enabled Radical impact on the Software we write and what is possible => These new systems are complex and hard to build The “API Economy” will be way more complex than today’s Web
    • I.e. The “API Economy” as a global system will be way more complex than today’s Web
    • Keep Building! steve@3scale.net @njyx, @3scale We make Awesome API Management Tools: http://www.3scale.net/