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
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
g.mamund.com/GreatWebAPIs
copyright © 2020 by amundsen.com, inc. -- all rights reserved
The Big Picture
● Foundations
● Designing
● Building
● Releasing
● And Then...
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
What is API-First?
"API-first design means identifying
and/or defining key actors and
personas, determining what those
actors and personas expect to be able
to do with APIs"
-- Kas Thomas, 2009
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
Designing APIs
● 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
Designing APIs
● 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
Designing APIs
● 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
○ Making a 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
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, defaults
30
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Building APIs : DARRT : Data
● The state properties to pass in messages
○ properties, requireds, enums, defs
31
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Building APIs : DARRT : Actions
● The actual internal operations for the interface
○ approvePayroll, updateCustomer, setStatus
32
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Building APIs : DARRT : Resources
● The public HTTP resources to access the operations
33
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Building APIs : DARRT : Representations
● Produce the requested format for resource responses
34
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Building APIs : DARRT : Transitions
● The list of public actions as expressed in HTTP
35
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
● Principles for Updating APIs
● Designing Updates
● Testing Updates
● Releasing Updates
● Shutting down APIs
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Modifying APIs
● Principles for Updating APIs
○ First, do no harm
○ Fork your API
○ Know when to say "No"
● Designing Updates
● Testing Updates
● Releasing Updates
● Shutting down APIs
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Modifying APIs
● Principles for Updating APIs
● Designing Updates
○ Take nothing away
○ Don't redefine
○ Additions are optional
● Testing Updates
● Releasing Updates
● Shutting down APIs
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Modifying APIs
● Principles for Updating APIs
● Designing Updates
● Testing Updates
○ Use all existing tests
○ Add new tests for each release
● Releasing Updates
● Shutting down APIs
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Modifying APIs
● Principles for Updating APIs
● Designing Updates
● Testing Updates
● Releasing Updates
○ Reversibility/Re-entry First
○ Side-by-Side Releases
○ Overwriting Releases
● Shutting down APIs
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Modifying APIs
● Principles for Updating APIs
● Designing Updates
● Testing Updates
● Releasing Updates
● Shutting down APIs
○ Place Code in Public Domain
○ Open Source the Interface
○ Offer Recoverable Data
○ Mark the API 410 Gone (w/ a pointer)
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Modifying APIs
● Principles for Updating APIs
○ First, Do no harm
● Designing Updates
○ No breaking changes
● Testing Updates
○ Use all the old tests
● Releasing Updates
○ Favor Side-by-Side Releases
● Shutting down APIs
○ 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
And, don't forget ...
copyright © 2020 by amundsen.com, inc. -- all rights reserved
What is API-First?
"API-first design means identifying
and/or defining key actors and
personas, determining what those
actors and personas expect to be able
to do with APIs"
-- Kas Thomas, 2009
copyright © 2020 by amundsen.com, inc. -- all rights reserved
Design and Build
Great APIs
@mamund
Mike Amundsen
youtube.com/mamund
g.mamund.com/2020-07-apidays

More Related Content

What's hot

apidays LIVE Paris 2021 - Addressing OWASP API Security Top 10 by Isabelle Ma...
apidays LIVE Paris 2021 - Addressing OWASP API Security Top 10 by Isabelle Ma...apidays LIVE Paris 2021 - Addressing OWASP API Security Top 10 by Isabelle Ma...
apidays LIVE Paris 2021 - Addressing OWASP API Security Top 10 by Isabelle Ma...apidays
 
Lessons Learned from Revamping Our Doc Site
Lessons Learned from Revamping Our Doc SiteLessons Learned from Revamping Our Doc Site
Lessons Learned from Revamping Our Doc SitePronovix
 
I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop
I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop
I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop Apigee | Google Cloud
 
apidays LIVE Paris 2021 - APIGEE, different ways for integrating with CI/CD p...
apidays LIVE Paris 2021 - APIGEE, different ways for integrating with CI/CD p...apidays LIVE Paris 2021 - APIGEE, different ways for integrating with CI/CD p...
apidays LIVE Paris 2021 - APIGEE, different ways for integrating with CI/CD p...apidays
 
