SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
APIs at Scale with
TypeSpec
Mandy Whaley
Partner Director, Azure SDK & Dev Tools
I lead the Azure Developer Tools team.
We build the Azure SDK, Azure Dev Tools for Visual Studio and VS Code, and
work with teams across Microsoft on API design and developer experience.
I live in Austin, and I love to knit and crochet and have 3 hilarious dogs.
Twitter: @AzureSDK @MSAzureDev
LinkedIn: www.linkedin.com/in/mandywhaley
/me
Mission of Azure SDK team
Create
and experiences for developers to
• Many APIs, built by many teams​​
• 100s of libraries: Storage, Key Vault, Event Grid + more​
• Idiomatic libraries​ (Python, JavaScript, .NET, Java, Go)
• REST API Guidelines & API Stewardship
Microsoft Azure SDK
Understanding the scale of Azure
Building great developer experience across hundreds of teams and services isn’t easy.
Hundreds of teams and services
across the globe.
Hundreds of client libraries across
multiple languages.
Thousands of service operations,
and tens of thousands of API
shapes.
Teams and services Client libraries Service operations
Azure SDK Design Guidelines
An open-source suite of SDKs (Python, JavaScript, .NET, Java, Go) that share common design
guidelines, a centralized engineering system, and consistent language and OS support.
Productivity
Developer
productivity is the
primary objective.
Consistent
Similar experience
within and across
services and
languages.
Approachable
Quickly get
started, learn, and
build.
Idiomatic
Natural language
experience and
standard package
managers.
Diagnosable
Easily observe
applications.
Dependable
High quality, avoid
breaking changes.
Why design “API first?”
Deriving APIs from existing code can lead to inconsistent customer-facing software that’s hard to maintain and version
“I don’t understand how this API
works at all.”
“It’s easier to write code first and
then derive the API layer, but then
my code tends to be all over the
place.”
“I wish our services didn’t have all
these different ways of exposing
similar concepts through the APIs.”
“I wish I’d thought of that
requirement in version 1 before
locking us into that API shape.”
Clients Developers Customer support Service lifetime
Code designed with the client’s
ease of use in mind leads to
happier customers.
Code developed against
intentionally-designed APIs is
more modular and focused,
leading to fewer bugs.
Services which conform to a well-
understood API standard are easier
to assess and support.
APIs designed with future growth
in mind are easier to maintain and
version.
• OpenAPI can be hard to write, review, and maintain
• New teams struggle with following API guidelines
• Supporting multiple versions of APIs
• Multiple Protocols - The same data shapes are used across different
protocols, for example REST and gRPC
• Scaling our SDK engineering team and API Architects to support Azure
growth
Challenges
We need a way to…
Codify our API guidelines into reusable components.
Easily describe operations and their associated data shapes.
Improve the developer experience of designing APIs by providing productive tooling that
highlights problems at development time.
Support a wide range of protocols and serialization formats.
Drive the generation of high-quality assets across the entire service delivery pipeline (services,
clients, docs, CLIs, and other API specification formats).
1
2
3
4
5
Microsoft Developer Division
TypeSpec
Lightweight language for
describing and designing APIs
Easy integration with your
OpenAPI toolchain
Turn your API guidelines
into reusable code
typespec.io
Microsoft Developer Division
Easily describe API shapes and create OpenAPI specifications
TypeSpec
is concise & human readable
Committed to interoperability
with OpenAPI
Integrates with your toolchain
Microsoft Developer Division
Turn your API guidelines into reusable code
TypeScript libraries can help you turn
your API guidelines and patterns into
code that is reusable and easy to adopt.
TypeSpec libraries are packages that
contain TypeSpec
• types
• decorators
• emitters
• linters and other bits of reusable code.
Generic example Code snippets here
Microsoft Developer Division
Full language support in VS Code and Visual Studio
The TypeSpec VS Code extension
provides features for efficient and
error-free coding:
• Autocompletion
• Syntax highlighting
• Build error identification
• Symbol renaming
• Document formatting
Lessons Learned
& Feedback
Microsoft Developer Division
Simple: Easier to understand and easy to author. Scales the
API expertise in your org to everyone
Scalable: The extensibility of TypeSpec supports teams
working in parallel and independently to define libraries,
types and emitters.
Intuitive: Enables non-engineers to understand, review, and
participate in API design.
Collaborative: Facilitates cross-functional team
involvement in the API design phase
Tooling: Easy to install, and get started, Integration with
VS code out of the box.
What users value about TypeSpec
Microsoft Developer Division
Faster: TypeSpec is faster for us to review for
API correctness
Reusable Libraries: Teams automatically
start on the right path and follow our API
Guidelines when they use TypeSpec libraries
Encourages Design-First approach: By
making it easier to author API specs at design
time, we are able to engage with teams early
and get them thinking about the end user
experience for their APIs
Observations from our API architects
TypeSpec has improved our API review
process
API Lifecycle: Existing services and new
services are able to adopt API guidelines
at different speeds
TypeSpec needs to be flexible to support
teams at any point in their journey
Flexibility is key
Consistency: Resuable building blocks
bring more consistency to our APIs
Focus: Because we are using consistent
building blocks, we can focus on higher
level API experience topics vs. spending so
much time on error codes, etc.
Client Libraries: We are using the extra
metadata that can be expressed in
TypeSpec as an input to inform our client
code generation on ways to provide
higher level APIs
Improved DevEx
Microsoft Developer Division
ARM APIs have extensive API guidelines
ARM APIs follow strict conventions
Can be represented with thousands of lines
of OpenAPI
Internal use case: TypeSpec for Azure Resource Provider (ARM) services
High level API components drive the generation of thousands of lines of OpenAPI
TypeSpec encapsulates these guidelines and
API patterns into reusable components
Service owners just use the component!
Microsoft Developer Division
Getting started with TypeSpec – TypeSpec.io
https://typespec.io/playground
Microsoft Developer Division
• We welcome contributions!
• Questions? Ideas?
• We would love to hear
from you
• Reach out in our GitHub
Discussions
TypeSpec is open source
github.com/microsoft/typespec
typespec.io
Typespec.io
github.com/microsoft/typespec
Twitter: @AzureSDK @MSAzureDev
LinkedIn: www.linkedin.com/in/mandywhaley

