SlideShare a Scribd company logo
1 of 62
Download to read offline
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Design and Build
Great APIs
@mamund
Mike Amundsen
youtube.com/mamund
2022 SERIES OF EVENTS
New York
JULY
(HYBRID)
Australia
SEPTEMBER
(HYBRID)
Singapore
APRIL
(VIRTUAL)
Helsinki & North
MARCH
(VIRTUAL)
Paris
DECEMBER
(HYBRID)
London
OCTOBER
(HYBRID)
Hong Kong
AUGUST
(VIRTUAL)
JUNE (VIRTUAL)
India
MAY
(VIRTUAL)
APRIL (VIRTUAL)
Dubai & Middle East
JUNE
(VIRTUAL)
Check out our API Conferences
www.a pida ys .globa l
Want to talk at one of our conferences?
apidays.typeform.com/to/ILJeAaV8
copyright © 2020 by amundsen.com, inc. -- all rights reserved
2
copyright © 2020 by amundsen.com, inc. -- all rights reserved
"From design to code to test to
deployment, unlock hidden business value
and release stable and scalable web APIs
that meet customer needs and solve
important business problems in a
consistent and reliable manner."
-- Pragmatic Publishers
b.mamund.com/GreatWebAPIs
copyright © 2020 by amundsen.com, inc. -- all rights reserved
The Big Picture
● Foundations
● Design
● Build
● Release
● Modify
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Foundations
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Foundations
● API First
● HTTP, Web, & REST
copyright © 2020 by amundsen.com, inc. -- all rights reserved
● API First
○ APIs Solve Business Problems
○ Designing APIs for People
○ Design First
● HTTP, Web, & REST
Foundations
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Foundations
● API First
● HTTP, Web, & REST
○ HTTP is a protocol
■ URLs, Methods, Messages
○ Web is a common practice
■ SoC, links & forms
○ REST is a style
■ properties, requirements, constraints
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Foundations
● API First
○ Solving business problems
for people
● HTTP, Web, & REST
○ Protocol, practice, style
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Designing APIs
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Designing APIs
● Model
● Design
● Describe
copyright © 2020 by amundsen.com, inc. -- all rights reserved
API Design
● Model
○ Norman's Lifecycle
○ There are no straight lines
○ The API Story
● Design
● Describe
copyright © 2020 by amundsen.com, inc. -- all rights reserved
copyright © 2020 by amundsen.com, inc. -- all rights reserved
API Design
● Model
● Design
○ Design Thinking
○ Jobs-to-be-Done
○ The API Diagram
● Describe
copyright © 2020 by amundsen.com, inc. -- all rights reserved
copyright © 2020 by amundsen.com, inc. -- all rights reserved
API Design
● Model
● Design
● Describe
○ Technology agnostic
○ Details on properties & actions
○ ALPS (2014)
○ https://github.com/mamund/2020-04-unified-api-design
copyright © 2020 by amundsen.com, inc. -- all rights reserved
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Designing APIs
● Model
○ API Story
● Design
○ API Diagram
● Describe
○ API Description
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Building APIs
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Building APIs
● Sketching
● Prototyping
● Building
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Building APIs
● Sketching
○ Frank Gehry (via Ronnie Mitra)
○ Experiment w/ possibilities
○ Apiary Blueprint (APIB)
○ Sketches are meant to be
thrown away
● Prototyping
● Building
copyright © 2020 by amundsen.com, inc. -- all rights reserved
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Building APIs
● Sketching
● Prototyping
○ Garment industry toile
○ Explore the details
○ OpenAPI (OAS)
○ Prototypes are made to
be tested
● Building
copyright © 2020 by amundsen.com, inc. -- all rights reserved
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Building APIs
● Sketching
● Prototyping
● Building
○ Repeatable process
○ Convert prototype/design
into code
○ DARRT
■ Data, Actions, Resources,
Representations, Transitions
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Building APIs : DARRT
A simple, repeatable process for publishing API interfaces
● Data
● Actions
● Resources
● Representations
● Transitions
26
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Building APIs : DARRT : Data
● The state properties to pass in messages
○ properties, requireds, enums, defaults
27
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Building APIs : DARRT : Data
● The state properties to pass in messages
○ properties, requireds, enums, defaults
28
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Building APIs : DARRT : Data
● The state properties to pass in messages
○ properties, requireds, enums, defaults
29
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Building APIs : DARRT : Data
● The state properties to pass in messages
○ properties, requireds, enums, defs
30
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Building APIs : DARRT : Actions
● The actual internal operations for the interface
○ approvePayroll, updateCustomer, setStatus
31
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Building APIs : DARRT : Resources
● The public HTTP resources to access the operations
32
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Building APIs : DARRT : Representations
● Produce the requested format for resource responses
33
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Building APIs : DARRT : Transitions
● The list of public actions as expressed in HTTP
34
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Building APIs
● Sketching
○ Experiment, throw away
○ APIB
● Prototyping
○ Explore, test
○ OpenAPI
● Building
○ Translate, repeat
○ NodeJS/DARRT
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Releasing APIs
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Releasing APIs
● Testing
● Security
● Deployment
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Releasing APIs
● Testing
○ Testing Interface, not Code
○ Happy-path (200) & sad-path (400)
○ Simple Request Tests (SRTs)
○ Postman/Newman for BDD
● Security
● Deployment
copyright © 2020 by amundsen.com, inc. -- all rights reserved
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Releasing APIs
● Testing
● Security
○ Encryption, Identity, Access Control
○ M2M Authorization w/ JWTs
○ Auth0 as provider
● Deployment
copyright © 2020 by amundsen.com, inc. -- all rights reserved
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Releasing APIs
● Testing
● Security
● Deployment
○ Integration, delivery, deployment
○ Automation improves safety
○ Heroku via git push
copyright © 2020 by amundsen.com, inc. -- all rights reserved
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Releasing APIs
● Testing
○ Test interface and behavior
○ Postman/Newman
● Security
○ APIs use client_credentials
w/ JWTs
○ Auth0 as a provider
● Deployment
○ Automate for safety
○ Heroku git push
copyright © 2020 by amundsen.com, inc. -- all rights reserved
And Then...
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Modifying APIs
● Update Principles
● Design Updates
● Test Updates
● Release Updates
● API Shutdown
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Modifying APIs
● Update Principles
○ First, do no harm
○ Fork your API
○ Know when to say "No"
● Design Updates
● Test Updates
● Release Updates
● API Shutdown
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Modifying APIs
● Update Principles
● Design Updates
○ Take nothing away
○ Don't redefine
○ Additions are optional
● Test Updates
● Release Updates
● API Shutdown
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Modifying APIs
● Update Principles
● Design Updates
● Test Updates
○ Use all existing tests
○ Add new tests for each release
● Release Updates
● API Shutdown
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Modifying APIs
● Update Principles
● Design Updates
● Test Updates
● Release Updates
○ Reversibility/Re-entry First
○ Side-by-Side Releases
○ Overwriting Releases
● API Shutdown
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Modifying APIs
● Update Principles
● Design Updates
● Test Updates
● Release Updates
● API Shutdown
○ Place Code in Public Domain
○ Open Source the Interface
○ Recoverable Data
○ Mark the API 410 Gone (w/ a pointer)
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Modifying APIs
● Update Principles
○ First, Do no harm
● Design Updates
○ No breaking changes
● Test Updates
○ Use all the old tests
● Release Updates
○ Favor Side-by-Side Releases
● API Shutdown
○ Responsible shutdowns
copyright © 2020 by amundsen.com, inc. -- all rights reserved
So....
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Foundations
● API First
○ Solving business problems
for people
● HTTP, Web, & REST
○ Protocol, practice, style
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Designing APIs
● Model
○ API Story
● Design
○ API Diagram
● Describe
○ API Description
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Building APIs
● Sketching
○ Explore, throw away
○ APIB
● Prototyping
○ Details, test
○ OpenAPI
● Building
○ Translate, repeat
○ NodeJS/DARRT
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Releasing APIs
● Testing
○ Test interface and behavior
○ Postman/Newman
● Security
○ APIs use client_credentials
w/ JWTs
○ Auth0 as a provider
● Deployment
○ Automate for safety
○ Heroku git push
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Modifying APIs
● Update Principles
○ First, Do no harm
● Design Updates
○ No breaking changes
● Test Updates
○ Use all the old tests
● Release Updates
○ Favor Side-by-Side Releases
● API Shutdown
○ Responsible shutdowns
copyright © 2020 by amundsen.com, inc. -- all rights reserved
One more thing …
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Design is how it works.
"Design is not just what it looks like
and feels like. Design is how it
works."
–Steve Jobs
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Design and Build
Great APIs
@mamund
Mike Amundsen
youtube.com/mamund

