SlideShare une entreprise Scribd logo
1  sur  77
API-FirstArchitecture
TransformationatEtsy
StefanieSchirmer
@linse
InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• News 15-20 / week
• Articles 3-4 / week
• Presentations (videos) 12-15 / week
• Interviews 2-3 / week
• Books 1 / month
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
etsy-api
Presented at QCon New York
www.qconnewyork.com
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
Firstproblem
#Consumers
publicweb:PHP&JavaScript
administrativeapps
infrastructure
mobileapps
…emergingtrendinca.2013:
APIfirst
development
Secondproblem
Performance
timetodevice
non-concurrentPHP
Shapingour
mentalmodel
keepitREST(asinv2)
services
declarationofendpointsincode
inputvalidation
Ideaswekept
decoupleendpointsfromframework
auto-generateroutes,clients:PHP,JS
meta-endpointsthatconsumeourAPI
Newideas
meta-endpointsthatconsumeourAPI
decoupleendpointsfromframework
auto-generateroutes,clients:PHP,JS
Newideas
cURL
Howwebuiltit
EtsyAPIPerspectives
https://www.etsy.com/api/v3/ajax/public/teams
/member/
/shop/
/admin/
/infrastructure/
/application/
EtsyAPIServices
Ajax
Atlas
Internal
EtsyApps
OpenAPI
DataFeeds
…
Examplerequest
shopupdates
favorites
picksforyou
favoriteshops
friendsactivity
shopexplore
fromblog
shopupdates
favorites
picksforyou
favoriteshops
friendsactivity
shopexplore
fromblog
favorites
favoriteshops
friendsactivity
fromblog featuredshop
storycard
storycard
listingcard
listingcard
shopcard
shopcard
listingcard
…
shopupdates
favorites
picksforyou
favoriteshops
friendsactivity
shopexplore
fromblog
favorites
favoriteshops
friendsactivity
fromblog featuredshop
storycard
storycard
listingcard
listingcard
shopcard
shopcard
listingcard
…Web API
Threetiers
bespokehomepage
favorites
favoriteshops
friendsactivity
fromblog featuredshop
storycard
storycard
listingcard
listingcard
shopcard
shopcard
listingcard
…
bespokehomepage
favorites
favoriteshops
friendsactivity
fromblog featuredshop
storycard
storycard
listingcard
listingcard
shopcard
shopcard
listingcard
…
bespoke
bespokehomepage
favorites
favoriteshops
friendsactivity
fromblog featuredshop
storycard
storycard
listingcard
listingcard
shopcard
shopcard
listingcard
…
bespoke concurrent
bespokehomepage
favorites
favoriteshops
friendsactivity
fromblog featuredshop
storycard
storycard
listingcard
listingcard
shopcard
shopcard
listingcard
…
bespoke concurrent component
bespokehomepage
favorites
favoriteshops
friendsactivity
fromblog featuredshop
storycard
storycard
listingcard
listingcard
shopcard
shopcard
listingcard
…
bespoke concurrent component
Językdziedzinowy
DSLofEtsyendpoints
domänenspezifischeSprachevon
Endpunkten langagedédié
‫دامنه‬‫به‬‫مختص‬‫زبان‬
route()	
desc()	
resultType()	
handle($client,	$input,	$response)
required
declareInput($input)	
includedServices()	
cacheTtlSeconds()
optional
Validationofinput
Outputtypes
Tooling:
Routecompiler&
Auto-clientgeneration
https://www.etsy.com/listing/192043815/1880s-vintage-toolbox-full-of-tools
Operations:
Architectureimplications
PHP:
shortlived
singlethreaded
sharednothing
painpointofsharednothing:
bootstrap
Problem:
PHPtimetorequest
Experiment:
HHVM
HHVM
Average Response Time
12 Hour
PHP5/Zend
Average Response Time
12 Hour
Balancingload
Problem:
oncluster
Wherewouldn’t
thiswork?
Operations:
Tooling
Tooling:
CrossStitch
https://www.etsy.com/listing/192043815/1880s-vintage-toolbox-full-of-tools
<someserver>
Tooling:
Fanout-Manager
https://www.etsy.com/listing/192043815/1880s-vintage-toolbox-full-of-tools
Tooling:
datafindr
https://www.etsy.com/listing/192043815/1880s-vintage-toolbox-full-of-tools
Tooling:(wanted)
Identifyunusedendpoints
Tooling:(wanted)
Identifyunusedendpoints
https://www.etsy.com/listing/192043815/1880s-vintage-toolbox-full-of-tools
Developeradoption
Howdidwe“sell”it?
..toofasttokeepup!
Whitespace
getsfilledwithcode
Documentation!!
https://www.etsy.com/listing/275337876/eclectic-elements-documentation-half
Pocketsofpatterns
sbirksted: wants contract between
set of items an endpoint will return,
set of items that the app knows how to format. jdonato: code organization: compiler in same
space as endpoints ಠ_ಠ
stan: we can compose endpoints, but for composable views we
still have to repeat things.
Can we lift composability into the view?
cconstable: can we mock a typed resource?
Can we automatically traverse it?
kgessner: unsample API type errors and make
them more prominent to enforce guarantees.
Trust+Guidance
Workin
progress
3rdparty?
Versioning?
ACI?
Caching?
Edge?
Conclusion
Whatdidwelearn?
Whatdidwelearn?
Didwesucceed?
“Wedesperatelyneedtofigureoutaschemefor
allowingconcurrencyorelsewe'regoingtohave
performanceproblemsforever.”
-AndrewMorrison(Etsy)
“Wedesperatelyneedtofigureoutaschemefor
allowingconcurrencyorelsewe'regoingtohave
performanceproblemsforever.”
-AndrewMorrison(Etsy)✓
Wherewearenow:
Responsibility
divisionbetween
deviceand server
Thankyou<3
I’mStefanieSchirmer
@linse
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
etsy-api

