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

Microservices meetupnz dec16

Jan 10, 2017

Download

Technology

Alex Wilson
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Microservices meetupnz dec16

Digital Economy and APIsAPI Strategy Best Practice

Alex Wilson. CISSPAPI Evangelist and Educator

New Zealand – December [email protected]

Page 2: Microservices meetupnz dec16

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/

Page 3: Microservices meetupnz dec16

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

Page 4: Microservices meetupnz dec16

4 © 2016 CA. ALL RIGHTS RESERVED.

So what’s the big deal?

http://history.apievangelist.com/

Page 5: Microservices meetupnz dec16

5 © 2016 CA. ALL RIGHTS RESERVED.

The Business Value of APIs

It’s not what they are, it’s what they enable

Page 6: Microservices meetupnz dec16

6 © 2016 CA. ALL RIGHTS RESERVED.

Common Questions

Is this Digital Transformation in action?

How can I leverage this?

How much can I do?

Page 7: Microservices meetupnz dec16

7 © 2016 CA. ALL RIGHTS RESERVED.

Alignment & Usefulness

Engagement & Usability

Scalability & Evolvability

Manageability & Security

API360: An Enterprise Model for API Success

Page 8: Microservices meetupnz dec16

8 © 2016 CA. ALL RIGHTS RESERVED.

Alignment & Usefulness

Engagement & Usability

Scalability & Evolvability

Manageability & Security

API360: An Enterprise Model for API Success

Page 9: Microservices meetupnz dec16

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

Page 10: Microservices meetupnz dec16

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

Page 11: Microservices meetupnz dec16

11 © 2016 CA. ALL RIGHTS RESERVED.

Successful Strategy

Strategy = Goals + Plan + Execution

Page 12: Microservices meetupnz dec16

12 © 2016 CA. ALL RIGHTS RESERVED.

http://www.amazon.com/The-Everything-Store-Bezos-Amazon-ebook/dp/B00BWQW73E

Alignment & Usefulness Case Study: Amazon

Page 13: Microservices meetupnz dec16

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

Page 14: Microservices meetupnz dec16

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?

Page 15: Microservices meetupnz dec16

15 © 2016 CA. ALL RIGHTS RESERVED.

Alignment & Usefulness

Engagement & Usability

Scalability & Evolvability

Manageability & Security

API360: An Enterprise Model for API Success

Page 16: Microservices meetupnz dec16

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

Page 17: Microservices meetupnz dec16

17 © 2016 CA. ALL RIGHTS RESERVED.

Engagement & Usability Case Study: Twilio

Page 18: Microservices meetupnz dec16

18 © 2016 CA. ALL RIGHTS RESERVED.

Engagement & Usability Case Study: Twilio

Page 19: Microservices meetupnz dec16

19 © 2016 CA. ALL RIGHTS RESERVED.

Engagement & Usability Case Study: Twilio

Competition in the communication API

marketplace

Page 20: Microservices meetupnz dec16

20 © 2016 CA. ALL RIGHTS RESERVED.

Engagement & Usability Case Study: Twilio

Keys to Success

• Aggressive Marketing

• First Mover Advantage

• Focus on usability

Page 21: Microservices meetupnz dec16

21 © 2016 CA. ALL RIGHTS RESERVED.

Engagement & Usability Case Study: Twilio

•Developer registrations

•TTHW (Time to “Hello World”)

•Developer community activity

API Usability Metrics:

Page 22: Microservices meetupnz dec16

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?

Page 23: Microservices meetupnz dec16

23 © 2016 CA. ALL RIGHTS RESERVED.

Alignment & Usefulness

Engagement & Usability

Scalability & Evolvability

Manageability & Security

API360: An Enterprise Model for API Success

Page 24: Microservices meetupnz dec16

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

Page 25: Microservices meetupnz dec16

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

Page 26: Microservices meetupnz dec16

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!

Page 27: Microservices meetupnz dec16

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?

Page 28: Microservices meetupnz dec16

28 © 2016 CA. ALL RIGHTS RESERVED.

Alignment & Usefulness

Engagement & Usability

Scalability & Evolvability

Manageability & Security

API360: An Enterprise Model for API Success

