Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Binge streaming your web API

Binge streaming your web API

In a fast-paced fashion, to keep you awake after long University sessions, Audrey and Guillaume will set you up to create a Web API using Google Cloud Endpoints, and stream the content of the API in real-time with Streamdata.io. After a quick introduction to both technologies, they’ll build together both the backend and the front-end to interact live with the audience, through the Web or via a mobile app.

Guillaume Laforge

November 15, 2016
Tweet

More Decks by Guillaume Laforge

Other Decks in Technology

Transcript

  1. #Devoxx #APIStreaming @Audrey_Neveu @StreamdataIO / @glaforge @GoogleCloud Compute options of

    Google App Engine (Standard & Flex): “Deploy your code, we’ll scale it for you”
  2. #Devoxx #APIStreaming @Audrey_Neveu @StreamdataIO / @glaforge @GoogleCloud Compute options of

    Google Container Engine: OSS-based Kubernetes container clustering
  3. #Devoxx #APIStreaming @Audrey_Neveu @StreamdataIO / @glaforge @GoogleCloud Compute options of

    Google Compute Engine: Full control: reusable & customizable VMs
  4. #Devoxx #APIStreaming @Audrey_Neveu @StreamdataIO / @glaforge @GoogleCloud Cloud Endpoints: API

    management on • API Management from Google • This architecture serves hundreds of billions of requests per day • All configuration happens through Open API Spec (JSON/HTTP & gRPC)
  5. #Devoxx #APIStreaming @Audrey_Neveu @StreamdataIO / @glaforge @GoogleCloud OpenAPI Specs (formerly

    Swagger) Contract as the source of truth Facilitates team collaboration & communication Great for tooling: • server skeletons + client kits • static / live mocks or stubs • sandbox / playground • API portal, key provisioning • documentation
  6. #Devoxx #APIStreaming @Audrey_Neveu @StreamdataIO / @glaforge @GoogleCloud Three key aspects:

    For public / private / mobile / µ-services use cases Control access, authenticate users SECURE
  7. #Devoxx #APIStreaming @Audrey_Neveu @StreamdataIO / @glaforge @GoogleCloud Three key aspects:

    For public / private / mobile / µ-services use cases Logging and monitoring of key metrics SECURE MONITOR
  8. #Devoxx #APIStreaming @Audrey_Neveu @StreamdataIO / @glaforge @GoogleCloud Three key aspects:

    For public / private / mobile / µ-services use cases Speed & scalability SECURE MONITOR SCALE
  9. #Devoxx #APIStreaming @Audrey_Neveu @StreamdataIO / @glaforge @GoogleCloud Extensible Service Proxy

    (ESP) < 1ms latency Extremely thin Eliminates network hop Simpler, better security Scales with your app Will be Open Sourced
  10. #Devoxx #APIStreaming @Audrey_Neveu @StreamdataIO ✓ (Long) Polling ✓ Web Sockets

    ✓ Server-Sent Events Solutions for Real-Time application
  11. #Devoxx #APIStreaming @Audrey_Neveu @StreamdataIO [{"title":"Value 0","price":66,"param1":"1","param2":"22","param3":"33"}, {"title":"Value 1","price":63,"param1":"11","param2":"2","param3":"53"}, {"title":"Value 2","price":85,"param1":"1","param2":"22","param3":"33"},

    {"title":"Value 3","price":21,"param1":"31","param2":"12","param3":"4"}, {"title":"Value 4","price":10,"param1":"151","param2":"22","param3":"33"}, {"title":"Value 5","price":6,"param1":"11","param2":"21","param3":"33"}, {"title":"Value 6","price":60,"param1":"11","param2":"222","param3":"33"}] [{"title":"Value 0","price":66,"param1":"1","param2":"22","param3":"33"}, {"title":"Value 1","price":63,"param1":"11","param2":"2","param3":"53"}, {"title":"Value 2","price":5,"param1":"1","param2":"22","param3":"33"}, {"title":"Value 3","price":21,"param1":"31","param2":"32","param3":"4"}, {"title":"Value 4","price":10,"param1":"151","param2":"22","param3":"33"}, {"title":"Value 5","price":6,"param1":"11","param2":"21","param3":"33"}, {"title":"Value 6","price":60,"param1":"11","param2":"222","param3":"33"}] [{"op":"replace","path":"/2/price","value":5}, {"op":"replace","path":"/3/param2","value":"32"}] JSON-PATCH (RFC-6902)
  12. #Devoxx #APIStreaming @Audrey_Neveu @StreamdataIO / @glaforge @GoogleCloud Picture credits Remote

    control & TVs — CC BY 2.0 https://www.flickr.com/photos/televisione/21911805668 Recipe https://pixabay.com/static/uploads/photo/2014/12/21/23/28/recipe-575434_960_720.png Demonstration https://upload.wikimedia.org/wikipedia/commons/b/b9/Armenian_Presidential_Elections_2008_Protest_Day_11 _-_French_Embassy_Demonstration_430pm_general_view.jpg