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
950
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
tiupによるTiDBの構築 @ TiUG Meetup #3 Osaka / Building TiDB with TiUP
chibiegg
1
110
Stable Diffusionの使い方と追加学習によるLoRAの作成~GPUコンテナサービス “高火力 DOK” の活用~ @ 2024-06-29 OSC2024 Hokkaido / Stable Diffusion and Creating LoRA with Additional Training ~ with 'Koukaryoku DOK' ~
chibiegg
1
1.2k
長期間TiDBを使ってきた話 @ 私たちはなぜNewSQLを使うのかTiDB選定5社が語る選定理由と活用LT / Experiences with TiDB Over Time
chibiegg
3
1.4k
3年近くTiDBを使ってきた話 @ TiUG Kick Off #0 / My Journey with TiDB: Nearly Three Years On @ TiDB User Group Kick Off #0
chibiegg
4
1.1k
SDR (Software Defined Radio) を使った無線の解析 @ 2023-02-11 SECCON 電脳会議 2022 / Wireless Analyzing using SDR @ SECCON 2022
chibiegg
1
1.2k
分散DBを運用してみて〜TiDB の仕組みと実例〜 @ さくらの夕べ Tech Night #5 Online / About TiDB @ SAKURA internet Tech Nignt #5 Online
chibiegg
1
490
クラウドネイティブなデータベースTiDB の魅力@db tech showcase 2021 / PingCAP TiDB with SAKURA internet
chibiegg
1
400
多言語情報をデータベースにどう持つか @さくらの夕べ Tech Night #3 Online / Solve N+1 on Django
chibiegg
0
260
ゼロトラストでもっと便利に、もっと安全に @ LOCAL Developer Day Online ’20 Security / Zero trust security model in SAKURA internet Inc.
chibiegg
1
530
Other Decks in Technology
See All in Technology
pandasはPolarsに性能面で追いつき追い越せるのか
vaaaaanquish
4
4.4k
サイバーエージェントにおける生成AIのリスキリング施策の取り組み / cyber-ai-reskilling
cyberagentdevelopers
PRO
2
190
10分でわかるfreeeのQA
freee
1
3.4k
生成AIの強みと弱みを理解して、生成AIがもたらすパワーをプロダクトの価値へ繋げるために実践したこと / advance-ai-generating
cyberagentdevelopers
PRO
1
180
AWS CDKでデータリストアの運用、どのように設計する?~Aurora・EFSの実践事例を紹介~/aws-cdk-data-restore-aurora-efs
mhrtech
4
640
Shift-from-React-to-Vue
calm1205
3
1.2k
10分でわかるfreee エンジニア向け会社説明資料
freee
18
520k
WINTICKETアプリで実現した高可用性と高速リリースを支えるエコシステム / winticket-eco-system
cyberagentdevelopers
PRO
1
190
コンテンツを支える 若手ゲームクリエイターの アートディレクションの事例紹介 / cagamefi-game
cyberagentdevelopers
PRO
1
120
20241031_AWS_生成AIハッカソン_GenMuck
tsumita
0
110
生成AIと知識グラフの相互利用に基づく文書解析
koujikozaki
1
140
新卒1年目が挑む!生成AI × マルチエージェントで実現する次世代オンボーディング / operation-ai-onboarding
cyberagentdevelopers
PRO
1
160
Featured
See All Featured
Code Review Best Practice
trishagee
64
17k
Designing on Purpose - Digital PM Summit 2013
jponch
115
6.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
107
49k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Designing the Hi-DPI Web
ddemaree
280
34k
The Power of CSS Pseudo Elements
geoffreycrofte
72
5.3k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Documentation Writing (for coders)
carmenintech
65
4.4k
The Art of Programming - Codeland 2020
erikaheidi
51
13k
KATA
mclloyd
29
13k
Intergalactic Javascript Robots from Outer Space
tanoku
268
27k
Writing Fast Ruby
sferik
626
61k
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 コンパネから有効にするキャリアが選択できます