{"guid":"e303b05d-9930-593f-8184-9233c04f6ec7","title":"How to host and access STAC Imagery using Google's gRPC Remote Procedure Call framework and Protobuf messages","subtitle":null,"slug":"bucharest-426-how-to-host-and-access-stac-imagery-using-google-s-grpc-remote-procedure-call-framework-and-protobuf-messages","link":"https://talks.2019.foss4g.org/bucharest/talk/7NBS9M/","description":"At Swiftera we've built a Spatio Temporal Asset Catalog (STAC) service using the gRPC framework and protobuf messages (instead of the OpenAPI framework and JSON messages) . The Remote Procedure Call framework, gRPC, and the protobuf message format are what Google uses internally for it's micro-services (10s of billions of messages a second). Since Google open sourced gRPC 4 years ago, it has been widely adopted by companies moving massive amounts of data (Netflix,  Salesforce, Spotify and others). But it isn't only about performance, it's also an suprisingly easy framework to get up and running. At FOSS4GNA we open sourced our NAIP metadata service and the IDL defining the services and messages. By Bucharest we plan to have added Landsat and Sentinel to our public gRPC service. We want to share more about what it's like to work with gRPC and the ease of development for hosting your own gRPC services.\n\nNone","original_language":"eng","persons":["David Raleigh"],"tags":["bucharest","426","2019","General"],"view_count":52,"promoted":false,"date":"2019-08-30T00:00:00.000+02:00","release_date":"2019-08-30T02:00:00.000+02:00","updated_at":"2025-01-27T10:45:08.332+01:00","length":1471,"duration":1471,"thumb_url":"https://static.media.ccc.de/media/conferences/foss4g2019/426-hd.jpg","poster_url":"https://static.media.ccc.de/media/conferences/foss4g2019/426-hd_preview.jpg","timeline_url":"https://static.media.ccc.de/media/conferences/foss4g2019/426-hd.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/conferences/foss4g2019/426-hd.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bucharest-426-how-to-host-and-access-stac-imagery-using-google-s-grpc-remote-procedure-call-framework-and-protobuf-messages","url":"https://api.media.ccc.de/public/events/e303b05d-9930-593f-8184-9233c04f6ec7","conference_title":"FOSS4G 2019","conference_url":"https://api.media.ccc.de/public/conferences/foss4g2019","related":[{"event_id":5436,"event_guid":"c385ad1d-5cfd-55bd-afa1-a453f9e338c3","weight":1},{"event_id":5440,"event_guid":"8dee6863-f2ab-5d48-9260-11d017abb870","weight":1},{"event_id":7489,"event_guid":"7c66788d-24a7-5951-865f-c85816356441","weight":1},{"event_id":7493,"event_guid":"dd3738e7-3aa6-580a-a526-d9087b930c84","weight":1},{"event_id":7498,"event_guid":"b197164d-0898-54b9-9348-e8d76b0efb91","weight":1},{"event_id":7513,"event_guid":"17f484f5-c4e2-58da-a7ec-cb18c3e85cd4","weight":1},{"event_id":7516,"event_guid":"edcad3ee-627e-5a69-8432-c12c4a09173c","weight":1},{"event_id":7522,"event_guid":"74922ed0-86dd-5568-98fb-6fc812852441","weight":1},{"event_id":7526,"event_guid":"fd5614a8-535f-5069-8f69-3a9983d37830","weight":1},{"event_id":7528,"event_guid":"92975aff-039a-5545-ba1f-1252a7690110","weight":1},{"event_id":7539,"event_guid":"deadde12-6ce3-5394-aeec-531251a711a2","weight":1},{"event_id":7540,"event_guid":"835f3234-2e2a-5d75-a3f3-7c822e225d60","weight":1},{"event_id":7543,"event_guid":"7b40d7a8-7350-54ce-9809-87c5b0ee912f","weight":1},{"event_id":7575,"event_guid":"bcca12c5-309f-588b-a67e-c5f1fc31f998","weight":1},{"event_id":7576,"event_guid":"88c4c363-fafc-52a3-9ddf-60753caed575","weight":1},{"event_id":7581,"event_guid":"f3a8dd85-9308-553a-928d-bfd47824fbd7","weight":1},{"event_id":7582,"event_guid":"95c65e38-a93e-5306-a9c6-b1cdc197bb58","weight":1},{"event_id":7587,"event_guid":"1dac21fe-e493-541b-8e5f-ba1c1f15db2c","weight":1},{"event_id":7591,"event_guid":"3a4e2ca2-c4f2-5516-8f69-01be68113f22","weight":1},{"event_id":7592,"event_guid":"31bcb788-988b-56f6-90ba-69ebac85b83d","weight":1},{"event_id":7597,"event_guid":"5250fc42-6c79-5499-9029-87009757e5f5","weight":1},{"event_id":7599,"event_guid":"6dcfbcee-a817-50dc-a293-f200b4a15b71","weight":1},{"event_id":7601,"event_guid":"764ef9d5-9a23-5351-ba0c-98e518d7cb50","weight":1},{"event_id":7613,"event_guid":"0b7d0b85-cf67-5382-aba4-9035a9e7963a","weight":1},{"event_id":7621,"event_guid":"8e5e286c-0e3c-5c18-9122-dee8e92752cc","weight":2},{"event_id":7631,"event_guid":"989095dc-a2cf-5089-88da-1ae250f1cdce","weight":1},{"event_id":7640,"event_guid":"82b144e3-2fb0-5184-89b7-4594567be536","weight":1},{"event_id":7643,"event_guid":"63e1996e-b296-55cb-9fd6-4e4d22e878f6","weight":1},{"event_id":7650,"event_guid":"eb077a88-d0d1-5a87-bc50-68bacdeaf135","weight":1},{"event_id":7669,"event_guid":"7627a093-69e4-5c72-b8b5-0f05c27ce815","weight":1},{"event_id":7678,"event_guid":"c9058144-0344-5cdd-9e8d-228d9a6443f3","weight":1},{"event_id":7689,"event_guid":"6a5482fd-2b09-5bea-bea5-b48ba7e33cf3","weight":1},{"event_id":7693,"event_guid":"7b831cc0-2092-52d2-bb54-f219e39a666f","weight":1},{"event_id":7695,"event_guid":"5df0ebe1-cfe2-54c4-a0c8-40e35a6de826","weight":1},{"event_id":7708,"event_guid":"f41c767d-1f3d-5e46-a477-1a9dde63e146","weight":1},{"event_id":7710,"event_guid":"9bce8e1a-0dc8-5c82-977c-23dccd115e89","weight":1},{"event_id":7714,"event_guid":"33201832-16d0-59aa-b06b-93d04ed0b637","weight":1},{"event_id":7715,"event_guid":"664da34a-88d9-57c5-8b88-cdbfca55029b","weight":1},{"event_id":7717,"event_guid":"a68f321d-2709-5ede-8a20-aeb7f8d4a723","weight":1},{"event_id":7724,"event_guid":"583daa21-2358-57db-8ee9-d7e1572e4c8f","weight":1},{"event_id":7726,"event_guid":"5fabfcb3-0d99-553b-a6f8-5a6119513afc","weight":1},{"event_id":7727,"event_guid":"812560ad-8181-524d-a843-95523fed1e81","weight":1},{"event_id":7728,"event_guid":"19bd2191-55cb-5597-9c69-b05fbce25eea","weight":1},{"event_id":7734,"event_guid":"0e88cd88-aa0a-5920-9708-e22fbf97b784","weight":1},{"event_id":7736,"event_guid":"61205921-df6b-5dff-902b-9d757f719602","weight":1},{"event_id":7737,"event_guid":"a8593987-dcf7-54ec-abef-5fda903cd5a6","weight":1},{"event_id":7738,"event_guid":"ecbd87e4-3c54-5fbe-b5fd-aefc02e7c95d","weight":1},{"event_id":7739,"event_guid":"9fb4a987-3f98-530a-9177-41099f13ddef","weight":1},{"event_id":7747,"event_guid":"bd73f1db-b0ba-582e-b515-bc1e1bc10f7d","weight":1},{"event_id":7748,"event_guid":"753ef9d6-c39e-5cdb-88c5-1ebe4760f70a","weight":1},{"event_id":7751,"event_guid":"bb1806af-1579-5ee7-916e-099ef1bb74f1","weight":1}],"recordings":[{"size":116,"length":1471,"mime_type":"video/mp4","language":"eng","filename":"bucharest-426-eng-How_to_host_and_access_STAC_Imagery_using_Googles_gRPC_Remote_Procedure_Call_framework_and_Protobuf_messages_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2019-08-30T17:48:29.161+02:00","recording_url":"https://cdn.media.ccc.de/events/foss4g2019/h264-hd/bucharest-426-eng-How_to_host_and_access_STAC_Imagery_using_Googles_gRPC_Remote_Procedure_Call_framework_and_Protobuf_messages_hd.mp4","url":"https://api.media.ccc.de/public/recordings/39362","event_url":"https://api.media.ccc.de/public/events/e303b05d-9930-593f-8184-9233c04f6ec7","conference_url":"https://api.media.ccc.de/public/conferences/foss4g2019"},{"size":13,"length":1471,"mime_type":"audio/opus","language":"eng","filename":"bucharest-426-eng-How_to_host_and_access_STAC_Imagery_using_Googles_gRPC_Remote_Procedure_Call_framework_and_Protobuf_messages_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2019-08-30T17:51:28.157+02:00","recording_url":"https://cdn.media.ccc.de/events/foss4g2019/opus/bucharest-426-eng-How_to_host_and_access_STAC_Imagery_using_Googles_gRPC_Remote_Procedure_Call_framework_and_Protobuf_messages_opus.opus","url":"https://api.media.ccc.de/public/recordings/39370","event_url":"https://api.media.ccc.de/public/events/e303b05d-9930-593f-8184-9233c04f6ec7","conference_url":"https://api.media.ccc.de/public/conferences/foss4g2019"},{"size":22,"length":1471,"mime_type":"audio/mpeg","language":"eng","filename":"bucharest-426-eng-How_to_host_and_access_STAC_Imagery_using_Googles_gRPC_Remote_Procedure_Call_framework_and_Protobuf_messages_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2019-08-30T17:51:59.210+02:00","recording_url":"https://cdn.media.ccc.de/events/foss4g2019/mp3/bucharest-426-eng-How_to_host_and_access_STAC_Imagery_using_Googles_gRPC_Remote_Procedure_Call_framework_and_Protobuf_messages_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/39373","event_url":"https://api.media.ccc.de/public/events/e303b05d-9930-593f-8184-9233c04f6ec7","conference_url":"https://api.media.ccc.de/public/conferences/foss4g2019"},{"size":41,"length":1471,"mime_type":"video/mp4","language":"eng","filename":"bucharest-426-eng-How_to_host_and_access_STAC_Imagery_using_Googles_gRPC_Remote_Procedure_Call_framework_and_Protobuf_messages_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2019-08-30T17:54:29.349+02:00","recording_url":"https://cdn.media.ccc.de/events/foss4g2019/h264-sd/bucharest-426-eng-How_to_host_and_access_STAC_Imagery_using_Googles_gRPC_Remote_Procedure_Call_framework_and_Protobuf_messages_sd.mp4","url":"https://api.media.ccc.de/public/recordings/39381","event_url":"https://api.media.ccc.de/public/events/e303b05d-9930-593f-8184-9233c04f6ec7","conference_url":"https://api.media.ccc.de/public/conferences/foss4g2019"},{"size":58,"length":1471,"mime_type":"video/webm","language":"eng","filename":"bucharest-426-eng-How_to_host_and_access_STAC_Imagery_using_Googles_gRPC_Remote_Procedure_Call_framework_and_Protobuf_messages_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2019-08-30T17:58:10.395+02:00","recording_url":"https://cdn.media.ccc.de/events/foss4g2019/webm-sd/bucharest-426-eng-How_to_host_and_access_STAC_Imagery_using_Googles_gRPC_Remote_Procedure_Call_framework_and_Protobuf_messages_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/39387","event_url":"https://api.media.ccc.de/public/events/e303b05d-9930-593f-8184-9233c04f6ec7","conference_url":"https://api.media.ccc.de/public/conferences/foss4g2019"},{"size":157,"length":1471,"mime_type":"video/webm","language":"eng","filename":"bucharest-426-eng-How_to_host_and_access_STAC_Imagery_using_Googles_gRPC_Remote_Procedure_Call_framework_and_Protobuf_messages_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2019-08-30T18:09:32.197+02:00","recording_url":"https://cdn.media.ccc.de/events/foss4g2019/webm-hd/bucharest-426-eng-How_to_host_and_access_STAC_Imagery_using_Googles_gRPC_Remote_Procedure_Call_framework_and_Protobuf_messages_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/39421","event_url":"https://api.media.ccc.de/public/events/e303b05d-9930-593f-8184-9233c04f6ec7","conference_url":"https://api.media.ccc.de/public/conferences/foss4g2019"}]}