Discovering API Version differences with ease
October 27 & 28, 2020#APIDays
Tweets
Codes
Works
Does
Likes
jaap_brasser
jaapbrasser
Developer Advocate
Blogger, Speaker, Coder
Cloud Automation & Security
Agenda
The API
Challenges
Tooling
Q&A
Use cases
• Backup
• Cloud Data Management
• Disaster Recovery
• Anomaly detection
• Test / Dev scenarios
Rubrik API Architecture
Authentication:
• Basic (user/pw)
• API token
Rubrik UI
same logic applies
API Abstraction:
• SDK
• Plug-in
• Automation tool
Consumes 3rd party APIs:
• Amazon S3 API
• Blob Service REST API
Spray - framework for building REST/HTTP-
based integration layers
Spray-can - lightweight HTTP server that
handles REST methods
Spragger - generates code using OpenAPI spec
REST API
*OpenAPI spec
Versioned:
/internal
/v1
/v2
Who are we dealing with
Different roles, different expectations
Downstream Dependencies
Browser & Desktop Tools
Chrome Developer Tools
Automation Tools
Playground
Direct
SDK
Abstraction
Plug-in
https://build.rubrik.com
The Challenge
Jukan Tateisi Unsplash
Challenges • Reading changelogs
• Different product versions
• Downstream languages
• New functionality
The Goal
Marko
Ideal Scenario
• Generate report on version diffs
• Report breaking changes
• Moved endpoints
• Changes in status / body / param
• Report on SDK changes
What we’ve built
Eternally work in progress
Comparison
Framework
Swagger
Definitions
Downstream
SDK Analysis
Reports
Lessons Learned
Changelogs
are not fun
01
Automation
is fun
02
Edge cases
03
New
functionality
04
Integrate in
processes
05
Questions?
Jaap Brasser @jaap_brasser

apidays LIVE LONDON - Discovering API Version differences with ease by Jaap Brasser