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
sakura.ioのアーキテクチャとネットワーク設計 / Architecture and ...
Search
chibiegg
November 28, 2018
Technology
0
1k
sakura.ioのアーキテクチャとネットワーク設計 / Architecture and network design of sakura.io
2018/11/28 Alternative Architecture DOJO Offline #1
chibiegg
November 28, 2018
Tweet
Share
More Decks by chibiegg
See All by chibiegg
パブリッククラウドにおける機密コンピューティング@さくらのTech Day 2024-11-12 / Confidential Computing in Public Cloud
chibiegg
0
190
tiupによるTiDBの構築 @ TiUG Meetup #3 Osaka / Building TiDB with TiUP
chibiegg
1
210
Stable Diffusionの使い方と追加学習によるLoRAの作成~GPUコンテナサービス “高火力 DOK” の活用~ @ 2024-06-29 OSC2024 Hokkaido / Stable Diffusion and Creating LoRA with Additional Training ~ with 'Koukaryoku DOK' ~
chibiegg
1
1.7k
長期間TiDBを使ってきた話 @ 私たちはなぜNewSQLを使うのかTiDB選定5社が語る選定理由と活用LT / Experiences with TiDB Over Time
chibiegg
3
1.5k
3年近くTiDBを使ってきた話 @ TiUG Kick Off #0 / My Journey with TiDB: Nearly Three Years On @ TiDB User Group Kick Off #0
chibiegg
4
1.3k
SDR (Software Defined Radio) を使った無線の解析 @ 2023-02-11 SECCON 電脳会議 2022 / Wireless Analyzing using SDR @ SECCON 2022
chibiegg
1
1.5k
分散DBを運用してみて〜TiDB の仕組みと実例〜 @ さくらの夕べ Tech Night #5 Online / About TiDB @ SAKURA internet Tech Nignt #5 Online
chibiegg
1
550
クラウドネイティブなデータベースTiDB の魅力@db tech showcase 2021 / PingCAP TiDB with SAKURA internet
chibiegg
1
440
多言語情報をデータベースにどう持つか @さくらの夕べ Tech Night #3 Online / Solve N+1 on Django
chibiegg
0
290
Other Decks in Technology
See All in Technology
NLP2025 参加報告会 / NLP2025
sansan_randd
4
500
やさしいMCP入門
minorun365
PRO
146
94k
10分でわかるfreeeのQA
freee
1
12k
AWSLambdaMCPServerを使ってツールとMCPサーバを分離する
tkikuchi
1
1.8k
アプリケーション固有の「ロジックの脆弱性」を防ぐ開発者のためのセキュリティ観点
flatt_security
40
16k
テキスト解析で見る PyCon APAC 2025 セッション&スピーカートレンド分析
negi111111
0
270
プロダクト開発におけるAI時代の開発生産性
shnjtk
2
190
Webアプリを Lambdaで動かすまでに考えること / How to implement monolithic Lambda Web Application
_kensh
7
1.2k
AI Agentを「期待通り」に動かすために:設計アプローチの模索と現在地
kworkdev
PRO
2
360
Amazon S3 Tables + Amazon Athena / Apache Iceberg
okaru
0
230
似たような課題が何度も蘇ってくるゾンビふりかえりを撲滅するため、ふりかえりのテーマをフォーカスしてもらった話 / focusing on the theme
naitosatoshi
0
370
SREが実現する開発者体験の革新
sansantech
PRO
0
160
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
30
8.5k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Fireside Chat
paigeccino
37
3.4k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Agile that works and the tools we love
rasmusluckow
328
21k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.2k
Producing Creativity
orderedlist
PRO
344
40k
RailsConf 2023
tenderlove
30
1.1k
Docker and Python
trallard
44
3.3k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Navigating Team Friction
lara
184
15k
It's Worth the Effort
3n
184
28k
Transcript
sakura.ioのアーキテクチャとネットワーク設計 IoTプラットフォームにおけるマイクロサービスの事例 ©SAKURA Internet Inc. 2018/11/28 Alternative Architecture DOJO Offline
#1 @ Fukuoka Growth Next さくらインターネット株式会社 執⾏役員 技術推進統括担当 江草陽太
⾃⼰紹介 2 【所属等】 さくらインターネット株式会社 新卒⼊社4年⽬ 執⾏役員 技術推進統括担当 【開発】 • さくらのVPS
API/DB/制御システム担当 • sakura.io ハードウエア仕様、ファームウエア開発 システム設計、開発 インフラ設計、構築 • 社内システム/データセンター⾃動化 【その他】 • CSAJ U22プログラミングコンテスト審査員 • Home NOC Operatorsʼ Group (AS59105) @chibiegg
⾃⼰紹介 3 【経歴】 • ロボカップジュニア (中学・⾼校) / NHK⼤学ロボコン • ⼤阪⼤学⼯学部電⼦情報⼯学科情報通信⼯学専攻
• 個⼈事業主 • ⼤阪⼤学⼤学院⼯学研究科中退 • SECCON CTF 2014 国内4位 • ISUCON5/ISUSON7/ISUCON8本戦 • ICTSC7 ⼤⼈チーム 【専⾨】 • ソフトウエアエンジニア • NW/SC/DBスペシャリスト • 回路設計/組み込みソフトウエア 【趣味】 旅⾏/温泉/写真/電⼦⼯作/プログラミング/かわいい服 @chibiegg
さくらインターネットについて 4 商号 さくらインターネット株式会社(SAKURA Internet Inc.) 代表取締役 ⽥中 邦裕 設⽴
1999年8⽉17⽇(サービス開始︓1996年12⽉23⽇) 資本⾦ 22億5,692万円 事業内容 インターネットでのサーバの設置およびその管理業務 電気通信事業法に基づく電気通信事業 マルチメディアの企画並びに製作・販売 従業員数 495名(連結/2017年3⽉末) 所属団体 特定⾮営利活動法⼈ ⽇本データセンター協会(JDCC) 社団法⼈ コンピュータソフトウェア協会(CSAJ) 社団法⼈ ⽇本ネットワークインフォメーションセンター(JPNIC) 社団法⼈ インターネットプロバイダー協会(JAIPA) グループ会社 アイティーエム株式会社 https://www.itmanage.co.jp/ 株式会社S2i http://www.s2i.life/ ゲヒルン株式会社 https://www.gehirn.co.jp/ 株式会社Joeʼsクラウドコンピューティング https://joes.co.jp/ ビットスター株式会社 https://bitstar.jp/ 櫻花移動電信有限公司 ⼤阪本社 (梅⽥/⼤阪) 東京⽀社(⻄新宿) 福岡オフィス(⾚坂)
さくらインターネットの事業領域 5 新しい社会のインフラを⽀えながら、最先端のサービスを構築 レンタルサーバ VPS・クラウド(仮想化基盤) 専⽤サーバ・データセンター ハウジング リモートハウジング さくらのレンタルサーバ さくらのマネージドサーバ
新規サービス AI・⼈⼯知能 機械学習、データ解析、⾼精度シミュ レーション⽤途に特化したGPU搭載の 専⽤サーバサービス 通信モジュールから提供することで、セキュアな通信環境とデータの保存や処 理システムを⼀体型で提供するIoTプラットフォームサービス IoT コンテナ Dockerコンテナのマネージド サービスであり、コンテナを⼿ 軽かつシンプルに実⾏・運⽤ IoT お使いのデバイスを、SIMからさくらのクラウドのまでインターネットを経由せず、 安全に接続できるIoT向けモバイルサービス さくらのセキュアモバイルコネクト
6 さくらが考えるIoTソリューション
さくらインターネットの考えるIoTソリューション 7 1. どこでも、だれでも 2. ⾃分だけのネットワーク 3. ノーコミット&ノーリミット 4. 検証から、量産まで
5. 圧倒的コスパ
どこでも、だれでも LTEのメリット 1. ⾼いカバー率(島嶼、⼭間) 2. 移動体でも使⽤可能 3. 設定不要で繋がる 8 LTEなら最終利⽤者も⼿軽に利⽤できる
⾃分だけのネットワーク ⾃分だけのネットワーク 9 閉域網 インターネットからの 直接アクセス不可 デバイス⇔クラウド間のリスクポイントを削減 マルウェア ハッカー ボットネット
ノーコミット&ノーリミット 1 0 1. 契約期間縛り無し 2. 契約/解約⼿数料無し 3. 再登録が何度でも可能 4.
速度制限無し IoT⽤途での課題となる各種制約や上限を撤廃
さくらが提供するIoT向けサービス 1 1 プラットフォームの提供 モジュール+クラウドの⼀体提供で 開発スピードを向上、スケール対応や 運⽤保守はさくらで実施 専⽤モジュール (単体⽅式 or
ゲートウェイ⽅式) 基本機能 (つなぐ・貯める・連携する) セキュアモバイルコネクト IoT向けSIMの提供 デバイスからコンピューティング リソースにセキュアに接続できる モバイル回線 カード型SIM チップ型SIM
サービスの提供範囲 セキュアモバイルコネクト sakura.io デバイス センサ - - MCU - -
通信機構 - ◯ 回線(SIM) ◯ ◯ クラウド セキュリティ ◯ ◯ データの転送 - ◯ データの保管 - ◯ データの連携 - ◯ 1 2
さくらが提供するIoT向けサービス 1 3 プラットフォームの提供 モジュール+クラウドの⼀体提供で 開発スピードを向上、スケール対応や 運⽤保守はさくらで実施 専⽤モジュール (単体⽅式 or
ゲートウェイ⽅式) 基本機能 (つなぐ・貯める・連携する) セキュアモバイルコネクト IoT向けSIMの提供 デバイスからコンピューティング リソースにセキュアに接続できる モバイル回線 カード型SIM チップ型SIM
今⽇の話題 IoTプラットフォームであるsakura.ioを例に コンテナを使ったマイクロサービスと ネットワーク設計を紹介します 1 4
sakukra.ioプラットフォームの特徴 • エンドデバイスと外部サーバ間でのメッセージ交換が多い • 関連するネットワークがいくつかある • インターネット (The Internet) •
モバイル閉域網 • 社内ネットワーク • 細かい機能がたくさんある 1 5
サービス概要 1 6 etc… 組み込みとインターネットをつなぐサービス
sakura.ioが提供する価値 1 7 組み込み側はモノとの電気信号 / Web側はサービスとのJSONデータ のやり取りに注⼒可能
Webエンジニアの負担を軽減する設計 1 8 { "module": "XXXXXXXXX", "type": "channels", "datetime": "2016-06-01T12:21:11.628907163Z",
"payload": { "channels": [{ "channel": 1, "type": "i", "value": 1, "datetime": "2016-06- 01T10:21:11.628907163Z" }, { "channel": 2, … }] } } HTTP Request データ取出やデバイス制御はすべてJSONフォーマットで実施 既存システムや扱いに慣れたクラウドサービスとの接続も可能 リアルタイム連携 ⼀括連携 JSON形式
マイクロサービスの構成 1 9 管理システム 位置情報DB Outgoing Webhook 等 WebSocket 等
DataStore モジュールの認証等 連携先の情報 外部との接続の 認証認可 上りのメッセージ 下りのメッセージ 管理システムへのリクエスト
ネットワーク分離 2 0 管理システム 位置情報DB Outgoing Webhook 等 WebSocket 等
DataStore 社内ネットワーク 内部ネットワーク モバイル閉域網 インターネット
ネットワーク構成 2 1 端末向けコンテナ 内部処理コンテナ マスター モバイルバックボーン インターネット 社内ネットワーク
コンテナロードバランサ 2 2 /incoming/v1 /api/v1 ホスト名、パスに従ってコンテナにリバースプロキシ コンテナのバージョン更新時にはブルーグリーンデプロイやロールバックが可能 コンテナの変更通知 GSLB
コンテナロードバランサ 2 3 /api/v1 (new version) /incoming/v1 /api/v1 ホスト名、パスに従ってコンテナにリバースプロキシ コンテナのバージョン更新時にはブルーグリーンデプロイやロールバックが可能
コンテナの変更通知 GSLB
コンテナロードバランサ 2 4 /api/v1 /incoming/v1 /api/v1 (old version) ホスト名、パスに従ってコンテナにリバースプロキシ コンテナのバージョン更新時にはブルーグリーンデプロイやロールバックが可能
コンテナの変更通知 GSLB
コンテナロードバランサ 2 5 /api/v1 /incoming/v1 ホスト名、パスに従ってコンテナにリバースプロキシ コンテナのバージョン更新時にはブルーグリーンデプロイやロールバックが可能 コンテナの変更通知 GSLB
全体のまとめ • 処理機能毎にコンテナを分けマイクロサービス化 • APIやMQでコンテナ間を接続 • コンテナへのリバースプロキシを活⽤することで、ブルーグリー ンデプロイを実現 • 接続先に応じてネットワークを分離
• ⼀つのクラスタで⼀括管理 • 旧来の⽅が良いサーバは旧来⽅式でやる 2 6
よかったこと • 機能ごとに独⽴したコード、バイナリのため変更が容易 • クラスタ型のコンテナ管理に則れるため運⽤が容易 • Mesos + Marathonでもいいし •
k8sでもいい • 2年半以上前の設計だが、システム改修のネックがまだ出 てない 2 7
さくらが提供するIoT向けサービス 2 8 プラットフォームの提供 モジュール+クラウドの⼀体提供で 開発スピードを向上、スケール対応や 運⽤保守はさくらで実施 専⽤モジュール (単体⽅式 or
ゲートウェイ⽅式) 基本機能 (つなぐ・貯める・連携する) セキュアモバイルコネクト IoT向けSIMの提供 デバイスからコンピューティング リソースにセキュアに接続できる モバイル回線 カード型SIM チップ型SIM
マルチキャリア対応しました︕ 2 9 1枚のSIMで国内3キャリア同時利⽤可能︕
マルチキャリア対応しました︕ 3 0 コンパネから有効にするキャリアが選択できます