Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

API Readiness: Visualizing and Virtualizing

1,228 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

API Readiness: Visualizing and Virtualizing

  1. 1. API Readiness: Visualizing and Virtualizing LO R I N D A B R A N D O N @ L I N DY B R A N D O N S M A RT B EA R S O F T WA R E
  2. 2. Keys to a successful API documentation testing mocking evangelism management monitoring
  3. 3. But how do you get there?
  4. 4. API Readiness visualize
  5. 5. Service Definitions The best way to visualize your API
  6. 6. Describing Is not really visualizing
  7. 7. 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
  8. 8. Visualizing : New ideas Swagger.ed (credit - @chefarchitect) Coloring outside the lines New Ideas
  9. 9. Visualizing : New ideas Ardoq Coloring outside the lines New Ideas
  10. 10. Visualizing : New ideas LucyBot Coloring outside the lines New Ideas
  11. 11. API Readiness visualize validate
  12. 12. Functional Test Live up to your own hype
  13. 13. Load Test Don’t let success kill you
  14. 14. Security Test Know where the dangers are
  15. 15. API Readiness visualize validate virtualize
  16. 16. Why virtualize your APIs?
  17. 17. Bootstrap Parallel dev and test Test Design Virtual API Generate from spec or with tools Client Development Integration Development
  18. 18. Isolate Test 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
  19. 19. 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
  20. 20. Provide Sandbox Hardware / Software Solution API Virtual API Evaluate Integrate Integration Test
  21. 21. Enable API evolution… Corp Corp Web app Corp App + API API API API Device APP API Device IoT Device IoT Device API API API
  22. 22. 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
  23. 23. 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
  24. 24. API Readiness visualize validate virtualize monitor
  25. 25. MONITO RING Virtual APIs Mock Services Production APIs Keep production stable Prevent bottlenecks Test DevTestDev Test Ongoing development API Monitoring
  26. 26. visualize validate virtualize monitor

×