APIdays Paris 2019 - Microservices vs Miniservices vs Monoliths: Winner Takes...
APIdays Paris 2019 - Microservices vs Miniservices vs Monoliths: Winner Takes...APIdays Paris 2019 - Microservices vs Miniservices vs Monoliths: Winner Takes...
APIdays Paris 2019 - Microservices vs Miniservices vs Monoliths: Winner Takes...apidays
 
APIdays Paris 2019 - API Gateway & Identity Providers, a Match Made in Micros...
APIdays Paris 2019 - API Gateway & Identity Providers, a Match Made in Micros...APIdays Paris 2019 - API Gateway & Identity Providers, a Match Made in Micros...
APIdays Paris 2019 - API Gateway & Identity Providers, a Match Made in Micros...apidays
 
API Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsAPI Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsApigee | Google Cloud
 
apidays LIVE Paris - Potential of API integrations, common traps and advices ...
apidays LIVE Paris - Potential of API integrations, common traps and advices ...apidays LIVE Paris - Potential of API integrations, common traps and advices ...
apidays LIVE Paris - Potential of API integrations, common traps and advices ...apidays
 
I Love APIs 2015: End to End Testing: Bug Squashing for Developers
I Love APIs 2015: End to End Testing: Bug Squashing for DevelopersI Love APIs 2015: End to End Testing: Bug Squashing for Developers
I Love APIs 2015: End to End Testing: Bug Squashing for DevelopersApigee | Google Cloud
 
Mobile - Your API Security Blindspot by David Stewart, Approov
 Mobile - Your API Security Blindspot by David Stewart, Approov Mobile - Your API Security Blindspot by David Stewart, Approov
Mobile - Your API Security Blindspot by David Stewart, Approovapidays
 
apidays LIVE Paris 2021 - The Real World, API Security Edition by Michael Isb...
apidays LIVE Paris 2021 - The Real World, API Security Edition by Michael Isb...apidays LIVE Paris 2021 - The Real World, API Security Edition by Michael Isb...
apidays LIVE Paris 2021 - The Real World, API Security Edition by Michael Isb...apidays
 
I Love APIs 2015 : Zero to Thousands TPS Private Cloud Operations Workshop
I Love APIs 2015 : Zero to Thousands TPS Private Cloud Operations WorkshopI Love APIs 2015 : Zero to Thousands TPS Private Cloud Operations Workshop
I Love APIs 2015 : Zero to Thousands TPS Private Cloud Operations WorkshopApigee | Google Cloud
 
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge WorkshopI Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge WorkshopApigee | Google Cloud
 
API Management - Practical Enterprise Implementation Experience
API Management - Practical Enterprise Implementation ExperienceAPI Management - Practical Enterprise Implementation Experience
API Management - Practical Enterprise Implementation ExperienceCapgemini
 
A Self-Service API Portal for Developers
A Self-Service API Portal for DevelopersA Self-Service API Portal for Developers
A Self-Service API Portal for DevelopersCA Technologies
 

What's hot (20)

apidays LIVE Paris 2021 - Addressing OWASP API Security Top 10 by Isabelle Ma...
apidays LIVE Paris 2021 - Addressing OWASP API Security Top 10 by Isabelle Ma...apidays LIVE Paris 2021 - Addressing OWASP API Security Top 10 by Isabelle Ma...
apidays LIVE Paris 2021 - Addressing OWASP API Security Top 10 by Isabelle Ma...
 
A Checklist for Every API Call
A Checklist for Every API CallA Checklist for Every API Call
A Checklist for Every API Call
 
Lessons Learned from Revamping Our Doc Site
Lessons Learned from Revamping Our Doc SiteLessons Learned from Revamping Our Doc Site
Lessons Learned from Revamping Our Doc Site
 
Apigee Edge: Intro to Microgateway
Apigee Edge: Intro to MicrogatewayApigee Edge: Intro to Microgateway
Apigee Edge: Intro to Microgateway
 