Page 29: Microservices meetupnz dec16

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

Page 30: Microservices meetupnz dec16

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?

Page 31: Microservices meetupnz dec16

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

Page 32: Microservices meetupnz dec16

32 © 2016 CA. ALL RIGHTS RESERVED.

Alignment & Usefulness

Engagement & Usability

Scalability & Evolvability

Manageability & Security

SummaryAPI360: An Enterprise Model for API Success

Page 33: Microservices meetupnz dec16

33 © 2016 CA. ALL RIGHTS RESERVED.

Page 34: Microservices meetupnz dec16

Microservices – What use are they?

Alex Wilson. CISSPAPI Evangelist and Educator

Page 35: Microservices meetupnz dec16

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

Page 36: Microservices meetupnz dec16

36 © 2015 CA. ALL RIGHTS RESERVED.

«unbundled by»

Remember AOL?

Page 37: Microservices meetupnz dec16

37 © 2015 CA. ALL RIGHTS RESERVED.

«unbundled by»

Page 38: Microservices meetupnz dec16

38 © 2015 CA. ALL RIGHTS RESERVED.

«unbundled by»

Page 39: Microservices meetupnz dec16

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

Page 40: Microservices meetupnz dec16

40 © 2015 CA. ALL RIGHTS RESERVED.

“Microservices unbundle

your business for internal and

[controlled] external

disruption”

Lesson

Page 41: Microservices meetupnz dec16

41 © 2015 CA. ALL RIGHTS RESERVED.

Once upon a time…

Page 42: Microservices meetupnz dec16

42 © 2015 CA. ALL RIGHTS RESERVED.

Page 43: Microservices meetupnz dec16

43 © 2015 CA. ALL RIGHTS RESERVED.

Page 44: Microservices meetupnz dec16

44 © 2015 CA. ALL RIGHTS RESERVED.

Page 45: Microservices meetupnz dec16

45 © 2015 CA. ALL RIGHTS RESERVED.

Software engineering today…

Page 46: Microservices meetupnz dec16

46 © 2015 CA. ALL RIGHTS RESERVED.

μ

Page 47: Microservices meetupnz dec16

47 © 2015 CA. ALL RIGHTS RESERVED.

Page 48: Microservices meetupnz dec16

48 © 2015 CA. ALL RIGHTS RESERVED.

Page 49: Microservices meetupnz dec16

What are

Microservices?

Page 50: Microservices meetupnz dec16

A microservice is an

independently deployable

component of bounded scope

that supports interoperability

through message based

communications.

Page 51: Microservices meetupnz dec16

Microservice Architecture is

a style of engineering highly-

automated, evolvable software

systems made up of

capability-aligned

microservices.

Page 52: Microservices meetupnz dec16

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

Page 53: Microservices meetupnz dec16

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

Page 54: Microservices meetupnz dec16

Microservice Complexity

• Microservices are simple

• Microservice systems are complex

Page 55: Microservices meetupnz dec16

A microservice is an independently

deployable component of bounded

scope that supports interoperability

through message based communications.

Page 56: Microservices meetupnz dec16
Page 57: Microservices meetupnz dec16

Microservice Architecture is a style

of engineering highly-automated,

evolvable software systems made up

of capability-aligned microservices.

Page 58: Microservices meetupnz dec16

Service

(micro)

Solution

(macro)

Organization Culture

Process

and

Tools

Page 59: Microservices meetupnz dec16

The Microservices Way

Speed and Safety at Scale

and in Harmony

Page 60: Microservices meetupnz dec16

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

Page 61: Microservices meetupnz dec16

Facebook’s Motto

Move Fast and Break

Things

Mark Zuckerberg

Page 62: Microservices meetupnz dec16

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

Page 63: Microservices meetupnz dec16

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

Page 64: Microservices meetupnz dec16

Facebook’s Motto (reprised)

Move Fast and Break

Things

Page 65: Microservices meetupnz dec16

Facebook’s Motto (reprised)

Move Fast and Break

Things

Move Fast with

Stable Infra

Facebook’s motto in 2014

Page 66: Microservices meetupnz dec16
Page 67: Microservices meetupnz dec16

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

Page 68: Microservices meetupnz dec16

Thank you!