Más contenido relacionado

Similar a APIs at Scale with TypeSpec by Mandy Whaley, Microsoft

Survival Strategies: Building your first website for API documentation
Survival Strategies: Building your first website for API documentationSurvival Strategies: Building your first website for API documentation
Survival Strategies: Building your first website for API documentationMary Linderman
 
apidays New York 2023 - Modernize your apps with API Patterns, Hamida Rebai, ...
apidays New York 2023 - Modernize your apps with API Patterns, Hamida Rebai, ...apidays New York 2023 - Modernize your apps with API Patterns, Hamida Rebai, ...
apidays New York 2023 - Modernize your apps with API Patterns, Hamida Rebai, ...apidays
 
Micro-serviços em Python usando Pyramid, Cornice e muito amor
Micro-serviços em Python usando Pyramid, Cornice e muito amorMicro-serviços em Python usando Pyramid, Cornice e muito amor
Micro-serviços em Python usando Pyramid, Cornice e muito amorÉrico Andrei
 
APIdays 2015 - The State of Web API Languages
APIdays 2015 - The State of Web API LanguagesAPIdays 2015 - The State of Web API Languages
APIdays 2015 - The State of Web API LanguagesJerome Louvel
 
APIdays 2015 - The State of Web API Languages
APIdays 2015 - The State of Web API LanguagesAPIdays 2015 - The State of Web API Languages
APIdays 2015 - The State of Web API LanguagesRestlet
 
Content Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortalsContent Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortalsAxway
 
OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17Phil Wilkins
 
ASP.NET development company, offering an expansive range of professional serv...
ASP.NET development company, offering an expansive range of professional serv...ASP.NET development company, offering an expansive range of professional serv...
ASP.NET development company, offering an expansive range of professional serv...AbellaSystems
 
Lessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptxLessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptxapidays
 
