SlideShare a Scribd company logo
API First Workflow:
Better API Docs through a DevOps
pipeline
Yantian You
yantian.you@sas.com
API Integration Engineer @SAS
AGENDA
01
02
Current API Process (Code first)
vs API First (Design First)
API First Workflow / Vision
03 Use cases and examples
Developers Testers Reviews
Documentation
Code first
Product-Led
Developer-Led
Developers
Documentation Continuous Delivery
OpenAPI 3.0 Specification
Testers
Product
Manager
Design First
API First Roadmap
Planning Mindset
Automation (CI/CD)
Efficiency Usability
API First Workflow
API Design API Specification Tool chain APIs
tests
documents
Code
template
Mock
services Cloud
Platform
Security
check
Other docs
A Quick Overview
Development Cycle
Continuous Integration
Mock
Server
Lint
Team
Review
Rejected
Approved
Merge to
Master
Server Code
Generated (Boiler
Plate)
Mock Server
Started
Documentation
Generated
Development Cycle Continued
Testers /
PreSales
Tech
Writers
Edits
Contract testing
Testers
test Code
Developer
adds logic
Commits code
Tests Fail
Tests
Pass
Final
Team
Review
Publish API
Write
OpenAPI
Pull
Request
Client Code
generated
API
Spec
Key
Human
Automatic /
Machine Done
Fail
Pass
…
Let’s go deeper into it
Design Workshop
Stoplight Studio
Swagger Editor
Apicurio
Spec gen tool(Web/GUI)
Opensource
API Specification
Product manager + Customer +
Stakeholder + Testers + Developers
How to get an API Spec at the very beginning?
API First Workflow: How could we have better API Docs through DevOps pipeline
API First Workflow: How could we have better API Docs through DevOps pipeline
Development Cycle
Continuous Integration
Mock
Server
Lint
Team
Review
Rejected
Approved
Merge to
Master
Server Code
Generated (Boiler
Plate)
Mock Server
Started
Documentation
Generated
Development Cycle Continued
Testers /
PreSales
Tech
Writers
Edits
Contract testing
Testers
test Code
Developer
adds logic
Commits code
Tests Fail
Tests
Pass
Final
Team
Review
Publish API
Write
OpenAPI
Pull
Request
Client Code
generated
API
Spec
Key
Human
Automatic /
Machine Done
Fail
Pass
Let’s talk about the automation part
API
Dev
Mock
server
Server
code
Client &
Test
Deploy on k8s
cloud server
Push to git
platform
Review &
pull the
branch
Doc gen
Input
Deepmap
OpenAPI -
Gen
Swagger-
Gen
Code gen tool (Containers)
Prism Apisprout
Mock tool (Containers)
Opensource
Opensource
Doc
Initial
Spectral
Opensource
Linting tool(Containers)
API Spec Spec linting
Test &
Review &
Merge
contract/smoke/unit
Test
Input
API Spec Tool Box 1 Tool Box 2 Tool Box 3 Tool Box n
For local run and testing:
Tooling containers & Sage tools(= Sas + mage)
For running in the pipeline:
Using the same tooling containers
OpenSource tools in the pipeline
Use cases and examples
Linting your specification
spectral
API First Workflow: How could we have better API Docs through DevOps pipeline
Building the mock server
Take API Specification as the input, run prism
tool for building a mock service
• Build the mock server locally
• Build the mock server through the
pipeline - auto-deploy to a k8s cluster
with istio configured. Each of the API
mock service will have a unique
hostname
• Testers could start playing around the
mock services even before the real
service comes out
API Spec
Local mock Assign a namespace
Configure ingress rule
Deploy the services
Remote mock
API First Workflow: How could we have better API Docs through DevOps pipeline
Input
API Spec Tool Box 1 Tool Box 2 Tool Box 3 Tool Box n
New Tool 1
New Tool 3
Tools in the future
Questions?
Thank you!

More Related Content