Contenu connexe

Tendances

Spring boot
Spring bootSpring boot
Spring bootsdeeg
 
Kafka and Storm - event processing in realtime
Kafka and Storm - event processing in realtimeKafka and Storm - event processing in realtime
Kafka and Storm - event processing in realtimeGuido Schmutz
 
How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...
How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...
How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...Simplilearn
 
Intégration et livraison continues des bonnes pratiques de conception d'appli...
Intégration et livraison continues des bonnes pratiques de conception d'appli...Intégration et livraison continues des bonnes pratiques de conception d'appli...
Intégration et livraison continues des bonnes pratiques de conception d'appli...Amazon Web Services
 
A Basic Django Introduction
A Basic Django IntroductionA Basic Django Introduction
A Basic Django IntroductionGanga Ram
 
Observability for modern applications
Observability for modern applications  Observability for modern applications
Observability for modern applications MoovingON
 
Building RESTful applications using Spring MVC
Building RESTful applications using Spring MVCBuilding RESTful applications using Spring MVC
Building RESTful applications using Spring MVCIndicThreads
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+OpsShalu Ahuja
 
Microservices with Spring Boot Tutorial | Edureka
Microservices with Spring Boot Tutorial | EdurekaMicroservices with Spring Boot Tutorial | Edureka
Microservices with Spring Boot Tutorial | EdurekaEdureka!
 
REST Easy with Django-Rest-Framework
REST Easy with Django-Rest-FrameworkREST Easy with Django-Rest-Framework
REST Easy with Django-Rest-FrameworkMarcel Chastain
 
Python Virtual Environment.pptx
Python Virtual Environment.pptxPython Virtual Environment.pptx
Python Virtual Environment.pptxAbdullah al Mamun
 
Webinar - ServiceNow and SolarWinds: Improving IT Operations Together
Webinar - ServiceNow and SolarWinds:  Improving IT Operations TogetherWebinar - ServiceNow and SolarWinds:  Improving IT Operations Together
Webinar - ServiceNow and SolarWinds: Improving IT Operations TogetherSolarWinds
 
DevOps - Overview - One of the Top Trends in IT Industry
DevOps - Overview - One of the Top Trends in IT IndustryDevOps - Overview - One of the Top Trends in IT Industry
DevOps - Overview - One of the Top Trends in IT IndustryRahul Tilloo
 
Process Mining: Konzept und Anwendung
Process Mining: Konzept und AnwendungProcess Mining: Konzept und Anwendung
Process Mining: Konzept und AnwendungMichael Groeschel
 
