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 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
 
Apidays Singapore 2024 - Harnessing Green IT by Jai Prakash and Timothée Dufr...
Apidays Singapore 2024 - Harnessing Green IT by Jai Prakash and Timothée Dufr...Apidays Singapore 2024 - Harnessing Green IT by Jai Prakash and Timothée Dufr...
Apidays Singapore 2024 - Harnessing Green IT by Jai Prakash and Timothée Dufr...apidays
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Apidays Singapore 2024 - Creating API First Engineering Team by Asim Suvedi, ...
Apidays Singapore 2024 - Creating API First Engineering Team by Asim Suvedi, ...Apidays Singapore 2024 - Creating API First Engineering Team by Asim Suvedi, ...
Apidays Singapore 2024 - Creating API First Engineering Team by Asim Suvedi, ...apidays
 
Apidays Singapore 2024 - Designing a Scalable MLOps Pipeline by Victoria Lo, ...
Apidays Singapore 2024 - Designing a Scalable MLOps Pipeline by Victoria Lo, ...Apidays Singapore 2024 - Designing a Scalable MLOps Pipeline by Victoria Lo, ...
Apidays Singapore 2024 - Designing a Scalable MLOps Pipeline by Victoria Lo, ...apidays
 
Apidays Singapore 2024 - The 5 Key Tenets of a Multiform API Management Strat...
Apidays Singapore 2024 - The 5 Key Tenets of a Multiform API Management Strat...Apidays Singapore 2024 - The 5 Key Tenets of a Multiform API Management Strat...
Apidays Singapore 2024 - The 5 Key Tenets of a Multiform API Management Strat...apidays
 
Apidays Singapore 2024 - APIs in the world of Generative AI by Claudio Tag, IBM
Apidays Singapore 2024 - APIs in the world of Generative AI by Claudio Tag, IBMApidays Singapore 2024 - APIs in the world of Generative AI by Claudio Tag, IBM
Apidays Singapore 2024 - APIs in the world of Generative AI by Claudio Tag, IBMapidays
 
Apidays Singapore 2024 - Banking: From Obsolete to Absolute by Indra Salim, a...
Apidays Singapore 2024 - Banking: From Obsolete to Absolute by Indra Salim, a...Apidays Singapore 2024 - Banking: From Obsolete to Absolute by Indra Salim, a...
Apidays Singapore 2024 - Banking: From Obsolete to Absolute by Indra Salim, a...apidays
 
Apidays Singapore 2024 - Application and Platform Optimization through Power ...
Apidays Singapore 2024 - Application and Platform Optimization through Power ...Apidays Singapore 2024 - Application and Platform Optimization through Power ...
Apidays Singapore 2024 - Application and Platform Optimization through Power ...apidays
 

More from apidays (20)

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...
 
Apidays Singapore 2024 - Harnessing Green IT by Jai Prakash and Timothée Dufr...
Apidays Singapore 2024 - Harnessing Green IT by Jai Prakash and Timothée Dufr...Apidays Singapore 2024 - Harnessing Green IT by Jai Prakash and Timothée Dufr...
Apidays Singapore 2024 - Harnessing Green IT by Jai Prakash and Timothée Dufr...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Apidays Singapore 2024 - Creating API First Engineering Team by Asim Suvedi, ...
Apidays Singapore 2024 - Creating API First Engineering Team by Asim Suvedi, ...Apidays Singapore 2024 - Creating API First Engineering Team by Asim Suvedi, ...
Apidays Singapore 2024 - Creating API First Engineering Team by Asim Suvedi, ...
 
Apidays Singapore 2024 - Designing a Scalable MLOps Pipeline by Victoria Lo, ...
Apidays Singapore 2024 - Designing a Scalable MLOps Pipeline by Victoria Lo, ...Apidays Singapore 2024 - Designing a Scalable MLOps Pipeline by Victoria Lo, ...
Apidays Singapore 2024 - Designing a Scalable MLOps Pipeline by Victoria Lo, ...
 
Apidays Singapore 2024 - The 5 Key Tenets of a Multiform API Management Strat...
Apidays Singapore 2024 - The 5 Key Tenets of a Multiform API Management Strat...Apidays Singapore 2024 - The 5 Key Tenets of a Multiform API Management Strat...
Apidays Singapore 2024 - The 5 Key Tenets of a Multiform API Management Strat...
 
Apidays Singapore 2024 - APIs in the world of Generative AI by Claudio Tag, IBM
Apidays Singapore 2024 - APIs in the world of Generative AI by Claudio Tag, IBMApidays Singapore 2024 - APIs in the world of Generative AI by Claudio Tag, IBM
Apidays Singapore 2024 - APIs in the world of Generative AI by Claudio Tag, IBM
 
Apidays Singapore 2024 - Banking: From Obsolete to Absolute by Indra Salim, a...
Apidays Singapore 2024 - Banking: From Obsolete to Absolute by Indra Salim, a...Apidays Singapore 2024 - Banking: From Obsolete to Absolute by Indra Salim, a...
Apidays Singapore 2024 - Banking: From Obsolete to Absolute by Indra Salim, a...
 
Apidays Singapore 2024 - Application and Platform Optimization through Power ...
Apidays Singapore 2024 - Application and Platform Optimization through Power ...Apidays Singapore 2024 - Application and Platform Optimization through Power ...
Apidays Singapore 2024 - Application and Platform Optimization through Power ...
 

Recently uploaded

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 

Recently uploaded (20)

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 

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