API Development – Complete Guide to Developing Robust APIs
API Development – Complete Guide to Developing Robust APIsAPI Development – Complete Guide to Developing Robust APIs
API Development – Complete Guide to Developing Robust APIsCerebrum Infotech
 
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...Alexandr Savchenko
 
"Different software evolutions from Start till Release in PHP product" Oleksa...
"Different software evolutions from Start till Release in PHP product" Oleksa..."Different software evolutions from Start till Release in PHP product" Oleksa...
"Different software evolutions from Start till Release in PHP product" Oleksa...Fwdays
 
Developing Apps with Azure AD
Developing Apps with Azure ADDeveloping Apps with Azure AD
Developing Apps with Azure ADSharePointRadi
 
Beyond the basic Swagger UI: Adyen API Explorer
Beyond the basic Swagger UI: Adyen API ExplorerBeyond the basic Swagger UI: Adyen API Explorer
Beyond the basic Swagger UI: Adyen API ExplorerAleksei Akimov
 
Building Open Source Communities for AWS Serverless Developer Tools
Building Open Source Communities for AWS Serverless Developer ToolsBuilding Open Source Communities for AWS Serverless Developer Tools
Building Open Source Communities for AWS Serverless Developer ToolsAmazon Web Services
 
MongoDB World 2018: A Swift Introduction to Swift
MongoDB World 2018: A Swift Introduction to SwiftMongoDB World 2018: A Swift Introduction to Swift
MongoDB World 2018: A Swift Introduction to SwiftMongoDB
 
Intro to AWS Developer Tools, featuring AWS CodeStar
Intro to AWS Developer Tools, featuring AWS CodeStarIntro to AWS Developer Tools, featuring AWS CodeStar
Intro to AWS Developer Tools, featuring AWS CodeStarAmazon Web Services
 
API Notes for Recruiter.pptx
API Notes for Recruiter.pptxAPI Notes for Recruiter.pptx
API Notes for Recruiter.pptxRaviKumar660487
 

Similar a APIs at Scale with TypeSpec by Mandy Whaley, Microsoft (20)

Survival Strategies: Building your first website for API documentation
Survival Strategies: Building your first website for API documentationSurvival Strategies: Building your first website for API documentation
Survival Strategies: Building your first website for API documentation
 
To SDK or not to SDK?
To SDK or not to SDK?To SDK or not to SDK?
To SDK or not to SDK?
 
apidays New York 2023 - Modernize your apps with API Patterns, Hamida Rebai, ...
apidays New York 2023 - Modernize your apps with API Patterns, Hamida Rebai, ...apidays New York 2023 - Modernize your apps with API Patterns, Hamida Rebai, ...
apidays New York 2023 - Modernize your apps with API Patterns, Hamida Rebai, ...
 
Micro-serviços em Python usando Pyramid, Cornice e muito amor
Micro-serviços em Python usando Pyramid, Cornice e muito amorMicro-serviços em Python usando Pyramid, Cornice e muito amor
Micro-serviços em Python usando Pyramid, Cornice e muito amor
 
APIdays 2015 - The State of Web API Languages
APIdays 2015 - The State of Web API LanguagesAPIdays 2015 - The State of Web API Languages
APIdays 2015 - The State of Web API Languages
 
APIdays 2015 - The State of Web API Languages
APIdays 2015 - The State of Web API LanguagesAPIdays 2015 - The State of Web API Languages
APIdays 2015 - The State of Web API Languages
 
Content Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortalsContent Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortals
 
OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17
 
ASP.NET development company, offering an expansive range of professional serv...
ASP.NET development company, offering an expansive range of professional serv...ASP.NET development company, offering an expansive range of professional serv...
ASP.NET development company, offering an expansive range of professional serv...
 
Lessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptxLessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptx
 
AWS and DevOps Session 1
AWS and DevOps Session 1AWS and DevOps Session 1
AWS and DevOps Session 1
 
API Development – Complete Guide to Developing Robust APIs
API Development – Complete Guide to Developing Robust APIsAPI Development – Complete Guide to Developing Robust APIs
API Development – Complete Guide to Developing Robust APIs
 
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...
 