OSGi, Scripting and REST, Building Webapps With Apache Sling
OSGi, Scripting and REST, Building Webapps With Apache SlingOSGi, Scripting and REST, Building Webapps With Apache Sling
OSGi, Scripting and REST, Building Webapps With Apache SlingCarsten Ziegeler
 
Edureka-DevOps-Ebook.pdf
Edureka-DevOps-Ebook.pdfEdureka-DevOps-Ebook.pdf
Edureka-DevOps-Ebook.pdfrelekarsushant
 
Java 8 Stream API. A different way to process collections.
Java 8 Stream API. A different way to process collections.Java 8 Stream API. A different way to process collections.
Java 8 Stream API. A different way to process collections.David Gómez García
 
Python Interview Questions And Answers 2019 | Edureka
Python Interview Questions And Answers 2019 | EdurekaPython Interview Questions And Answers 2019 | Edureka
Python Interview Questions And Answers 2019 | EdurekaEdureka!
 
DevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the AutomationDevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the AutomationKeith Pleas
 

Tendances (20)

Spring boot
Spring bootSpring boot
Spring boot
 
Kafka and Storm - event processing in realtime
Kafka and Storm - event processing in realtimeKafka and Storm - event processing in realtime
Kafka and Storm - event processing in realtime
 
How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...
How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...
How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...
 
Intégration et livraison continues des bonnes pratiques de conception d'appli...
Intégration et livraison continues des bonnes pratiques de conception d'appli...Intégration et livraison continues des bonnes pratiques de conception d'appli...
Intégration et livraison continues des bonnes pratiques de conception d'appli...
 
A Basic Django Introduction
A Basic Django IntroductionA Basic Django Introduction
A Basic Django Introduction
 
Observability for modern applications
Observability for modern applications  Observability for modern applications
Observability for modern applications
 
Building RESTful applications using Spring MVC
Building RESTful applications using Spring MVCBuilding RESTful applications using Spring MVC
Building RESTful applications using Spring MVC
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
 
Microservices with Spring Boot Tutorial | Edureka
Microservices with Spring Boot Tutorial | EdurekaMicroservices with Spring Boot Tutorial | Edureka
Microservices with Spring Boot Tutorial | Edureka
 
REST Easy with Django-Rest-Framework
REST Easy with Django-Rest-FrameworkREST Easy with Django-Rest-Framework
REST Easy with Django-Rest-Framework
 
Python Virtual Environment.pptx
Python Virtual Environment.pptxPython Virtual Environment.pptx
Python Virtual Environment.pptx
 
Webinar - ServiceNow and SolarWinds: Improving IT Operations Together
Webinar - ServiceNow and SolarWinds:  Improving IT Operations TogetherWebinar - ServiceNow and SolarWinds:  Improving IT Operations Together
Webinar - ServiceNow and SolarWinds: Improving IT Operations Together
 
DevOps - Overview - One of the Top Trends in IT Industry
DevOps - Overview - One of the Top Trends in IT IndustryDevOps - Overview - One of the Top Trends in IT Industry
DevOps - Overview - One of the Top Trends in IT Industry
 
Process Mining: Konzept und Anwendung
Process Mining: Konzept und AnwendungProcess Mining: Konzept und Anwendung
Process Mining: Konzept und Anwendung
 
OSGi, Scripting and REST, Building Webapps With Apache Sling
OSGi, Scripting and REST, Building Webapps With Apache SlingOSGi, Scripting and REST, Building Webapps With Apache Sling
OSGi, Scripting and REST, Building Webapps With Apache Sling
 
Edureka-DevOps-Ebook.pdf
Edureka-DevOps-Ebook.pdfEdureka-DevOps-Ebook.pdf
Edureka-DevOps-Ebook.pdf
 
Java 8 Stream API. A different way to process collections.
Java 8 Stream API. A different way to process collections.Java 8 Stream API. A different way to process collections.
Java 8 Stream API. A different way to process collections.
 
Python Interview Questions And Answers 2019 | Edureka
Python Interview Questions And Answers 2019 | EdurekaPython Interview Questions And Answers 2019 | Edureka
Python Interview Questions And Answers 2019 | Edureka
 
Maven tutorial
Maven tutorialMaven tutorial
Maven tutorial
 
DevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the AutomationDevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the Automation
 