More Related Content

Similar to INTERFACE, by apidays - Design and Build Great Web APIs

apidays LIVE Paris - Avoid Building a Microservices Death Star by Przemek Kulik
apidays LIVE Paris - Avoid Building a Microservices Death Star by Przemek Kulikapidays LIVE Paris - Avoid Building a Microservices Death Star by Przemek Kulik
apidays LIVE Paris - Avoid Building a Microservices Death Star by Przemek Kulikapidays
 
Testing Your APIs: Postman, Newman, and Beyond
Testing Your APIs: Postman, Newman, and BeyondTesting Your APIs: Postman, Newman, and Beyond
Testing Your APIs: Postman, Newman, and BeyondPostman
 
How Zalando integrates Kubernetes with AWS
How Zalando integrates Kubernetes with AWSHow Zalando integrates Kubernetes with AWS
How Zalando integrates Kubernetes with AWSUri Savelchev
 
ETA Padtron Sdn.Bhd. - Enterprise Programming - Tools
ETA Padtron Sdn.Bhd. - Enterprise Programming - ToolsETA Padtron Sdn.Bhd. - Enterprise Programming - Tools
ETA Padtron Sdn.Bhd. - Enterprise Programming - ToolsYuvarani Loganathan
 
LOC presentation 2020: Future of openBIM standards
LOC presentation 2020: Future of openBIM standardsLOC presentation 2020: Future of openBIM standards
LOC presentation 2020: Future of openBIM standardsLéon Berlo
 