PPTX
REST API Design & Development
PDF
Introduction to Kong API Gateway
PDF
Definitive Guide to API Management
PDF
Agile Testing Framework - The Art of Automated Testing
PDF
The Architecture of an API Platform
PDF
API-first design - Basis for an consistent API-Management approach
PDF
Appium: Automation for Mobile Apps
PPTX
API Management in Digital Transformation
REST API Design & Development
Introduction to Kong API Gateway
Definitive Guide to API Management
Agile Testing Framework - The Art of Automated Testing
The Architecture of an API Platform
API-first design - Basis for an consistent API-Management approach
Appium: Automation for Mobile Apps
API Management in Digital Transformation

What's hot (20)

PDF
Postman & API Testing by Amber Race
PDF
Introduction to MuleSoft
PPTX
Introduction to MuleSoft
PDF
Api presentation
PDF
IBM API Connect - overview
PPT
Presentation for soap ui
PDF
How to Automate API Testing
PPT
PDF
Cypress, Playwright, Selenium, or WebdriverIO? Let the Engineers Speak!
PPSX
Rest api standards and best practices
PPSX
API Test Automation
PPTX
Managing APIs with MuleSoft
PPTX
Introduction to performance testing
PPT
Ppt of soap ui
PPTX
Testing RESTful web services with REST Assured
PPSX
Event Sourcing & CQRS, Kafka, Rabbit MQ
PDF
API strategy with IBM API connect
PPT
Test Automation Strategies For Agile
PDF
An Introduction To Automated API Testing
PPTX
Microservices Part 3 Service Mesh and Kafka
Postman & API Testing by Amber Race
Introduction to MuleSoft
Introduction to MuleSoft
Api presentation
IBM API Connect - overview
Presentation for soap ui
How to Automate API Testing
Cypress, Playwright, Selenium, or WebdriverIO? Let the Engineers Speak!
Rest api standards and best practices
API Test Automation
Managing APIs with MuleSoft
Introduction to performance testing
Ppt of soap ui
Testing RESTful web services with REST Assured
Event Sourcing & CQRS, Kafka, Rabbit MQ
API strategy with IBM API connect
Test Automation Strategies For Agile
An Introduction To Automated API Testing
Microservices Part 3 Service Mesh and Kafka
Ad

Similar to API First Workflow: How could we have better API Docs through DevOps pipeline (20)

PDF
The API Lifecycle Series: Evolving API Development and Testing from Open Sour...
PDF
Space Camp June 2022 - API First.pdf
PPTX
2022 APIsecure_Securing APIs with Open Standards
PDF
Why You Should Be Doing Contract-First API Development
PDF
Spec-first API Design for Speed and Safety
PDF
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
PDF
Api clarity webinar
PDF
OpenAPI Intro (1).pdf
PDF
APIdays Singapore 2019 - Bringing OpenAPI to devOps, Vincenzo Chianese, Softw...
PDF
Always up to date, testable and maintainable documentation with OpenAPI
PPTX
API City 2019 Presentation - Delivering Developer Tools at Scale: Microsoft A...
PDF
API Description Languages
PDF
API Description Languages
PDF
Presentation at the 2016 Linux Foundation Collab Summit
PPTX
apidays LIVE New York 2021 - Service API design validation by Uchit Vyas, KPMG
PDF
Service api design validation & collaboration
PPTX
API Tools.pptx
PPTX
apidays LIVE Paris 2021 - Inside API delivery Pipeline, the checklist! - Fran...
PPTX
API Versioning for Zero Downtime | Devoxx Belgium 2017
PPTX
Delivering Developer Tools at Scale
The API Lifecycle Series: Evolving API Development and Testing from Open Sour...
Space Camp June 2022 - API First.pdf
2022 APIsecure_Securing APIs with Open Standards
Why You Should Be Doing Contract-First API Development
Spec-first API Design for Speed and Safety
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
Api clarity webinar
OpenAPI Intro (1).pdf
APIdays Singapore 2019 - Bringing OpenAPI to devOps, Vincenzo Chianese, Softw...
Always up to date, testable and maintainable documentation with OpenAPI
API City 2019 Presentation - Delivering Developer Tools at Scale: Microsoft A...
API Description Languages
API Description Languages
Presentation at the 2016 Linux Foundation Collab Summit
apidays LIVE New York 2021 - Service API design validation by Uchit Vyas, KPMG
Service api design validation & collaboration
API Tools.pptx
apidays LIVE Paris 2021 - Inside API delivery Pipeline, the checklist! - Fran...
API Versioning for Zero Downtime | Devoxx Belgium 2017
Delivering Developer Tools at Scale
Ad