"Different software evolutions from Start till Release in PHP product" Oleksa...
"Different software evolutions from Start till Release in PHP product" Oleksa..."Different software evolutions from Start till Release in PHP product" Oleksa...
"Different software evolutions from Start till Release in PHP product" Oleksa...
 
Developing Apps with Azure AD
Developing Apps with Azure ADDeveloping Apps with Azure AD
Developing Apps with Azure AD
 
Beyond the basic Swagger UI: Adyen API Explorer
Beyond the basic Swagger UI: Adyen API ExplorerBeyond the basic Swagger UI: Adyen API Explorer
Beyond the basic Swagger UI: Adyen API Explorer
 
Building Open Source Communities for AWS Serverless Developer Tools
Building Open Source Communities for AWS Serverless Developer ToolsBuilding Open Source Communities for AWS Serverless Developer Tools
Building Open Source Communities for AWS Serverless Developer Tools
 
MongoDB World 2018: A Swift Introduction to Swift
MongoDB World 2018: A Swift Introduction to SwiftMongoDB World 2018: A Swift Introduction to Swift
MongoDB World 2018: A Swift Introduction to Swift
 
Intro to AWS Developer Tools, featuring AWS CodeStar
Intro to AWS Developer Tools, featuring AWS CodeStarIntro to AWS Developer Tools, featuring AWS CodeStar
Intro to AWS Developer Tools, featuring AWS CodeStar
 
API Notes for Recruiter.pptx
API Notes for Recruiter.pptxAPI Notes for Recruiter.pptx
API Notes for Recruiter.pptx
 

Más de Nordic APIs

How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...
How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...
How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...Nordic APIs
 
The Art of API Design, by David Biesack at Apiture
The Art of API Design, by David Biesack at ApitureThe Art of API Design, by David Biesack at Apiture
The Art of API Design, by David Biesack at ApitureNordic APIs
 
ABAC, ReBAC, Zanzibar, ALFA… How Should I Implement AuthZ in My APIs? by Dav...
ABAC, ReBAC, Zanzibar, ALFA…  How Should I Implement AuthZ in My APIs? by Dav...ABAC, ReBAC, Zanzibar, ALFA…  How Should I Implement AuthZ in My APIs? by Dav...
ABAC, ReBAC, Zanzibar, ALFA… How Should I Implement AuthZ in My APIs? by Dav...Nordic APIs
 
Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...
Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...
Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...Nordic APIs
 
The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...
The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...
The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...Nordic APIs
 
API Authorization Using an Identity Server and Gateway - Aldo Pietropaolo, SGNL
API Authorization Using an Identity Server and Gateway - Aldo Pietropaolo, SGNLAPI Authorization Using an Identity Server and Gateway - Aldo Pietropaolo, SGNL
API Authorization Using an Identity Server and Gateway - Aldo Pietropaolo, SGNLNordic APIs
 
API Discovery from Crawl to Run - Rob Dickinson, Graylog
API Discovery from Crawl to Run - Rob Dickinson, GraylogAPI Discovery from Crawl to Run - Rob Dickinson, Graylog
API Discovery from Crawl to Run - Rob Dickinson, GraylogNordic APIs
 
Productizing and Monetizing APIs - Derric Gilling, Moseif
Productizing and Monetizing APIs - Derric Gilling, MoseifProductizing and Monetizing APIs - Derric Gilling, Moseif
Productizing and Monetizing APIs - Derric Gilling, MoseifNordic APIs
 
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Sipios
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, SipiosSecurely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Sipios
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, SipiosNordic APIs
 
Security of LLM APIs by Ankita Gupta, Akto.io
Security of LLM APIs by Ankita Gupta, Akto.ioSecurity of LLM APIs by Ankita Gupta, Akto.io
Security of LLM APIs by Ankita Gupta, Akto.ioNordic APIs
 
I'm an API Hacker, Here's How to Go from Making APIs to Breaking Them - Katie...
I'm an API Hacker, Here's How to Go from Making APIs to Breaking Them - Katie...I'm an API Hacker, Here's How to Go from Making APIs to Breaking Them - Katie...
I'm an API Hacker, Here's How to Go from Making APIs to Breaking Them - Katie...Nordic APIs
 
Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...
Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...
Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...Nordic APIs
 
