api zen for developers

Download API Zen for Developers

Post on 14-Jul-2015

1.114 views

Category:

Technology

5 download

Embed Size (px)

TRANSCRIPT

API Millions

API Zen For DevelopersSteven Willmott 3scale Inc@3scale - http://www.3scale.net

On Demand API Infrastructure: http://3scale.net @3scaleme: @njyx on twitter

Powering 450 APIsBillions API Calls / Month

Chicago 24-26th Septemberhttp://www.apistrategyconference.com

To the ContentSoftware is Eating the WorldMarc Andreessen WSJ / August 2011APIs are Eating SoftwareAPI Days San Francisco 2013Almost every major industry is becoming software drivenMusicRetailVideoTelephonyMeaning:

Examples

Lytro: Software Defined CamerasPhilips Hue: Software ControlledLightingAmazon: Software Driven RetailPixar: Software powered animation

APIs Are Changing the Way we Write SoftwareBut also:API Based App DevelopmentHow are APIs Changing Application Development?APIs are the new LibsIn 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 invokedCredit: WikipediaDownload & Add to Classpath

Became

Find and IntegrateSpeed (Time to Market)

e.g.+ Devops Borate.g.

(Top Mashup on Progr Web)Richness / Functionalitye.g.e.g.

Offboardinge.g.e.g.

(Rich Photo EffectsFor Mobile by SDK)

(Monitoring System in the Cloud)Reliabilitye.g.e.g.

(Email by API)

(Amazon S3)Mobile & Non Mobile

Single Page Apps

Buddhist Principles[Web growth curve]Web development also went for Artesan (read text editor) to mass produced.The type, power and reach of the mass production changed over time.

19Four Noble TruthsTo live means to suffer.The origin of suffering is attachment.The cessation of suffering is attainable.The path to the cessation of suffering.

To live means to sufferHuman beings are not perfect. Likewise, the world inhabited by them is also ridden with imperfections.[Web growth curve]Web development also went for Artesan (read text editor) to mass produced.The type, power and reach of the mass production changed over time.

21The origin of suffering is attachmentthe attachment to the desire to have (craving) and the desire not to have (aversion)[Web growth curve]Web development also went for Artesan (read text editor) to mass produced.The type, power and reach of the mass production changed over time.

22The cessation of suffering is attainableThis liberation from attachment and sorrow frees the mind of all troubles and worries.[Web growth curve]Web development also went for Artesan (read text editor) to mass produced.The type, power and reach of the mass production changed over time.

23The path to the cessation of sufferingLead a Balanced life by following the Eightfold path which is a 'gradual path of self-improvement'[Web growth curve]Web development also went for Artesan (read text editor) to mass produced.The type, power and reach of the mass production changed over time.

24Four Noble Truths of (Modern) App DevelopmentThere will be suffering APIs and Tools are imperfect, likewise the world created by them.Suffering is attachment Dependencies create pain, breakages, frustration, as do unmet expectations.The cessation of suffering is attainable liberation from hard dependencies, graceful failure, alternatives, .The path to the cessation of suffering Wisdom in what is going to happen, Good Behaviour , putting your efforts into the right things.

APIs Inside

The Eightfold Path is Zen[Web growth curve]Web development also went for Artesan (read text editor) to mass produced.The type, power and reach of the mass production changed over time.

27The Eightfold PathThe right viewThe right thoughtThe right speechThe right actionThe right LivelyhoodThe right EffortThe right MindfullnessThe right Concentration

}}}WisdomEthical ConductConcentrationBack to the Real WorldRecognize the opportunity and Chaos of API Powered APP Development[Web growth curve]Web development also went for Artesan (read text editor) to mass produced.The type, power and reach of the mass production changed over time.

29The Imperfect WorldSoftware Before 1995Software 1995 2010Software 2010 - APIs are NOT Like LibsThey Change & BreakBeware of the Type of API & AppVIEW = FORMMODEL = DATACONTROLLER = BUSINESS LOGICModel ViewControllerHow Attached are you?To Live means to suffer[Web growth curve]Web development also went for Artesan (read text editor) to mass produced.The type, power and reach of the mass production changed over time.

34

Apps Tend to be Complex

10 Hard Things About AttachmentInterface Definition & ConsistencyLatencySlow or Dead?Distributed State SynchronizationRemote Clock Problems

Error DetectionChange ManagementStatic & Dynamic Testing Code Validation / VerificationFrame Problems

But WaitIts even harder than that Distributed Across Organizational BoundariesNo access to source code No knowledge of Server EnvironmentSecurity and Access Permissions EverywhereIdentity ProblemsShared Semantics are much harder to achieveUnknown / Mismatched Scale IssuesDanger of Much Wider Interdependencies Frame problem is worse!)Most of these problems are completely unaddressedNeed to be if we are to reach 100s of thousands of APIsProgress TodayR&D / ExperimentalDistributed VerificationDistributed Systems ContractsSemantic Web OntologiesService Descriptions?

ToolsAPI Science, API MetricsAPITools, RunscopeAPI-HubSwaggerPingdom et. al.

Lots of Interesting Problems to be Solved!Stuff We DoMake APIs Betterhttp://3scale.netOnboarding, Docs, Version Management, Communications, Help Developershttp://apitools.comTrack & manipulate traffic, alert, cache, analyze,

Strategies to Avoid HeadachesAPI ProviderPublish SpecificationsHandle Versioning CarefullyProvision for Scale & Rate LimitCode LibrariesBuffers, Queues, Webhooks and Asychronous ResponsesMultiple Data CentersToolsMonitoringCachingMocks for TestingBuffers & QueuesFailover ServicesGraceful Failure Modes Assume Failure Will happenConclusions[Web growth curve]Web development also went for Artesan (read text editor) to mass produced.The type, power and reach of the mass production changed over time.

43Take Aways12API Driven Development is an Awesome new FrontierBut its incredibly hard if you get attached=>Take a deep breath and find the Zen path to distributed systems.. Keep Building!steve@3scale.net@njyx, @3scale

We make awesome API management tools:http://www.3scale.net/