More from Pronovix (20)

PDF
By the time they're reading the docs, it's already too late
PPTX
Optimizing Dev Portals with Analytics and Feedback
PPTX
Success metrics when launching your first developer portal
PDF
Documentation, APIs & AI
PDF
Making sense of analytics for documentation pages
PPTX
Feedback cycles and their role in improving overall developer experiences
PDF
GraphQL Isn't An Excuse To Stop Writing Docs
PPTX
API Documentation For Web3
PDF
Why your API doesn’t solve my problem: A use case-driven API design
PDF
unREST among the docs
PDF
Developing a best-in-class deprecation policy for your APIs
PDF
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyone
PDF
What do developers do when it comes to understanding and using APIs?
PDF
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations
PDF
Creating API documentation for international communities
PDF
One Developer Portal to Document Them All
PDF
Docs-as-Code: Evolving the API Documentation Experience
PDF
Developer journey - make it easy for devs to love your product
PPTX
Complexity is not complicatedness
PDF
How cognitive biases and ranking can foster an ineffective architecture and d...
By the time they're reading the docs, it's already too late
Optimizing Dev Portals with Analytics and Feedback
Success metrics when launching your first developer portal
Documentation, APIs & AI
Making sense of analytics for documentation pages
Feedback cycles and their role in improving overall developer experiences
GraphQL Isn't An Excuse To Stop Writing Docs
API Documentation For Web3
Why your API doesn’t solve my problem: A use case-driven API design
unREST among the docs
Developing a best-in-class deprecation policy for your APIs
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyone
What do developers do when it comes to understanding and using APIs?
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations
Creating API documentation for international communities
One Developer Portal to Document Them All
Docs-as-Code: Evolving the API Documentation Experience
Developer journey - make it easy for devs to love your product
Complexity is not complicatedness
How cognitive biases and ranking can foster an ineffective architecture and d...

Recently uploaded (20)

PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
MYSQL Presentation for SQL database connectivity
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Cloud computing and distributed systems.
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Spectroscopy.pptx food analysis technology
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
Understanding_Digital_Forensics_Presentation.pptx
Encapsulation_ Review paper, used for researhc scholars
Advanced methodologies resolving dimensionality complications for autism neur...
MYSQL Presentation for SQL database connectivity
NewMind AI Weekly Chronicles - August'25 Week I
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Cloud computing and distributed systems.
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Diabetes mellitus diagnosis method based random forest with bat algorithm
Spectroscopy.pptx food analysis technology
20250228 LYD VKU AI Blended-Learning.pptx
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Digital-Transformation-Roadmap-for-Companies.pptx
Unlocking AI with Model Context Protocol (MCP)
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Reach Out and Touch Someone: Haptics and Empathic Computing
Programs and apps: productivity, graphics, security and other tools
The Rise and Fall of 3GPP – Time for a Sabbatical?
Building Integrated photovoltaic BIPV_UPV.pdf

API First Workflow: How could we have better API Docs through DevOps pipeline