Reigniting the API Description Wars with TypeSpec and the Next Generation of ...
Reigniting the API Description Wars with TypeSpec and the Next Generation of...Reigniting the API Description Wars with TypeSpec and the Next Generation of...
Reigniting the API Description Wars with TypeSpec and the Next Generation of ...Nordic APIs
 
Establish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAny
Establish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAnyEstablish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAny
Establish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAnyNordic APIs
 
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...Nordic APIs
 
Going Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIs
Going Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIsGoing Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIs
Going Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIsNordic APIs
 
Getting Better at Risk Management Using Event Driven Mesh Architecture - Ragh...
Getting Better at Risk Management Using Event Driven Mesh Architecture - Ragh...Getting Better at Risk Management Using Event Driven Mesh Architecture - Ragh...
Getting Better at Risk Management Using Event Driven Mesh Architecture - Ragh...Nordic APIs
 
GenAI: Producing and Consuming APIs by Paul Dumas, Gartner
GenAI: Producing and Consuming APIs by Paul Dumas, GartnerGenAI: Producing and Consuming APIs by Paul Dumas, Gartner
GenAI: Producing and Consuming APIs by Paul Dumas, GartnerNordic APIs
 
The SAS developer portal – developer.sas.com 2.0: How we built it by Joe Furb...
The SAS developer portal –developer.sas.com 2.0: How we built it by Joe Furb...The SAS developer portal –developer.sas.com 2.0: How we built it by Joe Furb...
The SAS developer portal – developer.sas.com 2.0: How we built it by Joe Furb...Nordic APIs
 
How Netflix Uses Data Abstraction to Operate Services at Scale - Vidhya Arvin...
How Netflix Uses Data Abstraction to Operate Services at Scale - Vidhya Arvin...How Netflix Uses Data Abstraction to Operate Services at Scale - Vidhya Arvin...
How Netflix Uses Data Abstraction to Operate Services at Scale - Vidhya Arvin...Nordic APIs
 

Más de Nordic APIs (20)

How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...
How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...
How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...
 
The Art of API Design, by David Biesack at Apiture
The Art of API Design, by David Biesack at ApitureThe Art of API Design, by David Biesack at Apiture
The Art of API Design, by David Biesack at Apiture
 
ABAC, ReBAC, Zanzibar, ALFA… How Should I Implement AuthZ in My APIs? by Dav...
ABAC, ReBAC, Zanzibar, ALFA…  How Should I Implement AuthZ in My APIs? by Dav...ABAC, ReBAC, Zanzibar, ALFA…  How Should I Implement AuthZ in My APIs? by Dav...
ABAC, ReBAC, Zanzibar, ALFA… How Should I Implement AuthZ in My APIs? by Dav...
 
Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...
Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...
Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...
 
The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...
The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...
The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...
 
API Authorization Using an Identity Server and Gateway - Aldo Pietropaolo, SGNL
API Authorization Using an Identity Server and Gateway - Aldo Pietropaolo, SGNLAPI Authorization Using an Identity Server and Gateway - Aldo Pietropaolo, SGNL
API Authorization Using an Identity Server and Gateway - Aldo Pietropaolo, SGNL
 
API Discovery from Crawl to Run - Rob Dickinson, Graylog
API Discovery from Crawl to Run - Rob Dickinson, GraylogAPI Discovery from Crawl to Run - Rob Dickinson, Graylog
API Discovery from Crawl to Run - Rob Dickinson, Graylog
 
Productizing and Monetizing APIs - Derric Gilling, Moseif
Productizing and Monetizing APIs - Derric Gilling, MoseifProductizing and Monetizing APIs - Derric Gilling, Moseif
Productizing and Monetizing APIs - Derric Gilling, Moseif
 
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Sipios
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, SipiosSecurely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Sipios
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Sipios
 
Security of LLM APIs by Ankita Gupta, Akto.io
Security of LLM APIs by Ankita Gupta, Akto.ioSecurity of LLM APIs by Ankita Gupta, Akto.io
Security of LLM APIs by Ankita Gupta, Akto.io
 