I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop
I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop
I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop
 
Apigee Edge Overview and Roadmap
Apigee Edge Overview and RoadmapApigee Edge Overview and Roadmap
Apigee Edge Overview and Roadmap
 
apidays LIVE Paris 2021 - APIGEE, different ways for integrating with CI/CD p...
apidays LIVE Paris 2021 - APIGEE, different ways for integrating with CI/CD p...apidays LIVE Paris 2021 - APIGEE, different ways for integrating with CI/CD p...
apidays LIVE Paris 2021 - APIGEE, different ways for integrating with CI/CD p...
 
APIdays Paris 2019 - Microservices vs Miniservices vs Monoliths: Winner Takes...
APIdays Paris 2019 - Microservices vs Miniservices vs Monoliths: Winner Takes...APIdays Paris 2019 - Microservices vs Miniservices vs Monoliths: Winner Takes...
APIdays Paris 2019 - Microservices vs Miniservices vs Monoliths: Winner Takes...
 
APIdays Paris 2019 - API Gateway & Identity Providers, a Match Made in Micros...
APIdays Paris 2019 - API Gateway & Identity Providers, a Match Made in Micros...APIdays Paris 2019 - API Gateway & Identity Providers, a Match Made in Micros...
APIdays Paris 2019 - API Gateway & Identity Providers, a Match Made in Micros...
 
API Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsAPI Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIs
 
apidays LIVE Paris - Potential of API integrations, common traps and advices ...
apidays LIVE Paris - Potential of API integrations, common traps and advices ...apidays LIVE Paris - Potential of API integrations, common traps and advices ...
apidays LIVE Paris - Potential of API integrations, common traps and advices ...
 
I Love APIs 2015: End to End Testing: Bug Squashing for Developers
I Love APIs 2015: End to End Testing: Bug Squashing for DevelopersI Love APIs 2015: End to End Testing: Bug Squashing for Developers
I Love APIs 2015: End to End Testing: Bug Squashing for Developers
 
Is Microservices SOA Done Right?
Is Microservices SOA Done Right?Is Microservices SOA Done Right?
Is Microservices SOA Done Right?
 
Mobile - Your API Security Blindspot by David Stewart, Approov
 Mobile - Your API Security Blindspot by David Stewart, Approov Mobile - Your API Security Blindspot by David Stewart, Approov
Mobile - Your API Security Blindspot by David Stewart, Approov
 
Apigee Edge Product Demo
Apigee Edge Product DemoApigee Edge Product Demo
Apigee Edge Product Demo
 
apidays LIVE Paris 2021 - The Real World, API Security Edition by Michael Isb...
apidays LIVE Paris 2021 - The Real World, API Security Edition by Michael Isb...apidays LIVE Paris 2021 - The Real World, API Security Edition by Michael Isb...
apidays LIVE Paris 2021 - The Real World, API Security Edition by Michael Isb...
 
I Love APIs 2015 : Zero to Thousands TPS Private Cloud Operations Workshop
I Love APIs 2015 : Zero to Thousands TPS Private Cloud Operations WorkshopI Love APIs 2015 : Zero to Thousands TPS Private Cloud Operations Workshop
I Love APIs 2015 : Zero to Thousands TPS Private Cloud Operations Workshop
 
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge WorkshopI Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
 
API Management - Practical Enterprise Implementation Experience
API Management - Practical Enterprise Implementation ExperienceAPI Management - Practical Enterprise Implementation Experience
API Management - Practical Enterprise Implementation Experience
 
A Self-Service API Portal for Developers
A Self-Service API Portal for DevelopersA Self-Service API Portal for Developers
A Self-Service API Portal for Developers
 

Similar to apidays LIVE New York - Building Great Web APIs by Mike Amundsen

INTERFACE by apidays_Building Great Web APIs by Mike Amundsen
INTERFACE by apidays_Building Great Web APIs by Mike AmundsenINTERFACE by apidays_Building Great Web APIs by Mike Amundsen
INTERFACE by apidays_Building Great Web APIs by Mike Amundsenapidays
 
