microservices meetupnz dec16

68
Digital Economy and APIs API Strategy Best Practice Alex Wilson. CISSP API Evangelist and Educator New Zealand – December 2016 [email protected]

Upload: alex-wilson

Post on 10-Jan-2017

127 views

Category:

Technology


1 download

TRANSCRIPT

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

11 © 2016 CA. ALL RIGHTS RESERVED.

Successful Strategy

Strategy = Goals + Plan + Execution

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

17 © 2016 CA. ALL RIGHTS RESERVED.

Engagement & Usability Case Study: Twilio

18 © 2016 CA. ALL RIGHTS RESERVED.

Engagement & Usability Case Study: Twilio

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

33 © 2016 CA. ALL RIGHTS RESERVED.

Microservices – What use are they?

Alex Wilson. CISSPAPI Evangelist and Educator

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.”

36 © 2015 CA. ALL RIGHTS RESERVED.

«unbundled by»

Remember AOL?

37 © 2015 CA. ALL RIGHTS RESERVED.

«unbundled by»

38 © 2015 CA. ALL RIGHTS RESERVED.

«unbundled by»

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

41 © 2015 CA. ALL RIGHTS RESERVED.

Once upon a time…

42 © 2015 CA. ALL RIGHTS RESERVED.

43 © 2015 CA. ALL RIGHTS RESERVED.

44 © 2015 CA. ALL RIGHTS RESERVED.

45 © 2015 CA. ALL RIGHTS RESERVED.

Software engineering today…

46 © 2015 CA. ALL RIGHTS RESERVED.

μ

47 © 2015 CA. ALL RIGHTS RESERVED.

48 © 2015 CA. ALL RIGHTS RESERVED.

What are

Microservices?

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

Microservice Complexity

• Microservices are simple

• Microservice systems are complex

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.

Service

(micro)

Solution

(macro)

Organization Culture

Process

and

Tools

The Microservices Way

Speed and Safety at Scale

and in Harmony

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

Facebook’s Motto

Move Fast and Break

Things

Mark Zuckerberg

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

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

Thank you!