I'm an API Hacker, Here's How to Go from Making APIs to Breaking Them - Katie...
I'm an API Hacker, Here's How to Go from Making APIs to Breaking Them - Katie...I'm an API Hacker, Here's How to Go from Making APIs to Breaking Them - Katie...
I'm an API Hacker, Here's How to Go from Making APIs to Breaking Them - Katie...
 
Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...
Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...
Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...
 
Reigniting the API Description Wars with TypeSpec and the Next Generation of ...
Reigniting the API Description Wars with TypeSpec and the Next Generation of...Reigniting the API Description Wars with TypeSpec and the Next Generation of...
Reigniting the API Description Wars with TypeSpec and the Next Generation of ...
 
Establish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAny
Establish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAnyEstablish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAny
Establish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAny
 
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...
 
Going Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIs
Going Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIsGoing Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIs
Going Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIs
 
Getting Better at Risk Management Using Event Driven Mesh Architecture - Ragh...
Getting Better at Risk Management Using Event Driven Mesh Architecture - Ragh...Getting Better at Risk Management Using Event Driven Mesh Architecture - Ragh...
Getting Better at Risk Management Using Event Driven Mesh Architecture - Ragh...
 
GenAI: Producing and Consuming APIs by Paul Dumas, Gartner
GenAI: Producing and Consuming APIs by Paul Dumas, GartnerGenAI: Producing and Consuming APIs by Paul Dumas, Gartner
GenAI: Producing and Consuming APIs by Paul Dumas, Gartner
 
The SAS developer portal – developer.sas.com 2.0: How we built it by Joe Furb...
The SAS developer portal –developer.sas.com 2.0: How we built it by Joe Furb...The SAS developer portal –developer.sas.com 2.0: How we built it by Joe Furb...
The SAS developer portal – developer.sas.com 2.0: How we built it by Joe Furb...
 