INTERFACE, by apidays - Design and Build Great Web APIs
INTERFACE, by apidays - Design and Build Great Web APIsINTERFACE, by apidays - Design and Build Great Web APIs
INTERFACE, by apidays - Design and Build Great Web APIsapidays
 
apidays LIVE JAKARTA - GraphQL, gRPC, REST, Oh My! by Mike Amundsen
apidays LIVE JAKARTA - GraphQL, gRPC, REST, Oh My! by Mike Amundsenapidays LIVE JAKARTA - GraphQL, gRPC, REST, Oh My! by Mike Amundsen
apidays LIVE JAKARTA - GraphQL, gRPC, REST, Oh My! by Mike Amundsenapidays
 
apidays LIVE Australia - Speeding up the Future of APIs: From Oil Pipelines t...
apidays LIVE Australia - Speeding up the Future of APIs: From Oil Pipelines t...apidays LIVE Australia - Speeding up the Future of APIs: From Oil Pipelines t...
apidays LIVE Australia - Speeding up the Future of APIs: From Oil Pipelines t...apidays
 
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 Reddit Scales to 1B+ Video Views a Month Using AWS (CTD320) - AWS re:Inve...
How Reddit Scales to 1B+ Video Views a Month Using AWS (CTD320) - AWS re:Inve...How Reddit Scales to 1B+ Video Views a Month Using AWS (CTD320) - AWS re:Inve...
How Reddit Scales to 1B+ Video Views a Month Using AWS (CTD320) - AWS re:Inve...Amazon Web Services
 
How Zalando integrates Kubernetes with AWS
How Zalando integrates Kubernetes with AWSHow Zalando integrates Kubernetes with AWS
How Zalando integrates Kubernetes with AWSUri Savelchev
 
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
 
Business Success with Core Web Vitals
Business Success with Core Web VitalsBusiness Success with Core Web Vitals
Business Success with Core Web VitalsIzzi Smith
 
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
 
Enterprise Kafka: Kafka as a Service
Enterprise Kafka: Kafka as a ServiceEnterprise Kafka: Kafka as a Service
Enterprise Kafka: Kafka as a ServiceTodd Palino
 
AWS DevDay Cologne - CI/CD for modern applications
AWS DevDay Cologne - CI/CD for modern applicationsAWS DevDay Cologne - CI/CD for modern applications
AWS DevDay Cologne - CI/CD for modern applicationsCobus Bernard
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architectureDaniel Foo
 
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
 
Empowering Your Users: Maximizing the Content Management Experience
Empowering Your Users: Maximizing the Content Management ExperienceEmpowering Your Users: Maximizing the Content Management Experience
Empowering Your Users: Maximizing the Content Management ExperienceJeffrey Rondeau
 
Implementing API-led Cloud-native apps on OCI
Implementing API-led Cloud-native apps on OCIImplementing API-led Cloud-native apps on OCI
Implementing API-led Cloud-native apps on OCISven Bernhardt
 
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
 
Implementing API-led Cloud-native apps on OCI
Implementing API-led Cloud-native apps on OCIImplementing API-led Cloud-native apps on OCI
Implementing API-led Cloud-native apps on OCISven Bernhardt
 
Websites go Serverless | AWS Floor28
Websites go Serverless | AWS Floor28Websites go Serverless | AWS Floor28
Websites go Serverless | AWS Floor28Amazon Web Services
 

Similar to apidays LIVE New York - Building Great Web APIs by Mike Amundsen (20)

INTERFACE by apidays_Building Great Web APIs by Mike Amundsen
INTERFACE by apidays_Building Great Web APIs by Mike AmundsenINTERFACE by apidays_Building Great Web APIs by Mike Amundsen
INTERFACE by apidays_Building Great Web APIs by Mike Amundsen
 
INTERFACE, by apidays - Design and Build Great Web APIs
INTERFACE, by apidays - Design and Build Great Web APIsINTERFACE, by apidays - Design and Build Great Web APIs
INTERFACE, by apidays - Design and Build Great Web APIs
 