En vedette

WSO2Con ASIA 2016: Building Web Apps Using Web-Oriented Architecture
WSO2Con ASIA 2016: Building Web Apps Using Web-Oriented ArchitectureWSO2Con ASIA 2016: Building Web Apps Using Web-Oriented Architecture
WSO2Con ASIA 2016: Building Web Apps Using Web-Oriented ArchitectureWSO2
 
WSO2Con EU 2015: Towards a Winning API Strategy
WSO2Con EU 2015: Towards a Winning API StrategyWSO2Con EU 2015: Towards a Winning API Strategy
WSO2Con EU 2015: Towards a Winning API StrategyWSO2
 
APIs and Beyond
APIs and BeyondAPIs and Beyond
APIs and BeyondWSO2
 
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...C4Media
 
Wso2 con 2014 event driven architecture Publish/Subscribe Pubsub
Wso2 con 2014 event driven architecture Publish/Subscribe PubsubWso2 con 2014 event driven architecture Publish/Subscribe Pubsub
Wso2 con 2014 event driven architecture Publish/Subscribe PubsubJohn Mathon
 
From a Monolithic to a Distributed API Architecture
 at Eventbrite - Presente...
From a Monolithic to a Distributed API Architecture
 at Eventbrite - Presente...From a Monolithic to a Distributed API Architecture
 at Eventbrite - Presente...
From a Monolithic to a Distributed API Architecture
 at Eventbrite - Presente...Renaud Visage
 
The Architecture of an API Platform
The Architecture of an API PlatformThe Architecture of an API Platform
The Architecture of an API PlatformJohannes Ridderstedt
 
Сторінками стародавньої Греції
Сторінками стародавньої ГреціїСторінками стародавньої Греції
Сторінками стародавньої ГреціїIrinaKusch
 
Internet y las Tecnlogías de la Información
Internet y las Tecnlogías de la InformaciónInternet y las Tecnlogías de la Información
Internet y las Tecnlogías de la InformaciónWANDIANN CONSULTORES SAC
 
Grafico diario del dax perfomance index para el 12 06-2013
Grafico diario del dax perfomance index para el 12 06-2013Grafico diario del dax perfomance index para el 12 06-2013
Grafico diario del dax perfomance index para el 12 06-2013Experiencia Trading
 
Enterprise search in 2013 (update)
Enterprise search in 2013 (update)Enterprise search in 2013 (update)
Enterprise search in 2013 (update)Alex Manchester
 
Bibliometrics presentation, Window on Research June 2010
Bibliometrics presentation, Window on Research June 2010Bibliometrics presentation, Window on Research June 2010
Bibliometrics presentation, Window on Research June 2010Jenny Delasalle
 
Использование Google Analytics в интернет магазин
Использование Google Analytics в интернет магазинИспользование Google Analytics в интернет магазин
Использование Google Analytics в интернет магазинRezonans
 
Health Insurance Brochure-The Universal Insurance Company Ltd.
Health Insurance Brochure-The Universal Insurance Company Ltd.Health Insurance Brochure-The Universal Insurance Company Ltd.
Health Insurance Brochure-The Universal Insurance Company Ltd.Muhammad Sameer
 
MUSIC-RESUME-TAMARI-WITKIN.PDF
MUSIC-RESUME-TAMARI-WITKIN.PDFMUSIC-RESUME-TAMARI-WITKIN.PDF
MUSIC-RESUME-TAMARI-WITKIN.PDFTamari Witkin
 
The £100 million gamble that paid off
The £100 million gamble that paid offThe £100 million gamble that paid off
The £100 million gamble that paid offNewsworks
 
User-Centered Research on the Paying for College Website and Tools - EDUI 2014
User-Centered Research on the Paying for College Website and Tools - EDUI 2014User-Centered Research on the Paying for College Website and Tools - EDUI 2014
User-Centered Research on the Paying for College Website and Tools - EDUI 2014Jennifer Romano Bergstrom
 

En vedette (18)

WSO2Con ASIA 2016: Building Web Apps Using Web-Oriented Architecture
WSO2Con ASIA 2016: Building Web Apps Using Web-Oriented ArchitectureWSO2Con ASIA 2016: Building Web Apps Using Web-Oriented Architecture
WSO2Con ASIA 2016: Building Web Apps Using Web-Oriented Architecture
 