How Netflix Uses Data Abstraction to Operate Services at Scale - Vidhya Arvin...
How Netflix Uses Data Abstraction to Operate Services at Scale - Vidhya Arvin...How Netflix Uses Data Abstraction to Operate Services at Scale - Vidhya Arvin...
How Netflix Uses Data Abstraction to Operate Services at Scale - Vidhya Arvin...
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
#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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
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
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Último (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
#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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

APIs at Scale with TypeSpec by Mandy Whaley, Microsoft

  • 1. APIs at Scale with TypeSpec Mandy Whaley Partner Director, Azure SDK & Dev Tools
  • 2. I lead the Azure Developer Tools team. We build the Azure SDK, Azure Dev Tools for Visual Studio and VS Code, and work with teams across Microsoft on API design and developer experience. I live in Austin, and I love to knit and crochet and have 3 hilarious dogs. Twitter: @AzureSDK @MSAzureDev LinkedIn: www.linkedin.com/in/mandywhaley /me
  • 3. Mission of Azure SDK team Create and experiences for developers to
  • 4. • Many APIs, built by many teams​​ • 100s of libraries: Storage, Key Vault, Event Grid + more​ • Idiomatic libraries​ (Python, JavaScript, .NET, Java, Go) • REST API Guidelines & API Stewardship Microsoft Azure SDK
  • 5. Understanding the scale of Azure Building great developer experience across hundreds of teams and services isn’t easy. Hundreds of teams and services across the globe. Hundreds of client libraries across multiple languages. Thousands of service operations, and tens of thousands of API shapes. Teams and services Client libraries Service operations
  • 6. Azure SDK Design Guidelines An open-source suite of SDKs (Python, JavaScript, .NET, Java, Go) that share common design guidelines, a centralized engineering system, and consistent language and OS support. Productivity Developer productivity is the primary objective. Consistent Similar experience within and across services and languages. Approachable Quickly get started, learn, and build. Idiomatic Natural language experience and standard package managers. Diagnosable Easily observe applications. Dependable High quality, avoid breaking changes.
  • 7. Why design “API first?” Deriving APIs from existing code can lead to inconsistent customer-facing software that’s hard to maintain and version “I don’t understand how this API works at all.” “It’s easier to write code first and then derive the API layer, but then my code tends to be all over the place.” “I wish our services didn’t have all these different ways of exposing similar concepts through the APIs.” “I wish I’d thought of that requirement in version 1 before locking us into that API shape.” Clients Developers Customer support Service lifetime Code designed with the client’s ease of use in mind leads to happier customers. Code developed against intentionally-designed APIs is more modular and focused, leading to fewer bugs. Services which conform to a well- understood API standard are easier to assess and support. APIs designed with future growth in mind are easier to maintain and version.
  • 8. • OpenAPI can be hard to write, review, and maintain • New teams struggle with following API guidelines • Supporting multiple versions of APIs • Multiple Protocols - The same data shapes are used across different protocols, for example REST and gRPC • Scaling our SDK engineering team and API Architects to support Azure growth Challenges
  • 9. We need a way to… Codify our API guidelines into reusable components. Easily describe operations and their associated data shapes. Improve the developer experience of designing APIs by providing productive tooling that highlights problems at development time. Support a wide range of protocols and serialization formats. Drive the generation of high-quality assets across the entire service delivery pipeline (services, clients, docs, CLIs, and other API specification formats). 1 2 3 4 5
  • 10. Microsoft Developer Division TypeSpec Lightweight language for describing and designing APIs Easy integration with your OpenAPI toolchain Turn your API guidelines into reusable code typespec.io
  • 11. Microsoft Developer Division Easily describe API shapes and create OpenAPI specifications TypeSpec is concise & human readable Committed to interoperability with OpenAPI Integrates with your toolchain
  • 12. Microsoft Developer Division Turn your API guidelines into reusable code TypeScript libraries can help you turn your API guidelines and patterns into code that is reusable and easy to adopt. TypeSpec libraries are packages that contain TypeSpec • types • decorators • emitters • linters and other bits of reusable code. Generic example Code snippets here
  • 13. Microsoft Developer Division Full language support in VS Code and Visual Studio The TypeSpec VS Code extension provides features for efficient and error-free coding: • Autocompletion • Syntax highlighting • Build error identification • Symbol renaming • Document formatting
  • 15. Microsoft Developer Division Simple: Easier to understand and easy to author. Scales the API expertise in your org to everyone Scalable: The extensibility of TypeSpec supports teams working in parallel and independently to define libraries, types and emitters. Intuitive: Enables non-engineers to understand, review, and participate in API design. Collaborative: Facilitates cross-functional team involvement in the API design phase Tooling: Easy to install, and get started, Integration with VS code out of the box. What users value about TypeSpec
  • 16. Microsoft Developer Division Faster: TypeSpec is faster for us to review for API correctness Reusable Libraries: Teams automatically start on the right path and follow our API Guidelines when they use TypeSpec libraries Encourages Design-First approach: By making it easier to author API specs at design time, we are able to engage with teams early and get them thinking about the end user experience for their APIs Observations from our API architects TypeSpec has improved our API review process API Lifecycle: Existing services and new services are able to adopt API guidelines at different speeds TypeSpec needs to be flexible to support teams at any point in their journey Flexibility is key Consistency: Resuable building blocks bring more consistency to our APIs Focus: Because we are using consistent building blocks, we can focus on higher level API experience topics vs. spending so much time on error codes, etc. Client Libraries: We are using the extra metadata that can be expressed in TypeSpec as an input to inform our client code generation on ways to provide higher level APIs Improved DevEx
  • 17. Microsoft Developer Division ARM APIs have extensive API guidelines ARM APIs follow strict conventions Can be represented with thousands of lines of OpenAPI Internal use case: TypeSpec for Azure Resource Provider (ARM) services High level API components drive the generation of thousands of lines of OpenAPI TypeSpec encapsulates these guidelines and API patterns into reusable components Service owners just use the component!
  • 18. Microsoft Developer Division Getting started with TypeSpec – TypeSpec.io https://typespec.io/playground
  • 19. Microsoft Developer Division • We welcome contributions! • Questions? Ideas? • We would love to hear from you • Reach out in our GitHub Discussions TypeSpec is open source github.com/microsoft/typespec typespec.io

Notas del editor

  1. Add discussion points