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
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
3
7.9k
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
330
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
230
Other Decks in Technology
See All in Technology
Webの常識が通じないHTMLメールのダークモード
teamlab
PRO
0
120
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.7k
PagerDuty Tech Hub-鳴らすけれど、人は動かない
ezaki
0
170
宣言型部分更新は何を解決しどこへ向かうのか
shuta13
1
450
Temporal 最高!でも改めて「日付」について調べたら人類の負債すぎる件
riyaamemiya
0
140
re:Invent初参加で変わったこと、2回目にやってみたいこと(JAWS-UG彩の国埼玉 #12)
mhrtech
2
220
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
4
1.1k
今さら理解するウェブフォントver.2026
takanorip
3
770
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
250
1つのリクエストを追って理解する - llm-dのP/D分離
akhino
1
160
QA4AI 2026-Oct 生成AI時代の品質保証
tokuty
1
860
M5Stackで作る BLEマウス GPSログの世界
tomokusaba
0
420
Featured
See All Featured
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
600
Testing 201, or: Great Expectations
jmmastey
46
8.3k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
First, design no harm
axbom
PRO
2
1.3k
Paper Plane
katiecoart
PRO
5
54k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
630
Raft: Consensus for Rubyists
vanstee
142
7.8k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
630
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
We Are The Robots
honzajavorek
0
400
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
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 みたいなのを試すと楽しそう