Editor's Notes

  • #3: This is what we’ll talk about today. Very short agenda. We’ll touch *briefly* on what our current process is and the challenges that it brings, and then we’ll levelset on what API First is and how it alleviates those challenges. And then we’ll talk about our Vision of bring API First to SAS from a development perspective.
  • #4: So to start, this is a very simplified diagram of working in a code first basis. It’s a very traditional way of developing. A very siloed way of working, backend developers write the code, and then they throw it over the fence for testers, and somewhere along the way the developers are writing. And then poor Jeannie is left to review the an api she has not business context of. Very siloed, very manual - there’s challenges to that. there are times that are published documentation doesn’t sync with our code / software And finding a design flaw here can be very expensive because the code has already been written This would also bring too much work for the reviewers to review the docs, especially before the release date, If some terrible issues come out which are not suitable for shipment, they will not have enough time to fix them In this climate, this isn’t the most effective way to work. The adapting CI/CD was brought up countless times for many companys, and API First in one of the ways we can work toward that’s.
  • #5: The API First would changes the API developing process form developer led to a product-led, so with API First, instead of the old way where it’s ansynchrounous and siloed, - you have something more like this
  • #6: Instead of silos, you have teams working synchronously. And this is all made possible by starting with a OpenAPI 3.0 Specification. When you start with a spec, you give all these folks a starting point. What you’ll also notice that’s mentioned here but not mentioned in the previous slide, the heavy influence of a product manager. They’re the decision makers and driver here- so moving towards a product led company. They will be involved with the designing of this spec. When you start with design, You make development bend for the design, not design bending for development. What’s really nice about openapi 3.0 spec is that it’s machine readable so that opens us up to many opportunities to automate testing, and documentation, and to some degree code generation. So, we have a few teams that are ahead of curve and already working like this to a degree. it. Of course there isn’t a standard for this so they all kinda went off and did their own thing- And what we’ve done is we collaborated with them and we got their feedback on it so far. And it’s been working really well for them. The testers are happy, the developers are happy. So we studied their process and we evolved it understand what’s working and what’s not- what opensource tools do they like and don’t like. And they gave us a starting point, from there we designed an API First workflow that can be a standard at the company. Before we talk about what that api first process looks like these are the values that we always kept in the back of our minds when creating it.
  • #7: An API process that…. Increase efficiency : more opportunities for teams to work in parallel, also efficient in the sense that if a better api tool comes out tmmrw, it should be easy to switch out tool so a very flexible architecture too. More opportunity for automation: The fact that the spec is machine readable allows us to be able to automate testing, documentation like never before Increase Usability for our end users: putting design first so our apis are trivial to use. Being able to refer to documentation easily to help the customer understand the apis This is our mindset we went in with when we were planning how we want to bring API First into our organization. What we’re going to go through next is that API First workflow that we have envisioned for SAS And this is the design we work towards every day to implement.
  • #9: 1. Since the api specification is both machine readable and human readable, it could be leveraged by api tools for various purpose
  • #10: Right, so this is the people and the process So this is the who and the what. If we direct our eyes to the key, a purple diamond is a human (developer, tester, technical writer), and the square is a robot. Linting- guardrails to ensure their writing an effective spec Mock server: gives the person who writing the spec an idea of how the api would look and feel. They make api calls to this mock server and it actually returns mock data. So you can really get a feel like does the way this api works make sense Testers: a mock server is started for that approved API spec. The testers are notified- hey the mock server is up for the api spec- go test it. What that means is the testers can test the api, and create unit tests for that api before it’s ever even built. So then later, when the api is actually built- they can just use those same test cases for that code Client code is generated: what does it look like to call this api in python Documentation is generated: gives the technical writers a starting point- that generated doc would already have examples in it and what not Server code generated: finally, a boiler plate server code is generated for the developers to extract from and add more meat. We spent a good amount of effort vetting out server generator code tools. And the one we landed on, the idea is that it generates a file of A boiler plate meaning that it takes the functions from the spec and creates the functions signature in go for the developer to add logic to. After the developer adds logic, contract testing happens. Does the code match the contract (the spec) no? developer has to redo logic. Yes? Then it passes and the testers test the code Analytic cloud team was saying that they’ve seen a huge increase in productivity here because the testers can use the same tests they used against the spec, against the code So this workflow is the people and the process, next Yantian is going to talk about the technology. She’s going to talk about our “how we’re bring api first to sas” at a more granular level specifically about the pipeline