Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Cloud IoT Core as Log Aggregation Gateway
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
sakajunquality
January 19, 2019
Technology
650
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cloud IoT Core as Log Aggregation Gateway
GDG 信州 / GCPUG 信州 新春勉強会
sakajunquality
January 19, 2019
More Decks by sakajunquality
See All by sakajunquality
AIと共生する開発者プラットフォーム:バクラクのモノレポ×マイクロサービス基盤
sakajunquality
2
6.2k
DevFest Tokyo 2023: Google Cloudでチームで安全にデプロイをする
sakajunquality
10
2k
Cloud Spanner Monitoring 入門 / Cloud Spanner Monitoring Introduction
sakajunquality
1
1.6k
GKE Overview March 2021: Introducing Autopilot
sakajunquality
1
930
Introduction to Cloud Run 2021
sakajunquality
3
1.7k
Building Reliable Distributed Systems on GCP
sakajunquality
1
320
Istio 1.5 Updates
sakajunquality
4
2.1k
GCP 101: Getting Started through Cloud Run
sakajunquality
6
3.9k
Seeking Observability, Getting Started with Service Mesh
sakajunquality
0
220
Other Decks in Technology
See All in Technology
アクセスキーこわい やめかたと漏らさない工夫
sassssan68
1
480
技術的負債から考える、AI時代のエンジニアリング投資 — ビズリーチの技術的負債と向き合った経験から、変更し続けられるソフトウェアを考える/ technical-debt-con2026
visional_engineering_and_design
4
3.3k
AgentCore Runtime上にAgentic Coding基盤を構築・展開する際の設計ポイントと限界点 / Design considerations and limitations when building an agentic coding platform on AgentCore Runtime
har1101
5
450
`t*(42&t>>10)`だけで音楽が鳴る、Swiftで実装するBytebeat / iOSDC Japan 2026
yutailang0119
0
120
バイブコーディング時代のWebアプリ開発入門~Cloud Runで学ぶセキュアなビルドとデプロイ
waiwai2111
1
140
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
5
25k
Issue 駆動でスペシャリストの意図を届ける、AI 実装のアクセシビリティ向上
thkt
0
120
安心して変更できるWebフロントエンドの作り方
pirosikick
5
2.8k
beyond jj: config & tools ecosystem
indirect
0
5.3k
EventBridge に「合流」はない ― サーバーレスのワークフローを育てるということ / No Join in EventBridge
yusukeshimizu
2
260
時うどん〜Socket.getifaddrsで学ぶネットワーク編 / Tokiudon: The Socket.getifaddrs Edition
coe401_
3
120
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
12k
Featured
See All Featured
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
600
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
570
My Coaching Mixtape
mlcsv
0
320
The Cost Of JavaScript in 2023
addyosmani
55
10k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
910
Ethics towards AI in product and experience design
skipperchong
2
380
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
230
Designing Experiences People Love
moore
143
24k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
580
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
460
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
870
KATA
mclloyd
PRO
35
15k
Transcript
Cloud IoT Core as Log Aggregation Gateway @sakajunquality 2019.01.19 GDG/GCPUG
Shinshu
Cloud IoT Core as Log Aggregation Gateway + α @sakajunquality
2019.01.19 GDG/GCPUG Shinshu
Agenda - About me - Cloud IoT & Log Aggregation
- (おまけ)Kubernetes at Edge
About me
About me Jun Sakata - ID: @sakajunquality - Google Developers
Expert, GCP - SWE, Reliability @Ubie, Inc.
@sakajunquality - 最近やってること - #docker #kubernetes - よく使うGCPプロダクト - #GKE
#Cloud Build #BigQuery - 好きなこと - #Photograph #Beer #Coffee
@sakajunquality - 最近やってること - #docker #kubernetes - よく使うGCPプロダクト - #GKE
#Cloud Build #BigQuery - 好きなこと - #Photograph #Beer #Coffee => IoT 詳しくない!!
@sakajunquality - 最近やってること - #docker #kubernetes - よく使うGCPプロダクト - #GKE
#Cloud Build #BigQuery - 好きなこと - #Photograph #Beer #Coffee => IoT 詳しくない!! => ちなみに長野はn回目! ( 3<n<5 )
Cloud IoT Core & Log Aggregation
(前職の事例のため具体的なプロダクト名は伏せま す。ざっくりDAU数十万人のtoCサービスです。)
Sending Logs
Logs from Smartphone App ユーザーの行動データ e.g. クリックやスクロールなど
How to send log? - From Server-Side - From Client-Side
How to send log? - From Server-Side - バックエンドのAPIサーバーなどへのリクエストをベースにロギング -
通信は少ないが、行動が詳細にわからない
How to send log? - From Server-Side - From Client-Side
How to send log? - From Client-Side - バックエンドのAPIサーバーなどとは別にクライアントサイドからログを送る -
通信が増えるかもしれないが、詳細なログが取得可能
How to send log? - From Client-Side Several things to
consider... - Storage - Endpoint - Protocol
How to send log? - From Client-Side Several things to
consider... - Storage - Endpoint - Protocol
Storage
BigQuery - みんな大好きBigQuery - データの種類にもよると思うが汎用的に使える - スケールを考えるとBigQueryにデータを貯めるのが楽
How to send log? - From Client-Side Several things to
consider... - Storage - Endpoint - Protocol
Endpoint
Endpoint Serverless VM/Container
Endpoint Serverless VM/Container Cloud Pub/Sub Cloud Functions GAE GCE GKE
Cloud IoT Core as Endpoint
Cloud IoT Core ログの受け口とすることで・・・ - ログを受けるアプリケーションの実装が不要 - スケーラブルなマネージドのインフラが利用可能
How to send log? - From Client-Side Several things to
consider... - Storage - Endpoint API - Protocol
Protocols Several protocols... - HTTP - MQTT - AMQP -
Websocket? - Protobuf?
Protocols Cloud IoT Core supports... - HTTP - MQTT -
AMQP - Websocket? - Protobuf?
MQTT - 軽量なプロトコル - Pub/Sub型 MQ - Use Case: FB
Messenger
MQTT over Websocket - Webのフロントから直接通信する場合は、 httpで通信する必要があるので - websocket(over http)で使うことが必要 -
現時点ではCloud IoT Coreでは対応して内が、httpとして送ることができる
Processing Logs
Processing Logs - Cloud IoT Core に飛ばしたログをDWH (今回はBigQuery) に飛ばす
Processing Logs 具体的には、 - Cloud IoT Core to Cloud Pub/Sub
- Cloud Pub/Sub to BigQuery via Cloud Dataflow
Cloud IoT Core to Cloud Pub/Sub - Cloud IoT Coreのログは
Cloud Pub/Sub に送られる - セットアップする際にdevice(デバイス管理用)/telemetry(ログ受取用) のトピックを求められる
Why not sending directly to Cloud Pub/Sub? - Cloud IoT
Coreだと ProtocolとしてMQTTが使える - Cloud Pub/Sub だとクライアントでの認証認可がめんどくさい
Cloud Pub/Sub to BigQuery - Cloud Dataflow を使用して、BigQueryにデータを挿入する - Telemetryのトピックに対してSubscriptionを追加
Cloud Dataflow - Apache Beamをベースとしたログパイプラインのプラットフォーム - SDKはJava / Python -
Batch + Stream => Beam - 便利なライブラリもある - https://github.com/spotify/scio
Cloud Pub/Sub to Cloud Storage - スキーマ変更時にDataflowを壊してログが欠損しないように Cloud Storageに生ログの保存 -
Cloud Pub/Sub は複数のSubscriptionを作れる - GCSに上げるだけだと Cloud Dataflowも公式テンプレートを使える
Final Architecture
Architecture: Before ホントはfluentdが あったりごちゃご ちゃ
Architecture: After 一部サーバーサイド から送ってるログも Dataflow経由に変 更
Troubles? - Cloud IoT Coreのデバイス数の上限に達した - ユーザーのデバイス (iOS/Android)ごとにIoTデバイスを登録していた - 上限緩和申請
- 適切に使われてないデバイスは削除する - まとめて消すAPIがなかった(当時) - Webからは MQTT で送れない - 安定したライブラリがない? - フロントでJWTを扱うのがめんどくさい - Over Websocketが使えない (GAEでブローカーを作る? ) - 一旦httpで送る
Troubles? - Pub/Subのトピックは消えないけど、使用していないとサブスクリプションは自動で消えるので注意
Takeaways - 本来は双方向で通信しデバイスを管理するためだが単方向のみにも使える - IoT というよりも MQTT という軽量プロトコルを簡単に使える - ログの収集としては少し
too muchかも知れないが技術的には面白かった - Cloud IoT Core, Cloud Pub/Sub, Cloud Dataflow, BigQuery すべてスケーラブル
Kubernetes at Edge ~from KubeCon 2018 NA~
Kubernetes - GoogleのBorgをベースとしたコンテナオーケストレーションの OSS - KubernetesのマネージドサービスがGKE
https://twitter.com/superbrothers/status/1060468439091822592
Kubernetes at Edge - Kubernetes IoT Edge Working Group -
Recap from KubeCon 2018 NA - KubeCon - IoT Edge Working Group Intro & Deep Dive - Use Case: Chick-fil-A
Kubernetes at Edge - Kubernetes IoT Edge Working Group -
Recap from KubeCon 2018 NA - KubeCon - IoT Edge Working Group Intro & Deep Dive - Use Case: Chick-fil-A
Kubernetes IoT Edge Working Group - IoT と EdgeでのKubernetesの活用を話し合うグループ -
2週1でオンラインミーティング
https://github.com/kubernetes/community/tree/master/wg-iot-edge
Kubernetes IoT Edge Working Group 実際のIoT環境での構築や、検証(PoC)、改善などを話し合っている
White Paper: IoT and Edge computing with Kubernetes http://bit.ly/iot-edge-whitepaper -
クラウドネイティブなパラダイムでエッジでも Kubernetesを使えるようにしたい
Kubernetes at Edge - Kubernetes IoT Edge Working Group -
Recap from KubeCon 2018 NA - KubeCon - IoT Edge Working Group Intro & Deep Dive - Use Case: Chick-fil-A
KubeCon - Officially, “KubeCon + CloudNativeCon” - 年3回: EU/China/NA -
Kubernetes / Cloud Native app & developmentなどについて - IoTに関するセッションが2つ
KubeCon - YouTubeに全セッションが上がってるので映像で確認できます - (自分のセッションも・・・)
IoT Edge Working Group Intro & Deep Dive IoT Edge
WG Session - Intro: Kubernetes IoT Edge WG - https://sched.co/HSBb - Deep Dive: Kubernetes IoT Edge WG - https://sched.co/HSCE
Intro: Kubernetes IoT Edge WG
Intro - https://sched.co/HSBb - パネルディスカッション形式でワーキンググループの説明など
Deep Dive: Kubernetes IoT Edge WG
Deep Dive - https://sched.co/HSCE - Introと同じメンバーでのセッション - もう少し技術的詳細について
Why Edge? Data Pre-Processing - Network Cost - Latency /
Bandwidth - Data Policy - e.g. GDPR
KubeEdge - https://github.com/kubeedge/kubeedge
KubeEdge - Kubernetesのクラスター自体はクラウド上 - Edgeのノードをクラウドのクラスターの CRDで管理? - EdgeのデバイスとEdgeのノードが通信
Use Case: Chick-fil-A - https://sched.co/GrXv - セッション自体はKubernetesのGitOpsについ て - アメリカのチキンサンド店の店舗に
Kubernetes のクラスターを置いてる話 - 結構美味しそう (https://www.chick-fil-a.com/)
Use Case: Chick-fil-A - とにかくトランザクションが多い
Use Case: Chick-fil-A - このような Kubernetes のクラスターを各店舗 に設置
Use Case: Chick-fil-A - 結果として相当量のMQTTのメッセージを扱っ ている
Takeaways - KubernetesもEdgeでの利用も広がりそう! - TPU Edgeと組み合わせられると面白そう! - GKE + Cloud
IoT Core + KubeEdge + TPU Edge みたいなのを試すと楽しそう