WSO2Con EU 2015: Towards a Winning API Strategy
WSO2Con EU 2015: Towards a Winning API StrategyWSO2Con EU 2015: Towards a Winning API Strategy
WSO2Con EU 2015: Towards a Winning API Strategy
 
APIs and Beyond
APIs and BeyondAPIs and Beyond
APIs and Beyond
 
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
 
Wso2 con 2014 event driven architecture Publish/Subscribe Pubsub
Wso2 con 2014 event driven architecture Publish/Subscribe PubsubWso2 con 2014 event driven architecture Publish/Subscribe Pubsub
Wso2 con 2014 event driven architecture Publish/Subscribe Pubsub
 
From a Monolithic to a Distributed API Architecture
 at Eventbrite - Presente...
From a Monolithic to a Distributed API Architecture
 at Eventbrite - Presente...From a Monolithic to a Distributed API Architecture
 at Eventbrite - Presente...
From a Monolithic to a Distributed API Architecture
 at Eventbrite - Presente...
 
The Architecture of an API Platform
The Architecture of an API PlatformThe Architecture of an API Platform
The Architecture of an API Platform
 
Сторінками стародавньої Греції
Сторінками стародавньої ГреціїСторінками стародавньої Греції
Сторінками стародавньої Греції
 
Internet y las Tecnlogías de la Información
Internet y las Tecnlogías de la InformaciónInternet y las Tecnlogías de la Información
Internet y las Tecnlogías de la Información
 
Grafico diario del dax perfomance index para el 12 06-2013
Grafico diario del dax perfomance index para el 12 06-2013Grafico diario del dax perfomance index para el 12 06-2013
Grafico diario del dax perfomance index para el 12 06-2013
 
Enterprise search in 2013 (update)
Enterprise search in 2013 (update)Enterprise search in 2013 (update)
Enterprise search in 2013 (update)
 
Bibliometrics presentation, Window on Research June 2010
Bibliometrics presentation, Window on Research June 2010Bibliometrics presentation, Window on Research June 2010
Bibliometrics presentation, Window on Research June 2010
 
Homeless Shelter Webinar 2010
Homeless Shelter Webinar 2010Homeless Shelter Webinar 2010
Homeless Shelter Webinar 2010
 
Использование Google Analytics в интернет магазин
Использование Google Analytics в интернет магазинИспользование Google Analytics в интернет магазин
Использование Google Analytics в интернет магазин
 
Health Insurance Brochure-The Universal Insurance Company Ltd.
Health Insurance Brochure-The Universal Insurance Company Ltd.Health Insurance Brochure-The Universal Insurance Company Ltd.
Health Insurance Brochure-The Universal Insurance Company Ltd.
 
MUSIC-RESUME-TAMARI-WITKIN.PDF
MUSIC-RESUME-TAMARI-WITKIN.PDFMUSIC-RESUME-TAMARI-WITKIN.PDF
MUSIC-RESUME-TAMARI-WITKIN.PDF
 
The £100 million gamble that paid off
The £100 million gamble that paid offThe £100 million gamble that paid off
The £100 million gamble that paid off
 
User-Centered Research on the Paying for College Website and Tools - EDUI 2014
User-Centered Research on the Paying for College Website and Tools - EDUI 2014User-Centered Research on the Paying for College Website and Tools - EDUI 2014
User-Centered Research on the Paying for College Website and Tools - EDUI 2014
 

Similaire à API-First Architecture Transformation at Etsy

Clients Matter, Services Don't
Clients Matter, Services Don'tClients Matter, Services Don't
Clients Matter, Services Don'tC4Media
 
The Code that Isn't There
The Code that Isn't ThereThe Code that Isn't There
The Code that Isn't ThereC4Media
 
Microsoft Cloud's Front Door: Building a Global API
Microsoft Cloud's Front Door: Building a Global APIMicrosoft Cloud's Front Door: Building a Global API
Microsoft Cloud's Front Door: Building a Global APIC4Media
 
Deployed in 60 Minutes: Increasing Production Deployments from Six Months to ...
Deployed in 60 Minutes: Increasing Production Deployments from Six Months to ...Deployed in 60 Minutes: Increasing Production Deployments from Six Months to ...
Deployed in 60 Minutes: Increasing Production Deployments from Six Months to ...C4Media
 
