2018/11/28 Alternative Architecture DOJO Offline #1
sakura.ioのアーキテクチャとネットワーク設計IoTプラットフォームにおけるマイクロサービスの事例©SAKURA Internet Inc.2018/11/28 Alternative Architecture DOJO Offline #1 @ Fukuoka Growth Nextさくらインターネット株式会社 執⾏役員 技術推進統括担当江草陽太
View Slide
⾃⼰紹介2【所属等】さくらインターネット株式会社 新卒⼊社4年⽬執⾏役員 技術推進統括担当【開発】• さくらのVPSAPI/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ソリューション71. どこでも、だれでも2. ⾃分だけのネットワーク3. ノーコミット&ノーリミット4. 検証から、量産まで5. 圧倒的コスパ
どこでも、だれでもLTEのメリット1. ⾼いカバー率(島嶼、⼭間)2. 移動体でも使⽤可能3. 設定不要で繋がる8LTEなら最終利⽤者も⼿軽に利⽤できる
⾃分だけのネットワーク⾃分だけのネットワーク9閉域網インターネットからの直接アクセス不可デバイス⇔クラウド間のリスクポイントを削減マルウェア ハッカー ボットネット
ノーコミット&ノーリミット101. 契約期間縛り無し2. 契約/解約⼿数料無し3. 再登録が何度でも可能4. 速度制限無しIoT⽤途での課題となる各種制約や上限を撤廃
さくらが提供するIoT向けサービス11プラットフォームの提供モジュール+クラウドの⼀体提供で開発スピードを向上、スケール対応や運⽤保守はさくらで実施専⽤モジュール(単体⽅式 or ゲートウェイ⽅式)基本機能(つなぐ・貯める・連携する)セキュアモバイルコネクトIoT向けSIMの提供デバイスからコンピューティングリソースにセキュアに接続できるモバイル回線カード型SIM チップ型SIM
サービスの提供範囲セキュアモバイルコネクト sakura.ioデバイス センサ - -MCU - -通信機構 - ◯回線(SIM) ◯ ◯クラウド セキュリティ ◯ ◯データの転送 - ◯データの保管 - ◯データの連携 - ◯12
さくらが提供するIoT向けサービス13プラットフォームの提供モジュール+クラウドの⼀体提供で開発スピードを向上、スケール対応や運⽤保守はさくらで実施専⽤モジュール(単体⽅式 or ゲートウェイ⽅式)基本機能(つなぐ・貯める・連携する)セキュアモバイルコネクトIoT向けSIMの提供デバイスからコンピューティングリソースにセキュアに接続できるモバイル回線カード型SIM チップ型SIM
今⽇の話題IoTプラットフォームであるsakura.ioを例にコンテナを使ったマイクロサービスとネットワーク設計を紹介します14
sakukra.ioプラットフォームの特徴• エンドデバイスと外部サーバ間でのメッセージ交換が多い• 関連するネットワークがいくつかある• インターネット (The Internet)• モバイル閉域網• 社内ネットワーク• 細かい機能がたくさんある15
サービス概要16etc…組み込みとインターネットをつなぐサービス
sakura.ioが提供する価値17組み込み側はモノとの電気信号 / Web側はサービスとのJSONデータのやり取りに注⼒可能
Webエンジニアの負担を軽減する設計18{"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,…}]}}HTTPRequestデータ取出やデバイス制御はすべてJSONフォーマットで実施既存システムや扱いに慣れたクラウドサービスとの接続も可能リアルタイム連携⼀括連携JSON形式
マイクロサービスの構成19管理システム位置情報DBOutgoing Webhook 等WebSocket 等DataStoreモジュールの認証等連携先の情報外部との接続の認証認可上りのメッセージ下りのメッセージ管理システムへのリクエスト
ネットワーク分離20管理システム位置情報DBOutgoing Webhook 等WebSocket 等DataStore社内ネットワーク内部ネットワークモバイル閉域網 インターネット
ネットワーク構成21端末向けコンテナ 内部処理コンテナマスターモバイルバックボーン インターネット 社内ネットワーク
コンテナロードバランサ22/incoming/v1 /api/v1ホスト名、パスに従ってコンテナにリバースプロキシコンテナのバージョン更新時にはブルーグリーンデプロイやロールバックが可能コンテナの変更通知GSLB
コンテナロードバランサ23/api/v1 (new version) /incoming/v1 /api/v1ホスト名、パスに従ってコンテナにリバースプロキシコンテナのバージョン更新時にはブルーグリーンデプロイやロールバックが可能コンテナの変更通知GSLB
コンテナロードバランサ24/api/v1 /incoming/v1 /api/v1 (old version)ホスト名、パスに従ってコンテナにリバースプロキシコンテナのバージョン更新時にはブルーグリーンデプロイやロールバックが可能コンテナの変更通知GSLB
コンテナロードバランサ25/api/v1 /incoming/v1ホスト名、パスに従ってコンテナにリバースプロキシコンテナのバージョン更新時にはブルーグリーンデプロイやロールバックが可能コンテナの変更通知GSLB
全体のまとめ• 処理機能毎にコンテナを分けマイクロサービス化• APIやMQでコンテナ間を接続• コンテナへのリバースプロキシを活⽤することで、ブルーグリーンデプロイを実現• 接続先に応じてネットワークを分離• ⼀つのクラスタで⼀括管理• 旧来の⽅が良いサーバは旧来⽅式でやる26
よかったこと• 機能ごとに独⽴したコード、バイナリのため変更が容易• クラスタ型のコンテナ管理に則れるため運⽤が容易• Mesos + Marathonでもいいし• k8sでもいい• 2年半以上前の設計だが、システム改修のネックがまだ出てない27
さくらが提供するIoT向けサービス28プラットフォームの提供モジュール+クラウドの⼀体提供で開発スピードを向上、スケール対応や運⽤保守はさくらで実施専⽤モジュール(単体⽅式 or ゲートウェイ⽅式)基本機能(つなぐ・貯める・連携する)セキュアモバイルコネクトIoT向けSIMの提供デバイスからコンピューティングリソースにセキュアに接続できるモバイル回線カード型SIM チップ型SIM
マルチキャリア対応しました︕291枚のSIMで国内3キャリア同時利⽤可能︕
マルチキャリア対応しました︕30コンパネから有効にするキャリアが選択できます