API Readiness: Visualizing and Virtualizing
-
Upload
lorinda-brandon -
Category
Technology
-
view
395 -
download
3
Transcript of API Readiness: Visualizing and Virtualizing
![Page 1: API Readiness: Visualizing and Virtualizing](https://reader030.fdocuments.us/reader030/viewer/2022032422/55a950791a28abe20a8b46af/html5/thumbnails/1.jpg)
API Readiness:Visualizing and Virtualizing
L O R I N D A B R A N D O N
@ L I N D Y B R A N D O N
S M A R T B E A R S O F T WA R E
![Page 2: API Readiness: Visualizing and Virtualizing](https://reader030.fdocuments.us/reader030/viewer/2022032422/55a950791a28abe20a8b46af/html5/thumbnails/2.jpg)
Keys to a successful API
documentation
testing
mocking
evangelism
management
monitoring
![Page 3: API Readiness: Visualizing and Virtualizing](https://reader030.fdocuments.us/reader030/viewer/2022032422/55a950791a28abe20a8b46af/html5/thumbnails/3.jpg)
But how do you get there?
![Page 4: API Readiness: Visualizing and Virtualizing](https://reader030.fdocuments.us/reader030/viewer/2022032422/55a950791a28abe20a8b46af/html5/thumbnails/4.jpg)
API Readiness
visualize
![Page 5: API Readiness: Visualizing and Virtualizing](https://reader030.fdocuments.us/reader030/viewer/2022032422/55a950791a28abe20a8b46af/html5/thumbnails/5.jpg)
Service DefinitionsThe best way to visualize your API
![Page 6: API Readiness: Visualizing and Virtualizing](https://reader030.fdocuments.us/reader030/viewer/2022032422/55a950791a28abe20a8b46af/html5/thumbnails/6.jpg)
DescribingIs not really visualizing
![Page 7: API Readiness: Visualizing and Virtualizing](https://reader030.fdocuments.us/reader030/viewer/2022032422/55a950791a28abe20a8b46af/html5/thumbnails/7.jpg)
Visualizing: New ideas
Coloring outside the lines
New Ideas
“The best design gets out of the way between the viewer’s brain and the content.”
– Edward Tufte
![Page 8: API Readiness: Visualizing and Virtualizing](https://reader030.fdocuments.us/reader030/viewer/2022032422/55a950791a28abe20a8b46af/html5/thumbnails/8.jpg)
Visualizing: New ideas
Swagger.ed (credit - @chefarchitect)
Coloring outside the lines
New Ideas
![Page 9: API Readiness: Visualizing and Virtualizing](https://reader030.fdocuments.us/reader030/viewer/2022032422/55a950791a28abe20a8b46af/html5/thumbnails/9.jpg)
Visualizing: New ideas
Ardoq
Coloring outside the lines
New Ideas
![Page 10: API Readiness: Visualizing and Virtualizing](https://reader030.fdocuments.us/reader030/viewer/2022032422/55a950791a28abe20a8b46af/html5/thumbnails/10.jpg)
Visualizing: New ideas
LucyBot
Coloring outside the lines
New Ideas
![Page 11: API Readiness: Visualizing and Virtualizing](https://reader030.fdocuments.us/reader030/viewer/2022032422/55a950791a28abe20a8b46af/html5/thumbnails/11.jpg)
API Readiness
visualize
validate
![Page 12: API Readiness: Visualizing and Virtualizing](https://reader030.fdocuments.us/reader030/viewer/2022032422/55a950791a28abe20a8b46af/html5/thumbnails/12.jpg)
Functional TestLive up to your own hype
![Page 13: API Readiness: Visualizing and Virtualizing](https://reader030.fdocuments.us/reader030/viewer/2022032422/55a950791a28abe20a8b46af/html5/thumbnails/13.jpg)
Load TestDon’t let success kill you
![Page 14: API Readiness: Visualizing and Virtualizing](https://reader030.fdocuments.us/reader030/viewer/2022032422/55a950791a28abe20a8b46af/html5/thumbnails/14.jpg)
Security TestKnow where the dangers are
![Page 15: API Readiness: Visualizing and Virtualizing](https://reader030.fdocuments.us/reader030/viewer/2022032422/55a950791a28abe20a8b46af/html5/thumbnails/15.jpg)
API Readiness
visualize
validate
virtualize
![Page 16: API Readiness: Visualizing and Virtualizing](https://reader030.fdocuments.us/reader030/viewer/2022032422/55a950791a28abe20a8b46af/html5/thumbnails/16.jpg)
Why virtualize your APIs?
![Page 17: API Readiness: Visualizing and Virtualizing](https://reader030.fdocuments.us/reader030/viewer/2022032422/55a950791a28abe20a8b46af/html5/thumbnails/17.jpg)
BootstrapParallel dev and test
Test Design
Virtual API
Generate
from spec or
with tools
Client Development
Integration Development
![Page 18: API Readiness: Visualizing and Virtualizing](https://reader030.fdocuments.us/reader030/viewer/2022032422/55a950791a28abe20a8b46af/html5/thumbnails/18.jpg)
IsolateTest execution and development
Test Execution
(automated or manual)
Development
Component in
dev or test
3rd party APIs
(virtualized)
Other APIs
(virtualized)
Legacy Systems
(virtualized)
• Simulate (un)expected behavior
• Minimize impact on and usage of external systems
• Assert usage of external components
![Page 19: API Readiness: Visualizing and Virtualizing](https://reader030.fdocuments.us/reader030/viewer/2022032422/55a950791a28abe20a8b46af/html5/thumbnails/19.jpg)
Performance Test
Solution
under test
Load Test Execution
(automated or manual)3rd party APIs
(virtualized)
Other APIs
(virtualized)
Legacy Systems
(virtualized)
• Simulate (un)expected performance in external systems
• Minimize impact on and usage of external systems
• Triage Performance bottlenecks
![Page 20: API Readiness: Visualizing and Virtualizing](https://reader030.fdocuments.us/reader030/viewer/2022032422/55a950791a28abe20a8b46af/html5/thumbnails/20.jpg)
Provide Sandbox
Hardware /
Software
Solution
API Virtual API
Evaluate
Integrate
Integration Test
![Page 21: API Readiness: Visualizing and Virtualizing](https://reader030.fdocuments.us/reader030/viewer/2022032422/55a950791a28abe20a8b46af/html5/thumbnails/21.jpg)
Enable API evolution… Corp
Corp
Web
app
Corp
App +
API
API
API
API
Device
APP
API
Device
IoT
Device
IoT
Device
API
API
API
![Page 22: API Readiness: Visualizing and Virtualizing](https://reader030.fdocuments.us/reader030/viewer/2022032422/55a950791a28abe20a8b46af/html5/thumbnails/22.jpg)
Three Levels of API Virtualization
Static Mocks
Static responses
• Semantically
correct
• No logic
• Payloads
generated from
schemas or
examples
Code or generated
from metadata
Dynamic Mocks
Dynamic responses
• Based on input
• Re-use input in
output
• Scripting
• Data-driven /
Data-generation
• Simulate state
Assertions on
incoming content
Virtual APIs
Runtime behavior simulation
Runtime management
• Redirect traffic to Virtual
APIs dynamically
• Access control
• Deployment
• Test execution
integration
![Page 23: API Readiness: Visualizing and Virtualizing](https://reader030.fdocuments.us/reader030/viewer/2022032422/55a950791a28abe20a8b46af/html5/thumbnails/23.jpg)
API Virtualization - do you need it?
• Local development & basic component testing
• Requirement for sandbox environment(s)
• Collaborative evolution & testing of APIs with low number of controlled dependencies
Maybe
• Collaborative evolution & testing of APIs with high number of complex dependencies
Probably
• Need for simulating functional & non-functional behavior in complex distributed solutions
Definitely
![Page 24: API Readiness: Visualizing and Virtualizing](https://reader030.fdocuments.us/reader030/viewer/2022032422/55a950791a28abe20a8b46af/html5/thumbnails/24.jpg)
API Readiness
visualize
validate
virtualize
monitor
![Page 25: API Readiness: Visualizing and Virtualizing](https://reader030.fdocuments.us/reader030/viewer/2022032422/55a950791a28abe20a8b46af/html5/thumbnails/25.jpg)
MONITORING
Virtual APIs
Mock Services
Production APIs
Keep production stable
Prevent bottlenecks
Test
DevTestDev
Test
Ongoing development
API Monitoring
![Page 26: API Readiness: Visualizing and Virtualizing](https://reader030.fdocuments.us/reader030/viewer/2022032422/55a950791a28abe20a8b46af/html5/thumbnails/26.jpg)
visualizevalidatevirtualizemonitor
![Page 27: API Readiness: Visualizing and Virtualizing](https://reader030.fdocuments.us/reader030/viewer/2022032422/55a950791a28abe20a8b46af/html5/thumbnails/27.jpg)