AWS Serverless per startup: come innovare senza preoccuparsi dei server
AWS Serverless per startup: come innovare senza preoccuparsi dei serverAWS Serverless per startup: come innovare senza preoccuparsi dei server
AWS Serverless per startup: come innovare senza preoccuparsi dei serverAmazon Web Services
 
Enterprise Kafka: Kafka as a Service
Enterprise Kafka: Kafka as a ServiceEnterprise Kafka: Kafka as a Service
Enterprise Kafka: Kafka as a ServiceTodd Palino
 
Power Up Your Productivity with ER/Studio 18.0
Power Up Your Productivity with ER/Studio 18.0Power Up Your Productivity with ER/Studio 18.0
Power Up Your Productivity with ER/Studio 18.0IDERA Software
 
Let’s Talk About the Ipro Platform
Let’s Talk About the Ipro PlatformLet’s Talk About the Ipro Platform
Let’s Talk About the Ipro PlatformIpro Tech
 
Anatomy of a Successful IoT Project, ft. Pentair (IOT202) - AWS re:Invent 2018
Anatomy of a Successful IoT Project, ft. Pentair (IOT202) - AWS re:Invent 2018Anatomy of a Successful IoT Project, ft. Pentair (IOT202) - AWS re:Invent 2018
Anatomy of a Successful IoT Project, ft. Pentair (IOT202) - AWS re:Invent 2018Amazon Web Services
 
Notebook-based AI Pipelines with Elyra and Kubeflow
Notebook-based AI Pipelines with Elyra and KubeflowNotebook-based AI Pipelines with Elyra and Kubeflow
Notebook-based AI Pipelines with Elyra and KubeflowNick Pentreath
 
Forge - DevCon 2016: Integrate & extend your construction ecosystem with BI...
  Forge - DevCon 2016: Integrate & extend your construction ecosystem with BI...  Forge - DevCon 2016: Integrate & extend your construction ecosystem with BI...
Forge - DevCon 2016: Integrate & extend your construction ecosystem with BI...Autodesk
 
FiSH 2017 (Fukuoka International Startup Hub)| SORACOM The secure, scalable, ...
FiSH 2017 (Fukuoka International Startup Hub)| SORACOM The secure, scalable, ...FiSH 2017 (Fukuoka International Startup Hub)| SORACOM The secure, scalable, ...
FiSH 2017 (Fukuoka International Startup Hub)| SORACOM The secure, scalable, ...SORACOM,INC
 
DevOps - Moving to DevOps the Amazon Way
DevOps - Moving to DevOps the Amazon WayDevOps - Moving to DevOps the Amazon Way
DevOps - Moving to DevOps the Amazon WayAmazon Web Services
 
Conjoinix-Intro-Feb-2013
Conjoinix-Intro-Feb-2013Conjoinix-Intro-Feb-2013
Conjoinix-Intro-Feb-2013Ranbir Singh
 
Building Microservices with the Twelve Factor App Pattern on AWS
Building Microservices with the Twelve Factor App Pattern on AWSBuilding Microservices with the Twelve Factor App Pattern on AWS
Building Microservices with the Twelve Factor App Pattern on AWSAmazon Web Services
 
Websites go Serverless | AWS Floor28
Websites go Serverless | AWS Floor28Websites go Serverless | AWS Floor28
Websites go Serverless | AWS Floor28Amazon Web Services
 
Websites go Serverless - Floor28
Websites go Serverless - Floor28Websites go Serverless - Floor28
Websites go Serverless - Floor28Boaz Ziniman
 
API-first design - Basis for an consistent API-Management approach
API-first design - Basis for an consistent API-Management approachAPI-first design - Basis for an consistent API-Management approach
API-first design - Basis for an consistent API-Management approachSven Bernhardt
 
Lightning Talk: From Sinatra to Grape.pdf
Lightning Talk: From Sinatra to Grape.pdfLightning Talk: From Sinatra to Grape.pdf
Lightning Talk: From Sinatra to Grape.pdfRenato675806
 

Similar to INTERFACE, by apidays - Design and Build Great Web APIs (20)

apidays LIVE Paris - Avoid Building a Microservices Death Star by Przemek Kulik
apidays LIVE Paris - Avoid Building a Microservices Death Star by Przemek Kulikapidays LIVE Paris - Avoid Building a Microservices Death Star by Przemek Kulik
apidays LIVE Paris - Avoid Building a Microservices Death Star by Przemek Kulik
 
Testing Your APIs: Postman, Newman, and Beyond
Testing Your APIs: Postman, Newman, and BeyondTesting Your APIs: Postman, Newman, and Beyond
Testing Your APIs: Postman, Newman, and Beyond
 
How Zalando integrates Kubernetes with AWS
How Zalando integrates Kubernetes with AWSHow Zalando integrates Kubernetes with AWS
How Zalando integrates Kubernetes with AWS
 
ETA Padtron Sdn.Bhd. - Enterprise Programming - Tools
ETA Padtron Sdn.Bhd. - Enterprise Programming - ToolsETA Padtron Sdn.Bhd. - Enterprise Programming - Tools
ETA Padtron Sdn.Bhd. - Enterprise Programming - Tools
 
