ソラコムは、多数のデバイスが接続するIoTシステムを対象に、スケールするプラットフォームを提供しています。本セッションでは、SORACOMの設計思想、内部構造に加え、短期間で矢継ぎ早にサービスをリリースし、グローバルにサービスを展開しているSORACOMの開発・運用手法を解説します。
株式会社ソラコム 最高技術責任者 安川 健太
403"$0. *OTJEF*P5εέʔϧͳϓϥοτϑΥʔϜͷཪଆͱͦͷਐԽ,FOUB:BTVLBXB 1I%$PGPVOEFS$50403"$0. */$
View Slide
本日のハッシュタグTPSBDPN!403"$0.@13IUUQTXXXGBDFCPPLDPNTPSBDPNKQ
ࣗݾհ҆ ݈ଠ$PGPVOEFS $50 403"$0. *ODུྺ3FTFBSDIFSBU&SJDTTPO3FTFBSDI"844PMVUJPOT"SDIJUFDU"84 /P42- %FWFMPQFS4"5XJUUFS!UIFLFOUJFTU'BDFCPPLGCNFLFOUBZBTVLBXB-JOLFE*OMJOLFEJODPNJOLFOUBZݸਓతͳ͜ͱγΞτϧۙ߫ʹՈͰॅΜͰ·͢࠷ۙ73ͰϛʔςΟϯά͢Δํ๏Λࡧத
ifup 2017:SORACOMͷΞʔΩςΫνϟΛॳެ։࣌ͷ༰ΛৼΓฦΓͭͭ3ؒͷਐԽΛ͓ಧ͚͠·͢https://www.slideshare.net/SORACOM/ifup-2017-soracom-inside
2017࣌ͷൃද༰ΛৼΓฦͬͯΈΔ
*P5スケールなプラットフォームを実現するために4DBMBCJMJUZ"WBJMBCJMJUZ地理的&技術的なカバレッジ運用の効率進化の"HJMJUZ
パケット転送帯域制御アクセス制御アプリケーションサービス回線・セッション管理認証課金イベント通知"1*コンソール1PMBSJT%JQQFS)VCCMF監視・デプロイ403"$0.プラットフォームの構成要素
1PMBSJTͱ%JQQFS"1*Ͱ࿈ܞ͢Δػೳίϯϙʔωϯτ܈ηογϣϯཧ ೝূ ՝ۚAPI GatewayUser DataAPIAPIUser DataύέοτసૹଳҬ੍ޚ…Amazon DynamoDB1PMBSJT %JQQFS
• 負荷に応じてサーバ台数を増やす)PSJ[POUBM 4DBMBCJMJUZ"WBJMBCJMJUZ;POF"WBJMBCJMJUZ;POF
#VJMUJO 3FTJMJFODF"WBJMBCJMJUZ;POF"WBJMBCJMJUZ;POF• 410'のない構成• 障害箇所を自動で置き換え• 負荷に応じてサーバ台数を増やす)PSJ[POUBM 4DBMBCJMJUZ
શϨΠϠʹ)PSJ[POUBM 4DBMBCJMJUZ#VJMUJO 3FTJMJFODFηογϣϯཧ ೝূ ՝ۚAPI GatewayAPIύέοτసૹଳҬ੍ޚ…AmazonDynamoDBPolaris DipperAPIUser Data
IoTスケールなプラットフォームを実現するためにScalability & Availability地理的&技術的なカバレッジ運用の効率進化のAgilityHorizontal ScalabilityとBuilt-in ResilienceGlobal前提の設計とLayeredアーキテクチャ疎結合化と非同期化DevOpsとOpsDevの両輪
年当時から現在に至るまでの状況の変化
(4.(DPVOUSJFT DBSSJFST-5&DPVOUSJFT DBSSJFST͔࣌ΒͷมԽɿಠࣗൃߦͷ4*.F4*.ͰੈքͷࠃͱҬΛαϙʔτ
͔࣌ΒͷมԽɿສΛ͑ΔσόΠεΛΫϥυʹ
403"$0.(MPCBM1MBUGPSN-JCSBSJFT4%,T$-* 3VCZ 4XJGU8FC .BOBHFNFOU6TFS$POTPMF%BUBIBOEMJOH403"$0.#FBN$MPVEBEBQUFS403"$0.'VOOFM%BUBDPMMFDUJPO403"$0.)BSWFTU%BUB'JMFT"8471$1FFSJOH403"$0.$BOBM0OEFNBOE QBDLFUDBQUVSF403"$0.1FFL*P5 $POOFDUJWJUZ403"$0."JSGPS$FMMVMBS ( ( -5&-18" -P3B8"/ 4JHGPY -5&.%JSFDUDPOOFDUJPO403"$0.%JSFDU71/DPOOFDUJWJUZ403"$0.%PPS"1*3FTU"1*$POOFDUJWJUZ/FUXPSLJOH*OUFSGBDF4*. "VUIFOUJDBUJPO403"$0.&OEPSTF%FWJDFNBOBHFNFOU403"$0.*OWFOUPSZ1BDLFUDPOUSPM403"$0.+VODUJPO%BTICPBSET403"$0.-BHPPO4FDVSF QSPWJTJPOJOH403"$0.,SZQUPO"DDFTT$POUSPM403"$0."DDFTT.BOBHFNFOU"QQMJDBUJPO%FWJDF-"/403"$0.(BUF$MPVEGVODUJPOT403"$0.'VOL&EHFQSPDFTTJOH403"$0..PTBJD%FWFMPQFS4VQQPSU64# EPOHMFT$FMMVMBSNPEVMFT.JDSPDPOUSPMMFST#VUUPOT%FWJDF͔࣌ΒͷมԽɿ*P5։ൃΛࢧ͑Δ֤छαʔϏε71(*OMJOF1SPDFTTJOH403"$0.0SCJU/FX0OEFNBOE SFNPUF BDDFTT403"$0./BQUFS
様々な状況の変化はありつつも当時からの原則に則った進化を続けてきています4DBMBCJMJUZ"WBJMBCJMJUZ地理的&技術的なカバレッジ運用の効率進化の"HJMJUZ)PSJ[POUBM 4DBMBCJMJUZと#VJMUJO3FTJMJFODF(MPCBM前提の設計と-BZFSFEアーキテクチャ疎結合化と非同期化%FW0QTと0QT%FWの両輪
年当時からの403"$0.プラットフォームの進化
パケット転送帯域制御アクセス制御アプリケーションサービス回線・セッション管理認証課金イベント通知"1*コンソール1PMBSJT%JQQFS)VCCMF監視・デプロイ403"$0.プラットフォームの構成要素シグナリング4*.認証メッセージング"SJFT -FP $BQSJDPSO
403"$0.ΞʔΩςΫνϟ*P5%FWJDFT$FMMVMBS4FTTJPO.HNU"VUIFOUJDBUJPO"VUIPSJ[BUJPO#JMMJOH"1* (BUFXBZ"1*"1*./0%JSFDU$POOFDU)-3)44 4.4$((4/1(8(514*(53"/%JBNFUFS0CKFDU4UPSBHF$%/%FWJDF.HNU71$71$71$.FTTBHF2VFVF"1* 403"$0. */$ $0/'*%&/5*"-
)-3)44 4.4$対応が可能にした機能やサービス独自4*.の発行やF4*.対応4*.ೝূΛԠ༻ͨ͠σόΠεͷ#PPUTUSBQQJOH403"$0.,SZQUPOF4*.ϓϩϑΝΠϧμϯϩʔυରԠJ04͚F4*.ΞϓϦ4*.04αϒεΫϦϓγϣϯίϯςφΤϯδϯαϒεΫϦϓγἀϯ"αϒεΫϦϓγἀϯ#αϒεΫϦϓγἀϯ$403"$0.*P54*.403"$0. *P5 4*.αϒεΫϦϓγϣϯίϯςφ
403"$0.ΞʔΩςΫνϟ*P5%FWJDFT$FMMVMBS4FTTJPO.HNU"VUIFOUJDBUJPO"VUIPSJ[BUJPO#JMMJOH"1* (BUFXBZ"1*"1*./0%JSFDU$POOFDU)-3)44 4.4$((4/1(8(514*(53"/%JBNFUFS0CKFDU4UPSBHF$%/%FWJDF.HNU71$71$71$.FTTBHF2VFVF"1* 403"$0. */$ $0/'*%&/5*"-変わったところ&$&$4 'BSHBUF)44)-3 4.4$などのインターフェース対応"84アイコン
403"$0.ΞʔΩςΫνϟ*P5%FWJDFT$FMMVMBS4FTTJPO.HNU"VUIFOUJDBUJPO"VUIPSJ[BUJPO#JMMJOH"1* (BUFXBZ"1*"1*./0%JSFDU$POOFDU)-3)44 4.4$((4/1(8(514*(53"/%JBNFUFS0CKFDU4UPSBHF$%/%FWJDF.HNU71$71$71$.FTTBHF2VFVF"1* 403"$0. */$ $0/'*%&/5*"-変わらないところ$FMMVMBSコア特有のプロトコルを実装する5IJO -BZFSとロジックを実装するクラウドネイティブなマイクロサービス群が"1*連携)PSJ[POUBM 4DBMBCJMJUZ #VJMUJO3FTJMJFODF
403"$0.ΞʔΩςΫνϟɿ"1*࿈ܞͷར*P5%FWJDFT$FMMVMBS"1*./0%JSFDU$POOFDU(514*(53"/%JBNFUFS$%/4FTTJPO.HNU"VUIFOUJDBUJPO"VUIPSJ[BUJPO#JMMJOH"1* (BUFXBZ"1*)-3)44 4.4$((4/1(80CKFDU4UPSBHF%FWJDF.HNU71$71$71$.FTTBHF2VFVF"1* 403"$0. */$ $0/'*%&/5*"-ίϯϙʔωϯτ͝ͱʹࣗ༝ͳ࠶ஔ͕Մೳ71$"1*((4/1(8
௨ৗͷϩʔϛϯά௨৴ͷ՝ɿେ͖ͳԆ
ϥϯσϒʔϙΠϯτΛ׆༻ͨ͠Ԇ௨৴ランデブーポイントドイツランデブーポイント64"ランデブーポイント日本
ϥϯσϒʔϙΠϯτͷཪଆ4FTTJPO.HNU"VUIFOUJDBUJPO"VUIPSJ[BUJPO#JMMJOH"1* (BUFXBZ"1*)-3)44 4.4$((4/1(80CKFDU4UPSBHF%FWJDF.HNU71$71$71$.FTTBHF2VFVF"1*71$"1*ヨーロッパ在圏のデバイス71$"1*64在圏のデバイス日本在圏のデバイスランデブーポイント ドイツランデブーポイント 64"ランデブーポイント 日本
403"$0. %JTDPWFSZ にて発表"848BWFMFOHUI×(.&$実証実験超低遅延なエッジコンピューティング403"$0.$PSF/FUXPSL&YQFSJNFOUQBSUOFST4ZTUFN$VTUPNFS4ZTUFN(/FUXPSL$PSF/FUXPSL(/FUXPSL&YQFSJNFOUQBSUOFST4ZTUFN(検証センター従来構成"84 8BWFMFOHUI活⽤構成超低遅延"848BWFMFOHUI⽉から実証中!*OUFSOFU*OUFSOFU(検証センター内に"848BWFMFOHUIを配置しクラウド型コアネットワークを実装
*P5%FWJDFT$FMMVMBS4FTTJPO.HNU"VUIFOUJDBUJPO"VUIPSJ[BUJPO#JMMJOH"1* (BUFXBZ"1*./0%JSFDU$POOFDU)-3)44 4.4$4*(53"/%JBNFUFS0CKFDU4UPSBHF$%/%FWJDF.HNU"1*((4/1(8(5171$71$71$.FTTBHF2VFVF"1* 403"$0. */$ $0/'*%&/5*"-"848BWFMFOHUIΛ׆༻ͨ͠ΞʔΩςΫνϟ"848BWFMFOHUI;POF
監視・運用システム)VCCMF4MBDLに警告通知自動復旧を試行アラート継続ならエンジニアを順に呼び出し• 疑似呼生成によるセルラーコアの監視• 各種サービスの外形監視
サービス(MPCBM化に伴って監視も(MPCBM化オフィスのある拠点から実機で-5&(の&&監視
サービス(MPCBM化に伴って監視も(MPCBM化拠点のない地域からは外部サービスを活用して監視
拡張と改善を繰り返しながら世界各地の200万を超えるデバイスを繋いできました
Still Day One͓٬༷ɾύʔτφʔͷօ༷ʹࢧ͑ΒΕͳ͕ΒૉΒ͍͠νʔϜͱڞʹ৴ͨ͡ະདྷʹ͔ͬͯΈΜͳͷ403"$0.εέʔϧ͠ଓ͚·͢
403"$0.の願いクラウド 㱺多くのビジネス、8FCサービス403"$0. 㱺多くの*P5ビジネス、システムたくさんの*P5プレイヤーが生まれますように
世界中のヒトとモノをつなげ共鳴する社会へ