Modern Tools for Modern Applications

Modern Tools for Modern Applications

We're all distributed systems programmers now. Services are the new processes. Our tools don't realize this yet. This talk covers some of the first-generation tools for modern distributed applications.

54b75f6fbf4434162bfcda6b0cb9b86b?s=128

John Sheehan

October 02, 2013
Tweet

Transcript

  1. John Sheehan CEO, Runscope Modern Tools for Modern Applications Thursday,

    October 3, 13
  2. What is a modern application? Thursday, October 3, 13

  3. Mobile & Desktop Apps Web Sites & Applications Internal APIs

    3rd-party Service APIs Public APIs Thursday, October 3, 13
  4. Thursday, October 3, 13

  5. A Modern Application Is Distributed Thursday, October 3, 13

  6. “There's just no getting around it: you're building a distributed

    system. -- Mark Cavage, ACM Queue Thursday, October 3, 13
  7. The Old Way Process-Oriented Thursday, October 3, 13

  8. Database Web Apps fn(x) Client Apps fn(x) Thursday, October 3,

    13
  9. Troubleshooting a performance issue in a process-oriented architecture Thursday, October

    3, 13
  10. Debug process-level code. Inspect inter-process communication. Analyze network/hardware issues. Thursday,

    October 3, 13
  11. The New Way Service-Oriented Thursday, October 3, 13

  12. Mobile & Desktop Apps Web Sites & Applications Internal APIs

    3rd-party Service APIs Public APIs Thursday, October 3, 13
  13. “Services are the new processes. -- Mark Cavage, ACM Queue

    Thursday, October 3, 13
  14. Mobile & Desktop Apps Web Sites & Applications Internal APIs

    3rd-party Service APIs Your Public APIs fn(){} fn(){} fn(){} fn(){} fn(){} Thursday, October 3, 13
  15. fn(){} fn(){} fn(){} fn(){} fn(){} YOUR APPLICATION Thursday, October 3,

    13
  16. Troubleshooting a performance issue in a service-oriented architecture. Thursday, October

    3, 13
  17. The API’s code. The API’s database. The API’s server. The

    API’s network. Your code. Your server. Your network. Debug Test Monitor Mitigate Thursday, October 3, 13
  18. Debugging Thursday, October 3, 13

  19. printf  ("new  value:  %d",  i); Thursday, October 3, 13

  20. Thursday, October 3, 13

  21. console.log("status:  "  +   resp.status); Thursday, October 3, 13

  22. But there's hope! Thursday, October 3, 13

  23. RequestBin Inspect webhooks ngrok Introspectable localhost proxy mitmproxy Man-in-the-middle proxy

    Postman Chrome HTTP request editor PonyDebugger iOS HTTP request inspector Runscope API debugging and testing Thursday, October 3, 13
  24. Testing Thursday, October 3, 13

  25. frisbyjs Node.js API testing framework VCR Ruby HTTP record/playback FakeWeb

    Ruby mock HTTP response Mocky.io Mock HTTP responses via URL httptest Go HTTP testing utilities Runscope Stay tuned :) Thursday, October 3, 13
  26. Thursday, October 3, 13