LOC presentation 2020: Future of openBIM standards
LOC presentation 2020: Future of openBIM standardsLOC presentation 2020: Future of openBIM standards
LOC presentation 2020: Future of openBIM standards
 
AWS Serverless per startup: come innovare senza preoccuparsi dei server
AWS Serverless per startup: come innovare senza preoccuparsi dei serverAWS Serverless per startup: come innovare senza preoccuparsi dei server
AWS Serverless per startup: come innovare senza preoccuparsi dei server
 
Enterprise Kafka: Kafka as a Service
Enterprise Kafka: Kafka as a ServiceEnterprise Kafka: Kafka as a Service
Enterprise Kafka: Kafka as a Service
 
Power Up Your Productivity with ER/Studio 18.0
Power Up Your Productivity with ER/Studio 18.0Power Up Your Productivity with ER/Studio 18.0
Power Up Your Productivity with ER/Studio 18.0
 
Let’s Talk About the Ipro Platform
Let’s Talk About the Ipro PlatformLet’s Talk About the Ipro Platform
Let’s Talk About the Ipro Platform
 
Anatomy of a Successful IoT Project, ft. Pentair (IOT202) - AWS re:Invent 2018
Anatomy of a Successful IoT Project, ft. Pentair (IOT202) - AWS re:Invent 2018Anatomy of a Successful IoT Project, ft. Pentair (IOT202) - AWS re:Invent 2018
Anatomy of a Successful IoT Project, ft. Pentair (IOT202) - AWS re:Invent 2018
 
Notebook-based AI Pipelines with Elyra and Kubeflow
Notebook-based AI Pipelines with Elyra and KubeflowNotebook-based AI Pipelines with Elyra and Kubeflow
Notebook-based AI Pipelines with Elyra and Kubeflow
 
Forge - DevCon 2016: Integrate & extend your construction ecosystem with BI...
  Forge - DevCon 2016: Integrate & extend your construction ecosystem with BI...  Forge - DevCon 2016: Integrate & extend your construction ecosystem with BI...
Forge - DevCon 2016: Integrate & extend your construction ecosystem with BI...
 
FiSH 2017 (Fukuoka International Startup Hub)| SORACOM The secure, scalable, ...
FiSH 2017 (Fukuoka International Startup Hub)| SORACOM The secure, scalable, ...FiSH 2017 (Fukuoka International Startup Hub)| SORACOM The secure, scalable, ...
FiSH 2017 (Fukuoka International Startup Hub)| SORACOM The secure, scalable, ...
 
DevOps - Moving to DevOps the Amazon Way
DevOps - Moving to DevOps the Amazon WayDevOps - Moving to DevOps the Amazon Way
DevOps - Moving to DevOps the Amazon Way
 
Conjoinix-Intro-Feb-2013
Conjoinix-Intro-Feb-2013Conjoinix-Intro-Feb-2013
Conjoinix-Intro-Feb-2013
 
Building Microservices with the Twelve Factor App Pattern on AWS
Building Microservices with the Twelve Factor App Pattern on AWSBuilding Microservices with the Twelve Factor App Pattern on AWS
Building Microservices with the Twelve Factor App Pattern on AWS
 
Websites go Serverless | AWS Floor28
Websites go Serverless | AWS Floor28Websites go Serverless | AWS Floor28
Websites go Serverless | AWS Floor28
 
Websites go Serverless - Floor28
Websites go Serverless - Floor28Websites go Serverless - Floor28
Websites go Serverless - Floor28
 
API-first design - Basis for an consistent API-Management approach
API-first design - Basis for an consistent API-Management approachAPI-first design - Basis for an consistent API-Management approach
API-first design - Basis for an consistent API-Management approach
 
Lightning Talk: From Sinatra to Grape.pdf
Lightning Talk: From Sinatra to Grape.pdfLightning Talk: From Sinatra to Grape.pdf
Lightning Talk: From Sinatra to Grape.pdf
 

More from apidays

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Apidays New York 2024 - The secrets to Graph success, by Leah Hurwich Adler, ...
Apidays New York 2024 - The secrets to Graph success, by Leah Hurwich Adler, ...Apidays New York 2024 - The secrets to Graph success, by Leah Hurwich Adler, ...
Apidays New York 2024 - The secrets to Graph success, by Leah Hurwich Adler, ...apidays
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Apidays New York 2024 - API Discovery - From Crawl to Run by Rob Dickinson, G...
Apidays New York 2024 - API Discovery - From Crawl to Run by Rob Dickinson, G...Apidays New York 2024 - API Discovery - From Crawl to Run by Rob Dickinson, G...
Apidays New York 2024 - API Discovery - From Crawl to Run by Rob Dickinson, G...apidays
 
Apidays Singapore 2024 - Building with the Planet in Mind by Sandeep Joshi, M...
Apidays Singapore 2024 - Building with the Planet in Mind by Sandeep Joshi, M...Apidays Singapore 2024 - Building with the Planet in Mind by Sandeep Joshi, M...
Apidays Singapore 2024 - Building with the Planet in Mind by Sandeep Joshi, M...apidays
 