apidays LIVE JAKARTA - GraphQL, gRPC, REST, Oh My! by Mike Amundsen
apidays LIVE JAKARTA - GraphQL, gRPC, REST, Oh My! by Mike Amundsenapidays LIVE JAKARTA - GraphQL, gRPC, REST, Oh My! by Mike Amundsen
apidays LIVE JAKARTA - GraphQL, gRPC, REST, Oh My! by Mike Amundsen
 
apidays LIVE Australia - Speeding up the Future of APIs: From Oil Pipelines t...
apidays LIVE Australia - Speeding up the Future of APIs: From Oil Pipelines t...apidays LIVE Australia - Speeding up the Future of APIs: From Oil Pipelines t...
apidays LIVE Australia - Speeding up the Future of APIs: From Oil Pipelines t...
 
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 Reddit Scales to 1B+ Video Views a Month Using AWS (CTD320) - AWS re:Inve...
How Reddit Scales to 1B+ Video Views a Month Using AWS (CTD320) - AWS re:Inve...How Reddit Scales to 1B+ Video Views a Month Using AWS (CTD320) - AWS re:Inve...
How Reddit Scales to 1B+ Video Views a Month Using AWS (CTD320) - AWS re:Inve...
 
Evolve18 | Carmen Sutter & Sarah Xu | Accelerate your Digital Experience with...
Evolve18 | Carmen Sutter & Sarah Xu | Accelerate your Digital Experience with...Evolve18 | Carmen Sutter & Sarah Xu | Accelerate your Digital Experience with...
Evolve18 | Carmen Sutter & Sarah Xu | Accelerate your Digital Experience with...
 
How Zalando integrates Kubernetes with AWS
How Zalando integrates Kubernetes with AWSHow Zalando integrates Kubernetes with AWS
How Zalando integrates Kubernetes with AWS
 
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
 
Business Success with Core Web Vitals
Business Success with Core Web VitalsBusiness Success with Core Web Vitals
Business Success with Core Web Vitals
 
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
 
Enterprise Kafka: Kafka as a Service
Enterprise Kafka: Kafka as a ServiceEnterprise Kafka: Kafka as a Service
Enterprise Kafka: Kafka as a Service
 
AWS DevDay Cologne - CI/CD for modern applications
AWS DevDay Cologne - CI/CD for modern applicationsAWS DevDay Cologne - CI/CD for modern applications
AWS DevDay Cologne - CI/CD for modern applications
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
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
 
Empowering Your Users: Maximizing the Content Management Experience
Empowering Your Users: Maximizing the Content Management ExperienceEmpowering Your Users: Maximizing the Content Management Experience
Empowering Your Users: Maximizing the Content Management Experience
 
Implementing API-led Cloud-native apps on OCI
Implementing API-led Cloud-native apps on OCIImplementing API-led Cloud-native apps on OCI
Implementing API-led Cloud-native apps on OCI
 
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
 
Implementing API-led Cloud-native apps on OCI
Implementing API-led Cloud-native apps on OCIImplementing API-led Cloud-native apps on OCI
Implementing API-led Cloud-native apps on OCI
 
