Date post: | 10-Jan-2017 |
Category: |
Technology |
Upload: | alex-wilson |
View: | 127 times |
Download: | 1 times |
Digital Economy and APIsAPI Strategy Best Practice
Alex Wilson. CISSPAPI Evangelist and Educator
New Zealand – December [email protected]
2 © 2016 CA. ALL RIGHTS RESERVED.
Reference Material for further reading
Cattle v Pets
https://www.infoq.com/articles/microservices-revolution
Conway
https://www.infoq.com/articles/agile-sailors-microservices
Apple – dog food lesson
http://nordicapis.com/lessons-learned-apples-api-strategy/
API Academy
http://www.apiacademy.co/
3 © 2016 CA. ALL RIGHTS RESERVED.
What is a “Web API”?
Technical Definition
• A network-addressable (usually by HTTP) interface that enables state transfer of data representations
Fielding, R. T. (2000). Architectural Styles and the Design of Network-based Software Architectures. http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
Cox, J.(2001). Network World. Jan. 29, 2001. Volume 18, No. 5. https://books.google.ca/books?id=dBsEAAAAMBAJ
4 © 2016 CA. ALL RIGHTS RESERVED.
So what’s the big deal?
http://history.apievangelist.com/
5 © 2016 CA. ALL RIGHTS RESERVED.
The Business Value of APIs
It’s not what they are, it’s what they enable
6 © 2016 CA. ALL RIGHTS RESERVED.
Common Questions
Is this Digital Transformation in action?
How can I leverage this?
How much can I do?
7 © 2016 CA. ALL RIGHTS RESERVED.
Alignment & Usefulness
Engagement & Usability
Scalability & Evolvability
Manageability & Security
API360: An Enterprise Model for API Success
8 © 2016 CA. ALL RIGHTS RESERVED.
Alignment & Usefulness
Engagement & Usability
Scalability & Evolvability
Manageability & Security
API360: An Enterprise Model for API Success
9 © 2016 CA. ALL RIGHTS RESERVED.
Alignment & Usefulness
A company’s APIs should align with its business goals
A company’s APIs should be useful to a target audience
10 © 2016 CA. ALL RIGHTS RESERVED.
API Strategy Anti-Patterns
• For Open APIs, don’t assume that “if you build it they will come”Faith in the Long Tail
• Don’t start by trying to build the complete set of perfect APIs that will serve every possible consumerService Perfectionism
• Don’t start by picking languages, frameworks and software components
Technological Obsession
• Don’t let single API consumer projects (e.g. mobile) put in long term barriersTunnel Vision
12 © 2016 CA. ALL RIGHTS RESERVED.
http://www.amazon.com/The-Everything-Store-Bezos-Amazon-ebook/dp/B00BWQW73E
Alignment & Usefulness Case Study: Amazon
13 © 2016 CA. ALL RIGHTS RESERVED.
“We don’t make money when we sell things.We make money when we help customers make purchase decisions.”
Idealism Pragmatism
Alignment & Usefulness Case Study: Amazon
14 © 2016 CA. ALL RIGHTS RESERVED.
Alignment & Usefulness – Key Questions
What are my business goals, and how can APIs help me achieve them?
Do I have funded projects that could benefit from APIs?
What are the gaps in my industry that
can be exploited through APIs?
What business model does my API enable or extend?
15 © 2016 CA. ALL RIGHTS RESERVED.
Alignment & Usefulness
Engagement & Usability
Scalability & Evolvability
Manageability & Security
API360: An Enterprise Model for API Success
16 © 2016 CA. ALL RIGHTS RESERVED.
Engagement & Usability
A company should focus on engaging its target developers
APIs should be easy for these developers to use
19 © 2016 CA. ALL RIGHTS RESERVED.
Engagement & Usability Case Study: Twilio
Competition in the communication API
marketplace
20 © 2016 CA. ALL RIGHTS RESERVED.
Engagement & Usability Case Study: Twilio
Keys to Success
• Aggressive Marketing
• First Mover Advantage
• Focus on usability
21 © 2016 CA. ALL RIGHTS RESERVED.
Engagement & Usability Case Study: Twilio
•Developer registrations
•TTHW (Time to “Hello World”)
•Developer community activity
API Usability Metrics:
22 © 2016 CA. ALL RIGHTS RESERVED.
Engagement & Usability – Key Questions
Who are the intended and expected
consumers of my APIs?
How do I attract and retain the right consumers and
developers?
How do I factor my API consumer needs into my API design?
How do I continually enhance the
developer experience (DX) for my API?
23 © 2016 CA. ALL RIGHTS RESERVED.
Alignment & Usefulness
Engagement & Usability
Scalability & Evolvability
Manageability & Security
API360: An Enterprise Model for API Success
24 © 2016 CA. ALL RIGHTS RESERVED.
Scalability & Evolvability
APIs should be able to shrink and grow with the business
APIs should be able to change and adapt over time
25 © 2016 CA. ALL RIGHTS RESERVED.
Good Enterprise Architecture
DO
• Focus on the horizon
• Synthesize multiple perspectives
• Impose appropriate constraints
DO NOT
• Obsess about standardization
• Only care about technology
• Favour model over reality
26 © 2016 CA. ALL RIGHTS RESERVED.
SOA, APIs & Microservice Architecture (μSA)
Decompose systems into
reusable services. That’s good!
Respect the human element.
That’s new!
Be good at change, be prepared for failure.
That’s novel!
27 © 2016 CA. ALL RIGHTS RESERVED.
Scalability & Evolvability – Key Questions
What factors will affect the design time scalability of
my APIs?
How should I version my APIs?
What are the technology trends I need to consider for
my APIs?
What are the organizational
constraints that will affect my success?
28 © 2016 CA. ALL RIGHTS RESERVED.
Alignment & Usefulness
Engagement & Usability
Scalability & Evolvability
Manageability & Security
API360: An Enterprise Model for API Success
29 © 2016 CA. ALL RIGHTS RESERVED.
Manageability & Security
It should be easy to see and control an API’s activity
An API should only give the right data to the right consumers
30 © 2016 CA. ALL RIGHTS RESERVED.
Manageability & Security – Key Questions
What metrics do I need for my APIs?
How can I control access to my APIs
without putting up new barriers?
Who are the principals involved in my APIs and how can
I protect privacy?
What new threats do I need to protect against for APIs?
31 © 2016 CA. ALL RIGHTS RESERVED.
The Five Pillars of API Management
From https://www.ca.com/us/collateral/ebooks/na/5-pillars-of-api-management.aspx
32 © 2016 CA. ALL RIGHTS RESERVED.
Alignment & Usefulness
Engagement & Usability
Scalability & Evolvability
Manageability & Security
SummaryAPI360: An Enterprise Model for API Success
35 © 2015 CA. ALL RIGHTS RESERVED.
Marc Andreessen
“This is a pattern that we love
to fund:
unbundle X from Y, but then
use the liberation of X as
leverage to do amazing new
things with X.”
39 © 2015 CA. ALL RIGHTS RESERVED.
Unbundling(the) greatest disruptor of tech industry
“The most unbundled form
of your product portfolio
are your APIs”
– Irakli Nadareishvili. API Academy
40 © 2015 CA. ALL RIGHTS RESERVED.
“Microservices unbundle
your business for internal and
[controlled] external
disruption”
Lesson
A microservice is an
independently deployable
component of bounded scope
that supports interoperability
through message based
communications.
Microservice Architecture is
a style of engineering highly-
automated, evolvable software
systems made up of
capability-aligned
microservices.
SmallContinuous
improvementEvolutionary Automated
Loosely
Coupled
Container-
basedConway’s law
Independent
Deployability
Decentralized
Governance
Decentralized
Data
Immutable Message BasedService-
oriented
Products not
Projects
Smart
Endpoints
Dumb Pipes
Bounded in
ScopeModular
Smart
Endpoints
Continuous
Deployment
Asynchronous
Messaging
InteroperableCapability
Aligned
Design for
FailureEvent Based Autonomous
SmallContinuous
improvementEvolutionary Automated
Loosely
Coupled
Container-
basedConway’s law
Independent
Deployability
Decentralized
Governance
Decentralized
Data
Immutable Message BasedService-
oriented
Products not
Projects
Smart
Endpoints
Dumb Pipes
Bounded in
ScopeModular
Smart
Endpoints
Continuous
Deployment
Asynchronous
Messaging
InteroperableCapability
Aligned
Design for
FailureEvent Based Autonomous
A microservice is an independently
deployable component of bounded
scope that supports interoperability
through message based communications.
Microservice Architecture is a style
of engineering highly-automated,
evolvable software systems made up
of capability-aligned microservices.
Examples of Increasing Speed
• Zero bureaucracy, don’t ask for permission
• Zero validation, don’t test anything
• Increase change frequency
• Higher faster programmers
• Use un-constrained languages and tools
• Change production directly
We want to combine the extraordinary
customer-serving capabilities that are enabled
by size with the speed of movement,
nimbleness, and risk-acceptance mentality
normally associated with entrepreneurial start-
ups.
Jeff Bezos Wants Amazon to be Fast
“
”Jeff Bezos
Amazon 2015 Letter to Shareholders
Examples of Increasing Safety
• Strong governance, control everything
• Always validate, test everything
• Reduce change frequency
• Higher safer programmers
• Use constrained languages and tools
• No access to production environments
Facebook’s Motto (reprised)
Move Fast and Break
Things
“
”
Move Fast with
Stable Infra
“
”
Facebook’s motto in 2014
Applying the Microservices Way
1. Establish the right boundaries everywhere
2. Build a system that makes change feel easy and safe
3. Implement the right processes and standards
4. Steer the system and measure it
5. Accept that right, easy and safe are a product of time
and context