Apidays Singapore 2024 - Connecting Cross Border Commerce with Payments by Gu...
Apidays Singapore 2024 - Connecting Cross Border Commerce with Payments by Gu...Apidays Singapore 2024 - Connecting Cross Border Commerce with Payments by Gu...
Apidays Singapore 2024 - Connecting Cross Border Commerce with Payments by Gu...apidays
 
Apidays Singapore 2024 - Privacy Enhancing Technologies for AI by Mark Choo, ...
Apidays Singapore 2024 - Privacy Enhancing Technologies for AI by Mark Choo, ...Apidays Singapore 2024 - Privacy Enhancing Technologies for AI by Mark Choo, ...
Apidays Singapore 2024 - Privacy Enhancing Technologies for AI by Mark Choo, ...apidays
 
Apidays Singapore 2024 - Blending AI and IoT for Smarter Health by Matthew Ch...
Apidays Singapore 2024 - Blending AI and IoT for Smarter Health by Matthew Ch...Apidays Singapore 2024 - Blending AI and IoT for Smarter Health by Matthew Ch...
Apidays Singapore 2024 - Blending AI and IoT for Smarter Health by Matthew Ch...apidays
 
Apidays Singapore 2024 - OpenTelemetry for API Monitoring by Danielle Kayumbi...
Apidays Singapore 2024 - OpenTelemetry for API Monitoring by Danielle Kayumbi...Apidays Singapore 2024 - OpenTelemetry for API Monitoring by Danielle Kayumbi...
Apidays Singapore 2024 - OpenTelemetry for API Monitoring by Danielle Kayumbi...apidays
 
Apidays Singapore 2024 - Connecting Product and Engineering Teams with Testin...
Apidays Singapore 2024 - Connecting Product and Engineering Teams with Testin...Apidays Singapore 2024 - Connecting Product and Engineering Teams with Testin...
Apidays Singapore 2024 - Connecting Product and Engineering Teams with Testin...apidays
 
Apidays Singapore 2024 - The Growing Carbon Footprint of Digitalization and H...
Apidays Singapore 2024 - The Growing Carbon Footprint of Digitalization and H...Apidays Singapore 2024 - The Growing Carbon Footprint of Digitalization and H...
Apidays Singapore 2024 - The Growing Carbon Footprint of Digitalization and H...apidays
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Apidays Singapore 2024 - API Monitoring x SRE by Ryan Ashneil and Eugene Wong...
Apidays Singapore 2024 - API Monitoring x SRE by Ryan Ashneil and Eugene Wong...Apidays Singapore 2024 - API Monitoring x SRE by Ryan Ashneil and Eugene Wong...
Apidays Singapore 2024 - API Monitoring x SRE by Ryan Ashneil and Eugene Wong...apidays
 
Apidays Singapore 2024 - A nuanced approach on AI costs and benefits for the ...
Apidays Singapore 2024 - A nuanced approach on AI costs and benefits for the ...Apidays Singapore 2024 - A nuanced approach on AI costs and benefits for the ...
Apidays Singapore 2024 - A nuanced approach on AI costs and benefits for the ...apidays
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
Apidays Singapore 2024 - How APIs drive business at BNP Paribas by Quy-Doan D...
Apidays Singapore 2024 - How APIs drive business at BNP Paribas by Quy-Doan D...Apidays Singapore 2024 - How APIs drive business at BNP Paribas by Quy-Doan D...
Apidays Singapore 2024 - How APIs drive business at BNP Paribas by Quy-Doan D...apidays
 