What Does Speed Mean in Software Product Delivery?
What Does Speed Mean in Software Product Delivery?What Does Speed Mean in Software Product Delivery?
What Does Speed Mean in Software Product Delivery?C4Media
 
Not Sold Yet, GraphQL: A Humble Tale from Skeptic to Enthusiast
Not Sold Yet, GraphQL: A Humble Tale from Skeptic to EnthusiastNot Sold Yet, GraphQL: A Humble Tale from Skeptic to Enthusiast
Not Sold Yet, GraphQL: A Humble Tale from Skeptic to EnthusiastC4Media
 
The Nihilist’s Guide to Wrecking Humans & Systems
The Nihilist’s Guide to Wrecking Humans & SystemsThe Nihilist’s Guide to Wrecking Humans & Systems
The Nihilist’s Guide to Wrecking Humans & SystemsC4Media
 
Becoming a Fully Buzzword Compliant Developer
Becoming a Fully Buzzword Compliant DeveloperBecoming a Fully Buzzword Compliant Developer
Becoming a Fully Buzzword Compliant DeveloperC4Media
 
The Whys and Hows of Database Streaming
The Whys and Hows of Database StreamingThe Whys and Hows of Database Streaming
The Whys and Hows of Database StreamingC4Media
 
Lessons Learned on Uber's Journey into Microservices
Lessons Learned on Uber's Journey into MicroservicesLessons Learned on Uber's Journey into Microservices
Lessons Learned on Uber's Journey into MicroservicesC4Media
 
I Dream of Gen'ning: Protecting Your Codebase with Scalacheck's Magic
I Dream of Gen'ning: Protecting Your Codebase with Scalacheck's MagicI Dream of Gen'ning: Protecting Your Codebase with Scalacheck's Magic
I Dream of Gen'ning: Protecting Your Codebase with Scalacheck's MagicC4Media
 
Managing Experimentation in a Continuously Deployed Environment
Managing Experimentation in a Continuously Deployed EnvironmentManaging Experimentation in a Continuously Deployed Environment
Managing Experimentation in a Continuously Deployed EnvironmentC4Media
 
The Human Side of Microservices
The Human Side of MicroservicesThe Human Side of Microservices
The Human Side of MicroservicesC4Media
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine LearningC4Media
 
Reinventing npmjs.com
Reinventing npmjs.comReinventing npmjs.com
Reinventing npmjs.comC4Media
 
Mastering Chaos - A Netflix Guide to Microservices
Mastering Chaos - A Netflix Guide to MicroservicesMastering Chaos - A Netflix Guide to Microservices
Mastering Chaos - A Netflix Guide to MicroservicesC4Media
 
Staying in Sync: From Transactions to Streams
Staying in Sync: From Transactions to StreamsStaying in Sync: From Transactions to Streams
Staying in Sync: From Transactions to StreamsC4Media
 
Adopting Continuous Delivery: Adjusting your Architecture
Adopting Continuous Delivery: Adjusting your ArchitectureAdopting Continuous Delivery: Adjusting your Architecture
Adopting Continuous Delivery: Adjusting your ArchitectureC4Media
 
The Service Mesh: It's about Traffic
The Service Mesh: It's about TrafficThe Service Mesh: It's about Traffic
The Service Mesh: It's about TrafficC4Media
 
Can Technology Innovation Save The New York Times?
Can Technology Innovation Save The New York Times?Can Technology Innovation Save The New York Times?
Can Technology Innovation Save The New York Times?C4Media
 

Similaire à API-First Architecture Transformation at Etsy (20)

Clients Matter, Services Don't
Clients Matter, Services Don'tClients Matter, Services Don't
Clients Matter, Services Don't
 
The Code that Isn't There
The Code that Isn't ThereThe Code that Isn't There
The Code that Isn't There
 
Microsoft Cloud's Front Door: Building a Global API
Microsoft Cloud's Front Door: Building a Global APIMicrosoft Cloud's Front Door: Building a Global API
Microsoft Cloud's Front Door: Building a Global API
 
