Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
チャリチャリのIoTプロダクトを支えるGoogle Cloudのインフラ構成 / Public Cloud LT #1
Search
Shinya Hiruta
October 06, 2023
Technology
0
95
チャリチャリのIoTプロダクトを支えるGoogle Cloudのインフラ構成 / Public Cloud LT #1
2023/10/06 【福岡現地開催】パブリッククラウドLT会 #01 発表資料
https://dentalight.connpass.com/event/296307/
Shinya Hiruta
October 06, 2023
Tweet
Share
More Decks by Shinya Hiruta
See All by Shinya Hiruta
いろんなバイクを作ってみた話 / Shumi LT #1
hirutas
0
15
EM完全に理解した と思ったけど、 やっぱり何も分からなかった話 / EM Night Fukuoka #1
hirutas
0
330
モバイル端末とIoTハードウェアを組み合わせたサービス設計のあゆみ / mobatiki #3
hirutas
0
27
2023年、福岡にコミットした結果どうだったか? / Geeks Who Drink in Fukuoka 20231130
hirutas
0
9
3Dプリンタと電子工作で光るCharichariオブジェを作った話 / Geeks Who Drink in Fukuoka 20230926
hirutas
0
93
エンジニア向けイベントを初めて主催してみたノウハウ、すべて教えます / DAIMYO Meetup #2
hirutas
0
110
チャリチャリのサービスを支えるプロダクトの仕組みと開発組織の全体像について / neuet × LINE Fukuoka Engineer Meetup
hirutas
0
460
チャリチャリを作った僕の発音は間違っているのだろうか / DAIMYO Meetup #1
hirutas
0
170
Geeks Who Drink in Fukuoka - 2023年度の抱負 edition - / Geeks Who Drink in Fukuoka 20230426
hirutas
0
6
Other Decks in Technology
See All in Technology
Google Cloudを組織(企業)で運用する時のベストプラクティス × 健康の環境分離戦略 #まるクラ勉強会
yasumuusan
0
190
技術力の伸ばし方を考える
khirata
0
150
社内での継続的な機械学習勉強会の開催のコツ
yudai00
2
390
日本が誇るイタリアのダンスミュージック!? ユーロビートって何??
minorun365
PRO
2
230
OPENLOGI Company Profile for engineer
hr01
1
2.2k
多言語化対応における TypeScript の型定義を通して開発のしやすさについて考えた / TSKaigi TypeScript Multilingualization
nabeliwo
2
390
TiDBにおけるテーブル設計と最適化の事例
cygames
0
810
The depthes of profiling Ruby - RubyKaigi 2024
osyoyu
0
210
CloudflareとHonoを使って飲食店のレビューができるLINEアプリを作った
shinaps
1
550
PHP 9 に備えよ - 動的プロパティ、どうすればいぃ?
taisukearase
0
380
20240516 OpenID TechNight Vol.21 「OIDFシェアードシグナルフレームワーク(ID2)を利用してリアルタイムでセキュリティシグナルを共有するための最新情報」
oidfj
0
170
エンジニアゼロの組織から内製開発の DX をどう実現したのか / How did we achieve DX in in-house development in an organization with zero engineers?
genkiogasawara
7
3.2k
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
30
6.4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
12
1.1k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
7k
Art, The Web, and Tiny UX
lynnandtonic
290
19k
Raft: Consensus for Rubyists
vanstee
133
6.3k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
41
4.5k
Learning to Love Humans: Emotional Interface Design
aarron
268
39k
Become a Pro
speakerdeck
PRO
13
4.6k
A better future with KSS
kneath
231
16k
Navigating Team Friction
lara
179
13k
Teambox: Starting and Learning
jrom
128
8.4k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.7k
Transcript
チャリチャリのIoTプロダクトを支える Google Cloudのインフラ構成 パブリッククラウドLT会 #01 2023/10/06 Shinya Hiruta (hirutas) 1
自己紹介 蛭田 慎也(hirutas) neuet株式会社 VP of Engineering チャリチャリの開発チームを統括 • 略歴
◦ DeNA(2013) → ソウゾウ(2017) ー転籍→ neuet(2020) 2 @hiru_ecn
今日の内容 チャリチャリのサービス紹介 プロダクト・システムの構成 インフラ構成 5年間の運用振り返り 3
サービス紹介 4
国内最速で成長している シェアサイクル 福岡・名古屋・東京・熊本 でサービスを展開 チャリチャリ (Charichari) 5
サービスの沿革 6
日常のご利用を中心に、急速に拡大中 対前年比で 65% 以上の成長 ※1 累計ライド数 1,800 万回 ※2 ライド数の推移
7 ※1) 2021年と2022年の比較。全エリア合計 ※2) 2023年9月時点
プロダクト・システムの構成 8
プロダクト お客さま向け 運営向け 9
お客さま向けシステムの構成要素 サーバ お客さまアプリ スマートロック 10
アプリ、スマートロック、サーバ間の通信 BLE (Bluetooth Low Energy) LTE LTE 位置情報 位置情報 11
運営向けシステム Fleet Manager Portal (Web) 12 運営アプリ (Android + Webview)
インフラ構成 13
Google Cloudの採用 14 背景 • 2017年末、メルカリ(ソウゾウ)社内でGCP ※ の利用実績があった ◦ メルペイの新規立ち上げ等で、
全社的にGCP+Goの知見を高めていくフェーズだった 主な構成 • お客さまアプリ側バックエンド ◦ AppEngine、Datastore(※ Firestore Datastore mode) • 運営側バックエンド ◦ Cloud Run、Firestore (※ Native mode) ※Google Cloud Platform(GCP) は Google Cloud という名称に変更された
バックエンドの概要 15 ※3代目のスマートロックに関する構成。2代目以前は一部異なる
IoTシステムとの連携 • SORACOM Platform ◦ LTE通信 ▪ SORACOM Air for
セルラー (Global) ◦ プロトコル変換、暗号化 ▪ SORACOM Beam 16
IoTシステムとの連携 • ClearBlade IoT Core ◦ Google IoT Core が
2023/8/16 にサービス終了し、乗り換え ◦ 機能 ▪ IoTデバイスの管理 ▪ MQTTブローカー 17
構成の意図、メリット • デバイス側のコンピューティングリソースは貧弱 ◦ 暗号化通信をクラウド側に寄せることで、 デバイス→接続先までは平文で通信可能に(閉域網内) • ファームウェアの更新はコストが大きい ◦ クラウド側の接続先変更もファームウェア修正なしに実現可能
18
耐障害性を高める工夫 • アプリ・スマートロックのいずれかの通信が 正常に行われない場合でも、ライドが終了する仕組み ◦ ライド開始後にアプリを終了されたり、スマホのバッテリーが切れる ケースなども想定 ◦ 位置情報の信用度を内部的に管理し、最も確からしい位置を推定 19
5年間の運用振り返り 20
アプリケーションの構築に注力できた 21 • インフラ専任担当が不在の状態でも、 アプリケーションの構築・実装に注力できた ◦ バックエンドエンジニア(正社員)は過去最大でも2名体制 • 月間利用数は230倍以上に増えたが、インフラは ほぼメンテナンスフリーでスケール
※ した ◦ 月間ライド数 約3,000回(2018/3) → 約740,000回(2023/9) ※当初のインフラ構成を変更することなく、設定パラメータ等の調整のみを実施し、適切にスケールアウトできている状態
課題 • サービス拡大に応じてインフラ費用もスケール中 ◦ 一般的に、パブリッククラウドは従量課金のコンポーネントが多い ◦ 初期はコストメリットが大きいが、 一定以上のトラフィックに増えてきた場合は工夫の余地がある • インターネット上だけではない、
実世界ならではの制約に悩まされることも多い ◦ LTEへの同時接続が難しい問題 ▪ 通信事業者の基地局キャパシティがボトルネック ◦ 新デバイス開発・製造の難しさ ▪ 体制、コスト、発注ロット数、など ◦ ハードウェアの物理的な故障、修理等のオペレーション問題 22
まとめ 23
まとめ 24 パブリッククラウドの活用により、 リアルなまちに溶け込むIoTサービスを 低コスト・短期間で立ち上げることができた
パブリッククラウドを活用して、 リアルな街の移動を支えるサービスを開発したい エンジニア・PdM 大募集中! WE ARE HIRING! 25 チャリチャリ 採用情報
検索 🔍 続きは 懇親会で!