Websites go Serverless | AWS Floor28
Websites go Serverless | AWS Floor28Websites go Serverless | AWS Floor28
Websites go Serverless | AWS Floor28
 

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

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
[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
 
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
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
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
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
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
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
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
 
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
 
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
 
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
 
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
 

Recently uploaded (20)

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
[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
 
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
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
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 ...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
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
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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
 
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
 
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
 
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...
 
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
 

apidays LIVE New York - Building Great Web APIs by Mike Amundsen

  • 1. copyright © 2020 by amundsen.com, inc. -- all rights reserved Design and Build Great APIs @mamund Mike Amundsen youtube.com/mamund
  • 2. copyright © 2020 by amundsen.com, inc. -- all rights reserved 2
  • 3. 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 g.mamund.com/GreatWebAPIs
  • 4. copyright © 2020 by amundsen.com, inc. -- all rights reserved The Big Picture ● Foundations ● Designing ● Building ● Releasing ● And Then...
  • 5. copyright © 2020 by amundsen.com, inc. -- all rights reserved Foundations
  • 6. copyright © 2020 by amundsen.com, inc. -- all rights reserved Foundations ● API First ● HTTP, Web, & REST
  • 7. copyright © 2020 by amundsen.com, inc. -- all rights reserved What is API-First? "API-first design means identifying and/or defining key actors and personas, determining what those actors and personas expect to be able to do with APIs" -- Kas Thomas, 2009
  • 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 Designing APIs ● 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 Designing APIs ● 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 Designing APIs ● 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 ○ Making a 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 27
  • 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 28
  • 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 29
  • 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 30
  • 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 31
  • 32. copyright © 2020 by amundsen.com, inc. -- all rights reserved Building APIs : DARRT : Actions ● The actual internal operations for the interface ○ approvePayroll, updateCustomer, setStatus 32
  • 33. copyright © 2020 by amundsen.com, inc. -- all rights reserved Building APIs : DARRT : Resources ● The public HTTP resources to access the operations 33
  • 34. copyright © 2020 by amundsen.com, inc. -- all rights reserved Building APIs : DARRT : Representations ● Produce the requested format for resource responses 34
  • 35. copyright © 2020 by amundsen.com, inc. -- all rights reserved Building APIs : DARRT : Transitions ● The list of public actions as expressed in HTTP 35
  • 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 ● Principles for Updating APIs ● Designing Updates ● Testing Updates ● Releasing Updates ● Shutting down APIs
  • 48. copyright © 2020 by amundsen.com, inc. -- all rights reserved Modifying APIs ● Principles for Updating APIs ○ First, do no harm ○ Fork your API ○ Know when to say "No" ● Designing Updates ● Testing Updates ● Releasing Updates ● Shutting down APIs
  • 49. copyright © 2020 by amundsen.com, inc. -- all rights reserved Modifying APIs ● Principles for Updating APIs ● Designing Updates ○ Take nothing away ○ Don't redefine ○ Additions are optional ● Testing Updates ● Releasing Updates ● Shutting down APIs
  • 50. copyright © 2020 by amundsen.com, inc. -- all rights reserved Modifying APIs ● Principles for Updating APIs ● Designing Updates ● Testing Updates ○ Use all existing tests ○ Add new tests for each release ● Releasing Updates ● Shutting down APIs
  • 51. copyright © 2020 by amundsen.com, inc. -- all rights reserved Modifying APIs ● Principles for Updating APIs ● Designing Updates ● Testing Updates ● Releasing Updates ○ Reversibility/Re-entry First ○ Side-by-Side Releases ○ Overwriting Releases ● Shutting down APIs
  • 52. copyright © 2020 by amundsen.com, inc. -- all rights reserved Modifying APIs ● Principles for Updating APIs ● Designing Updates ● Testing Updates ● Releasing Updates ● Shutting down APIs ○ Place Code in Public Domain ○ Open Source the Interface ○ Offer Recoverable Data ○ Mark the API 410 Gone (w/ a pointer)
  • 53. copyright © 2020 by amundsen.com, inc. -- all rights reserved Modifying APIs ● Principles for Updating APIs ○ First, Do no harm ● Designing Updates ○ No breaking changes ● Testing Updates ○ Use all the old tests ● Releasing Updates ○ Favor Side-by-Side Releases ● Shutting down APIs ○ 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 And, don't forget ...
  • 61. copyright © 2020 by amundsen.com, inc. -- all rights reserved What is API-First? "API-first design means identifying and/or defining key actors and personas, determining what those actors and personas expect to be able to do with APIs" -- Kas Thomas, 2009
  • 62. copyright © 2020 by amundsen.com, inc. -- all rights reserved Design and Build Great APIs @mamund Mike Amundsen youtube.com/mamund g.mamund.com/2020-07-apidays