Deployed in 60 Minutes: Increasing Production Deployments from Six Months to ...
Deployed in 60 Minutes: Increasing Production Deployments from Six Months to ...Deployed in 60 Minutes: Increasing Production Deployments from Six Months to ...
Deployed in 60 Minutes: Increasing Production Deployments from Six Months to ...
 
What Does Speed Mean in Software Product Delivery?
What Does Speed Mean in Software Product Delivery?What Does Speed Mean in Software Product Delivery?
What Does Speed Mean in Software Product Delivery?
 
Not Sold Yet, GraphQL: A Humble Tale from Skeptic to Enthusiast
Not Sold Yet, GraphQL: A Humble Tale from Skeptic to EnthusiastNot Sold Yet, GraphQL: A Humble Tale from Skeptic to Enthusiast
Not Sold Yet, GraphQL: A Humble Tale from Skeptic to Enthusiast
 
The Nihilist’s Guide to Wrecking Humans & Systems
The Nihilist’s Guide to Wrecking Humans & SystemsThe Nihilist’s Guide to Wrecking Humans & Systems
The Nihilist’s Guide to Wrecking Humans & Systems
 
Becoming a Fully Buzzword Compliant Developer
Becoming a Fully Buzzword Compliant DeveloperBecoming a Fully Buzzword Compliant Developer
Becoming a Fully Buzzword Compliant Developer
 
The Whys and Hows of Database Streaming
The Whys and Hows of Database StreamingThe Whys and Hows of Database Streaming
The Whys and Hows of Database Streaming
 
Lessons Learned on Uber's Journey into Microservices
Lessons Learned on Uber's Journey into MicroservicesLessons Learned on Uber's Journey into Microservices
Lessons Learned on Uber's Journey into Microservices
 
I Dream of Gen'ning: Protecting Your Codebase with Scalacheck's Magic
I Dream of Gen'ning: Protecting Your Codebase with Scalacheck's MagicI Dream of Gen'ning: Protecting Your Codebase with Scalacheck's Magic
I Dream of Gen'ning: Protecting Your Codebase with Scalacheck's Magic
 
Managing Experimentation in a Continuously Deployed Environment
Managing Experimentation in a Continuously Deployed EnvironmentManaging Experimentation in a Continuously Deployed Environment
Managing Experimentation in a Continuously Deployed Environment
 
The Human Side of Microservices
The Human Side of MicroservicesThe Human Side of Microservices
The Human Side of Microservices
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
 
Reinventing npmjs.com
Reinventing npmjs.comReinventing npmjs.com
Reinventing npmjs.com
 
Mastering Chaos - A Netflix Guide to Microservices
Mastering Chaos - A Netflix Guide to MicroservicesMastering Chaos - A Netflix Guide to Microservices
Mastering Chaos - A Netflix Guide to Microservices
 
Staying in Sync: From Transactions to Streams
Staying in Sync: From Transactions to StreamsStaying in Sync: From Transactions to Streams
Staying in Sync: From Transactions to Streams
 
Adopting Continuous Delivery: Adjusting your Architecture
Adopting Continuous Delivery: Adjusting your ArchitectureAdopting Continuous Delivery: Adjusting your Architecture
Adopting Continuous Delivery: Adjusting your Architecture
 
The Service Mesh: It's about Traffic
The Service Mesh: It's about TrafficThe Service Mesh: It's about Traffic
The Service Mesh: It's about Traffic
 
Can Technology Innovation Save The New York Times?
Can Technology Innovation Save The New York Times?Can Technology Innovation Save The New York Times?
Can Technology Innovation Save The New York Times?
 

Plus de C4Media

Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoC4Media
 
Next Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileC4Media
 
Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020C4Media
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsC4Media
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No KeeperC4Media
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like OwnersC4Media
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaC4Media
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideC4Media
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDC4Media
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at SpeedC4Media
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsC4Media
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsC4Media
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerC4Media
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleC4Media
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeC4Media
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereC4Media
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing ForC4Media
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data EngineeringC4Media
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreC4Media
 
Navigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsNavigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsC4Media
 

Plus de C4Media (20)

Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
 
Next Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy Mobile
 
Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java Applications
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No Keeper
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like Owners
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate Guide
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
 
Navigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsNavigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery Teams
 

Dernier

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 

Dernier (20)

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 

API-First Architecture Transformation at Etsy