More from apidays (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - The secrets to Graph success, by Leah Hurwich Adler, ...
Apidays New York 2024 - The secrets to Graph success, by Leah Hurwich Adler, ...Apidays New York 2024 - The secrets to Graph success, by Leah Hurwich Adler, ...
Apidays New York 2024 - The secrets to Graph success, by Leah Hurwich Adler, ...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - API Discovery - From Crawl to Run by Rob Dickinson, G...
Apidays New York 2024 - API Discovery - From Crawl to Run by Rob Dickinson, G...Apidays New York 2024 - API Discovery - From Crawl to Run by Rob Dickinson, G...
Apidays New York 2024 - API Discovery - From Crawl to Run by Rob Dickinson, G...
 
Apidays Singapore 2024 - Building with the Planet in Mind by Sandeep Joshi, M...
Apidays Singapore 2024 - Building with the Planet in Mind by Sandeep Joshi, M...Apidays Singapore 2024 - Building with the Planet in Mind by Sandeep Joshi, M...
Apidays Singapore 2024 - Building with the Planet in Mind by Sandeep Joshi, M...
 
Apidays Singapore 2024 - Connecting Cross Border Commerce with Payments by Gu...
Apidays Singapore 2024 - Connecting Cross Border Commerce with Payments by Gu...Apidays Singapore 2024 - Connecting Cross Border Commerce with Payments by Gu...
Apidays Singapore 2024 - Connecting Cross Border Commerce with Payments by Gu...
 
Apidays Singapore 2024 - Privacy Enhancing Technologies for AI by Mark Choo, ...
Apidays Singapore 2024 - Privacy Enhancing Technologies for AI by Mark Choo, ...Apidays Singapore 2024 - Privacy Enhancing Technologies for AI by Mark Choo, ...
Apidays Singapore 2024 - Privacy Enhancing Technologies for AI by Mark Choo, ...
 
Apidays Singapore 2024 - Blending AI and IoT for Smarter Health by Matthew Ch...
Apidays Singapore 2024 - Blending AI and IoT for Smarter Health by Matthew Ch...Apidays Singapore 2024 - Blending AI and IoT for Smarter Health by Matthew Ch...
Apidays Singapore 2024 - Blending AI and IoT for Smarter Health by Matthew Ch...
 
Apidays Singapore 2024 - OpenTelemetry for API Monitoring by Danielle Kayumbi...
Apidays Singapore 2024 - OpenTelemetry for API Monitoring by Danielle Kayumbi...Apidays Singapore 2024 - OpenTelemetry for API Monitoring by Danielle Kayumbi...
Apidays Singapore 2024 - OpenTelemetry for API Monitoring by Danielle Kayumbi...
 
Apidays Singapore 2024 - Connecting Product and Engineering Teams with Testin...
Apidays Singapore 2024 - Connecting Product and Engineering Teams with Testin...Apidays Singapore 2024 - Connecting Product and Engineering Teams with Testin...
Apidays Singapore 2024 - Connecting Product and Engineering Teams with Testin...
 
Apidays Singapore 2024 - The Growing Carbon Footprint of Digitalization and H...
Apidays Singapore 2024 - The Growing Carbon Footprint of Digitalization and H...Apidays Singapore 2024 - The Growing Carbon Footprint of Digitalization and H...
Apidays Singapore 2024 - The Growing Carbon Footprint of Digitalization and H...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays Singapore 2024 - API Monitoring x SRE by Ryan Ashneil and Eugene Wong...
Apidays Singapore 2024 - API Monitoring x SRE by Ryan Ashneil and Eugene Wong...Apidays Singapore 2024 - API Monitoring x SRE by Ryan Ashneil and Eugene Wong...
Apidays Singapore 2024 - API Monitoring x SRE by Ryan Ashneil and Eugene Wong...
 
Apidays Singapore 2024 - A nuanced approach on AI costs and benefits for the ...
Apidays Singapore 2024 - A nuanced approach on AI costs and benefits for the ...Apidays Singapore 2024 - A nuanced approach on AI costs and benefits for the ...
Apidays Singapore 2024 - A nuanced approach on AI costs and benefits for the ...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Apidays Singapore 2024 - How APIs drive business at BNP Paribas by Quy-Doan D...
Apidays Singapore 2024 - How APIs drive business at BNP Paribas by Quy-Doan D...Apidays Singapore 2024 - How APIs drive business at BNP Paribas by Quy-Doan D...
Apidays Singapore 2024 - How APIs drive business at BNP Paribas by Quy-Doan D...
 

Recently uploaded

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 

Recently uploaded (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 

INTERFACE, by apidays - Design and Build Great Web APIs

  • 1. copyright © 2020 by amundsen.com, inc. -- all rights reserved Design and Build Great APIs @mamund Mike Amundsen youtube.com/mamund
  • 2. 2022 SERIES OF EVENTS New York JULY (HYBRID) Australia SEPTEMBER (HYBRID) Singapore APRIL (VIRTUAL) Helsinki & North MARCH (VIRTUAL) Paris DECEMBER (HYBRID) London OCTOBER (HYBRID) Hong Kong AUGUST (VIRTUAL) JUNE (VIRTUAL) India MAY (VIRTUAL) APRIL (VIRTUAL) Dubai & Middle East JUNE (VIRTUAL) Check out our API Conferences www.a pida ys .globa l Want to talk at one of our conferences? apidays.typeform.com/to/ILJeAaV8
  • 3. copyright © 2020 by amundsen.com, inc. -- all rights reserved 2
  • 4. copyright © 2020 by amundsen.com, inc. -- all rights reserved "From design to code to test to deployment, unlock hidden business value and release stable and scalable web APIs that meet customer needs and solve important business problems in a consistent and reliable manner." -- Pragmatic Publishers b.mamund.com/GreatWebAPIs
  • 5. copyright © 2020 by amundsen.com, inc. -- all rights reserved The Big Picture ● Foundations ● Design ● Build ● Release ● Modify
  • 6. copyright © 2020 by amundsen.com, inc. -- all rights reserved Foundations
  • 7. copyright © 2020 by amundsen.com, inc. -- all rights reserved Foundations ● API First ● HTTP, Web, & REST
  • 8. copyright © 2020 by amundsen.com, inc. -- all rights reserved ● API First ○ APIs Solve Business Problems ○ Designing APIs for People ○ Design First ● HTTP, Web, & REST Foundations
  • 9. copyright © 2020 by amundsen.com, inc. -- all rights reserved Foundations ● API First ● HTTP, Web, & REST ○ HTTP is a protocol ■ URLs, Methods, Messages ○ Web is a common practice ■ SoC, links & forms ○ REST is a style ■ properties, requirements, constraints
  • 10. copyright © 2020 by amundsen.com, inc. -- all rights reserved Foundations ● API First ○ Solving business problems for people ● HTTP, Web, & REST ○ Protocol, practice, style
  • 11. copyright © 2020 by amundsen.com, inc. -- all rights reserved Designing APIs
  • 12. copyright © 2020 by amundsen.com, inc. -- all rights reserved Designing APIs ● Model ● Design ● Describe
  • 13. copyright © 2020 by amundsen.com, inc. -- all rights reserved API Design ● Model ○ Norman's Lifecycle ○ There are no straight lines ○ The API Story ● Design ● Describe
  • 14. copyright © 2020 by amundsen.com, inc. -- all rights reserved
  • 15. copyright © 2020 by amundsen.com, inc. -- all rights reserved API Design ● Model ● Design ○ Design Thinking ○ Jobs-to-be-Done ○ The API Diagram ● Describe
  • 16. copyright © 2020 by amundsen.com, inc. -- all rights reserved
  • 17. copyright © 2020 by amundsen.com, inc. -- all rights reserved API Design ● Model ● Design ● Describe ○ Technology agnostic ○ Details on properties & actions ○ ALPS (2014) ○ https://github.com/mamund/2020-04-unified-api-design
  • 18. copyright © 2020 by amundsen.com, inc. -- all rights reserved
  • 19. copyright © 2020 by amundsen.com, inc. -- all rights reserved Designing APIs ● Model ○ API Story ● Design ○ API Diagram ● Describe ○ API Description
  • 20. copyright © 2020 by amundsen.com, inc. -- all rights reserved Building APIs
  • 21. copyright © 2020 by amundsen.com, inc. -- all rights reserved Building APIs ● Sketching ● Prototyping ● Building
  • 22. copyright © 2020 by amundsen.com, inc. -- all rights reserved Building APIs ● Sketching ○ Frank Gehry (via Ronnie Mitra) ○ Experiment w/ possibilities ○ Apiary Blueprint (APIB) ○ Sketches are meant to be thrown away ● Prototyping ● Building
  • 23. copyright © 2020 by amundsen.com, inc. -- all rights reserved
  • 24. copyright © 2020 by amundsen.com, inc. -- all rights reserved Building APIs ● Sketching ● Prototyping ○ Garment industry toile ○ Explore the details ○ OpenAPI (OAS) ○ Prototypes are made to be tested ● Building
  • 25. copyright © 2020 by amundsen.com, inc. -- all rights reserved
  • 26. copyright © 2020 by amundsen.com, inc. -- all rights reserved Building APIs ● Sketching ● Prototyping ● Building ○ Repeatable process ○ Convert prototype/design into code ○ DARRT ■ Data, Actions, Resources, Representations, Transitions
  • 27. copyright © 2020 by amundsen.com, inc. -- all rights reserved Building APIs : DARRT A simple, repeatable process for publishing API interfaces ● Data ● Actions ● Resources ● Representations ● Transitions 26
  • 28. copyright © 2020 by amundsen.com, inc. -- all rights reserved Building APIs : DARRT : Data ● The state properties to pass in messages ○ properties, requireds, enums, defaults 27
  • 29. copyright © 2020 by amundsen.com, inc. -- all rights reserved Building APIs : DARRT : Data ● The state properties to pass in messages ○ properties, requireds, enums, defaults 28
  • 30. copyright © 2020 by amundsen.com, inc. -- all rights reserved Building APIs : DARRT : Data ● The state properties to pass in messages ○ properties, requireds, enums, defaults 29
  • 31. copyright © 2020 by amundsen.com, inc. -- all rights reserved Building APIs : DARRT : Data ● The state properties to pass in messages ○ properties, requireds, enums, defs 30
  • 32. copyright © 2020 by amundsen.com, inc. -- all rights reserved Building APIs : DARRT : Actions ● The actual internal operations for the interface ○ approvePayroll, updateCustomer, setStatus 31
  • 33. copyright © 2020 by amundsen.com, inc. -- all rights reserved Building APIs : DARRT : Resources ● The public HTTP resources to access the operations 32
  • 34. copyright © 2020 by amundsen.com, inc. -- all rights reserved Building APIs : DARRT : Representations ● Produce the requested format for resource responses 33
  • 35. copyright © 2020 by amundsen.com, inc. -- all rights reserved Building APIs : DARRT : Transitions ● The list of public actions as expressed in HTTP 34
  • 36. copyright © 2020 by amundsen.com, inc. -- all rights reserved Building APIs ● Sketching ○ Experiment, throw away ○ APIB ● Prototyping ○ Explore, test ○ OpenAPI ● Building ○ Translate, repeat ○ NodeJS/DARRT
  • 37. copyright © 2020 by amundsen.com, inc. -- all rights reserved Releasing APIs
  • 38. copyright © 2020 by amundsen.com, inc. -- all rights reserved Releasing APIs ● Testing ● Security ● Deployment
  • 39. copyright © 2020 by amundsen.com, inc. -- all rights reserved Releasing APIs ● Testing ○ Testing Interface, not Code ○ Happy-path (200) & sad-path (400) ○ Simple Request Tests (SRTs) ○ Postman/Newman for BDD ● Security ● Deployment
  • 40. copyright © 2020 by amundsen.com, inc. -- all rights reserved
  • 41. copyright © 2020 by amundsen.com, inc. -- all rights reserved Releasing APIs ● Testing ● Security ○ Encryption, Identity, Access Control ○ M2M Authorization w/ JWTs ○ Auth0 as provider ● Deployment
  • 42. copyright © 2020 by amundsen.com, inc. -- all rights reserved
  • 43. copyright © 2020 by amundsen.com, inc. -- all rights reserved Releasing APIs ● Testing ● Security ● Deployment ○ Integration, delivery, deployment ○ Automation improves safety ○ Heroku via git push
  • 44. copyright © 2020 by amundsen.com, inc. -- all rights reserved
  • 45. copyright © 2020 by amundsen.com, inc. -- all rights reserved Releasing APIs ● Testing ○ Test interface and behavior ○ Postman/Newman ● Security ○ APIs use client_credentials w/ JWTs ○ Auth0 as a provider ● Deployment ○ Automate for safety ○ Heroku git push
  • 46. copyright © 2020 by amundsen.com, inc. -- all rights reserved And Then...
  • 47. copyright © 2020 by amundsen.com, inc. -- all rights reserved Modifying APIs ● Update Principles ● Design Updates ● Test Updates ● Release Updates ● API Shutdown
  • 48. copyright © 2020 by amundsen.com, inc. -- all rights reserved Modifying APIs ● Update Principles ○ First, do no harm ○ Fork your API ○ Know when to say "No" ● Design Updates ● Test Updates ● Release Updates ● API Shutdown
  • 49. copyright © 2020 by amundsen.com, inc. -- all rights reserved Modifying APIs ● Update Principles ● Design Updates ○ Take nothing away ○ Don't redefine ○ Additions are optional ● Test Updates ● Release Updates ● API Shutdown
  • 50. copyright © 2020 by amundsen.com, inc. -- all rights reserved Modifying APIs ● Update Principles ● Design Updates ● Test Updates ○ Use all existing tests ○ Add new tests for each release ● Release Updates ● API Shutdown
  • 51. copyright © 2020 by amundsen.com, inc. -- all rights reserved Modifying APIs ● Update Principles ● Design Updates ● Test Updates ● Release Updates ○ Reversibility/Re-entry First ○ Side-by-Side Releases ○ Overwriting Releases ● API Shutdown
  • 52. copyright © 2020 by amundsen.com, inc. -- all rights reserved Modifying APIs ● Update Principles ● Design Updates ● Test Updates ● Release Updates ● API Shutdown ○ Place Code in Public Domain ○ Open Source the Interface ○ Recoverable Data ○ Mark the API 410 Gone (w/ a pointer)
  • 53. copyright © 2020 by amundsen.com, inc. -- all rights reserved Modifying APIs ● Update Principles ○ First, Do no harm ● Design Updates ○ No breaking changes ● Test Updates ○ Use all the old tests ● Release Updates ○ Favor Side-by-Side Releases ● API Shutdown ○ Responsible shutdowns
  • 54. copyright © 2020 by amundsen.com, inc. -- all rights reserved So....
  • 55. copyright © 2020 by amundsen.com, inc. -- all rights reserved Foundations ● API First ○ Solving business problems for people ● HTTP, Web, & REST ○ Protocol, practice, style
  • 56. copyright © 2020 by amundsen.com, inc. -- all rights reserved Designing APIs ● Model ○ API Story ● Design ○ API Diagram ● Describe ○ API Description
  • 57. copyright © 2020 by amundsen.com, inc. -- all rights reserved Building APIs ● Sketching ○ Explore, throw away ○ APIB ● Prototyping ○ Details, test ○ OpenAPI ● Building ○ Translate, repeat ○ NodeJS/DARRT
  • 58. copyright © 2020 by amundsen.com, inc. -- all rights reserved Releasing APIs ● Testing ○ Test interface and behavior ○ Postman/Newman ● Security ○ APIs use client_credentials w/ JWTs ○ Auth0 as a provider ● Deployment ○ Automate for safety ○ Heroku git push
  • 59. copyright © 2020 by amundsen.com, inc. -- all rights reserved Modifying APIs ● Update Principles ○ First, Do no harm ● Design Updates ○ No breaking changes ● Test Updates ○ Use all the old tests ● Release Updates ○ Favor Side-by-Side Releases ● API Shutdown ○ Responsible shutdowns
  • 60. copyright © 2020 by amundsen.com, inc. -- all rights reserved One more thing …
  • 61. copyright © 2020 by amundsen.com, inc. -- all rights reserved Design is how it works. "Design is not just what it looks like and feels like. Design is how it works." –Steve Jobs
  • 62. copyright © 2020 by amundsen.com, inc. -- all rights reserved Design and Build Great APIs @mamund Mike Amundsen youtube.com/mamund