Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead...

69
Driving Digital Transformation at Speed Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels

Transcript of Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead...

Page 1: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Driving Digital Transformation at SpeedMicroservices, APIs, and Innovation

Mike AmundsenLead API ArchitectAPI Academy, CA Technologies@mamund #mcaTravels

Page 2: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Agenda

INTRODUCTION

MICROSERVICES

APIs

INNOVATION

ONE MORE THING...

1

2

3

4

5

Page 3: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful
Page 4: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful
Page 5: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

http://g.mamund.com/msabook

Page 6: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful
Page 7: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Microservices

Page 8: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Microservices === Toolmaking

Page 9: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Tool-making

1. Make each program to one thing well2. Expect the output of every program to be the input of

another program3. Design and build software to be tried early4. Use tools to lighten the programming task

Page 10: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Tool-making -- Unix operating principles (1978)

1. Make each program to one thing well2. Expect the output of every program to be the input of

another program3. Design and build software to be tried early4. Use tools to lighten the programming task

Page 11: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Microservices is all about tool-making

Page 12: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

A useful definition of microservices...

Page 13: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

A useful definition of microservices...

Page 14: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

A useful definition of microservices...

Loosely-coupled componentsrunning in a

Resilient, engineered system

Page 15: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Harmonizing Speed and Safety at Scale

Page 16: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Harmonizing Speed and Safety at Scale

Page 17: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Harmonizing Speed and Safety at Scale

Page 18: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Three things you can do now...

1. Build Pipelines2. Engineered Deployments3. Reduce Work in Progress (WIP)

Page 19: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Three things you can do now...BUILD PIPELINES

Page 20: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Three things you can do now...ENGINEERED DEPLOYMENTS

Page 21: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Three things you can do now...REDUCE WORK IN PROGRESS

Page 22: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Three things you can do now...REDUCE WORK IN PROGRESS

Page 23: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Three things you can do now...REDUCE WORK IN PROGRESS

Page 24: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Three things you can do now...REDUCE WORK IN PROGRESS

Page 25: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Three things you can do now...REDUCE WORK IN PROGRESS

Page 26: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Ask yourself...

"How long would it take your organization to deploy a change that involved just one line of code? Do you do this on a repeatable, reliable basis?"

-- Tom and Mary Poppendieck, "Implementing Lean Software Development'

Page 27: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful
Page 28: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

APIs

Page 29: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

APIs === Multi-Channel

Page 30: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Interface Design

Page 31: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Interface Design

Page 32: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Interface Design

1. Design interfaces for the consumer (machine/human)

2. There is no single (“canonical”) API

3. Make your API design/implementation process…1. Safe2. Cheap3. Easy

Page 33: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Ask yourself…

How long would it take your organization to release a new API?

Do you do this on a repeatable, reliable basis?

Page 34: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Design APIs for interop, not integration

Page 35: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Three things you can do now…

1. Move beyond HTTP

2. Adopt machine-friendly formats

3. Support domain vocabularies

Page 36: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Three things you can do now…

1. HTTP

2. FTP

3. WebSockets

4. MQTT/CoAP

MOVE BEYOND HTTP

Plan to support multiple protocols

Page 37: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Three things you can do now…

1. Atom

2. HAL

3. Siren

4. Collection+JSON

MACHINE-FRIENDLY FORMATS

Plan to support multiple formats

Page 38: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Three things you can do now…

1. ALPS

2. DCAP

3. JSON Home

4. RDFS/OWL

DOMAIN VOCABULARIES

Plan to support multiple vocabularies

Page 39: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful
Page 40: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Innovation

Page 41: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Innovation === Adapting

Page 42: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

What does innovation look like?

Page 43: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful
Page 44: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful
Page 45: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful
Page 46: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Harvard Business Review

“Your Innovation Team Shouldn’t Run Like a Well-Oiled Machine”

-- Ashkenas and Speigel, October 2015

Page 47: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Culture beats strategy

Page 48: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Culture beats engineering

Page 49: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Culture beats code

Page 50: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful
Page 51: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Three things you can do now…

1. Right-size your teams

2. Recognize Conway’s Law

3. Enable unplanned innovation

Page 52: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Dunbar’s Number

5 15 35 150 500 1500

Three things you can do now…RIGHT-SIZING TEAMS

Page 53: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Aim for a team size of Dunbar Level 1 (5),

possibly Dunbar Level 2 (15)

Three things you can do now…RIGHT-SIZING TEAMS

Page 54: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Three things you can do now

“A system’s design is a copy of the organization’s communication structure.”

-- Mel Conway, 1967

CONWAY’S LAW

Page 55: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

If you have to hold a releaseuntil another team is ready,

you are not an independent team.

Three things you can do now…CONWAY’S LAW

Page 56: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Three things you can do now…UNPLANNED INNOVATION

Page 57: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

“If you want to achieve greatness,stop asking for permission.”

Three things you can do now…UNPLANNED INNOVATION

Page 58: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Ask yourself…

How long would it take your organization to launch a new product?

Do you do this on a repeatable, reliable basis?

Page 59: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

One More Thing...

Page 60: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful
Page 61: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Antione de Saint-Exupery (1900-1944)

“If you want to build a ship, don’t drum up people together to collect wood and don’t assign them tasks and work, but rather teach them to long for the endless immensity of the sea.”

Page 62: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

So…

Page 63: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Harmonizing Speed and Safety at Scale

Follow the Microservice Way

Page 64: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Leverage the power of API design

Page 65: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Recognize the value of unplanned innovation

Page 66: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful
Page 67: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Ask yourself…

Page 68: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Ask yourself…How long would it take?

Page 69: Microservices, APIs, and Innovation€¦ · Microservices, APIs, and Innovation Mike Amundsen Lead API Architect API Academy, CA Technologies @mamund #mcaTravels. Agenda ... A useful

Driving Digital Transformation at SpeedMicroservices, APIs, and Innovation

Mike AmundsenLead API ArchitectAPI Academy, CA Technologies@mamund #mcaTravels