Slide 1

Slide 1 text

©Synspective Inc. Synspective Inc. 人工衛星の運用を支える クラウドネイティブ民主化への取り組み Senior Infra Engineer CloudNative Days Tokyo 2023 新井 雅也

Slide 2

Slide 2 text

©Synspective Inc. 新井 雅也 これまでは、野村総合研究所のインフラエンジニア兼シス テムアーキテクトとして、主に金融業界のシステム設計、 開発、運用に従事。 2023年6月にSynspectiveにジョイン。クラウドに関する 技術力を活かしつつ、宇宙業界の発展に尽力している。 AWS Container Hero Google Cloud Partner Top Engineer 2023 @msy78 Senior Infra Engineer

Slide 3

Slide 3 text

©Synspective Inc.

Slide 4

Slide 4 text

©Synspective Inc. “みなさん、人工衛星の運用に対して クラウドネイティブ技術がどのように作用しているか、 想像できますか?”

Slide 5

Slide 5 text

©Synspective Inc. 私はSynspectiveにジョインするまで、 全く想像もつきませんでした。

Slide 6

Slide 6 text

©Synspective Inc. 本発表では、 事例としてあまり表立っては公開されてこなかった 人工衛星×クラウドネイティブの活用について 、

Slide 7

Slide 7 text

©Synspective Inc. 可能な限り、皆さんにお届けしていこうと思います。

Slide 8

Slide 8 text

©Synspective Inc. 本日のゴール 宇宙開発・人工衛星分野において、 クラウドネイティブ技術が大いに活用されていることを知ってもらい、 宇宙産業の繋がりを身近に感じてほしい(ワクワクを感じてほしい) 1

Slide 9

Slide 9 text

©Synspective Inc. 本日のゴール 衛星開発と運用に携わる様々な専門性を持ったメンバーに対し、 クラウドネイティブ技術を活用することで、 技術の民主化とオーナーシップを高められるということを知ってほしい 2

Slide 10

Slide 10 text

©Synspective Inc. アジェンダ ・Synspectiveの紹介 ・人工衛星から取得したデータが届くまで ・地上システムとクラウド技術の活用 ・観測衛星の開発・運用を取り巻く各種規制 Part 1: 人工衛星を支えるクラウドネイティブ技術 Part 2: クラウドネイティブ民主化への取り組み ・民主化のWhat・Why・How ・ローカル環境におけるKubernetes活用 ・民主化実現に向けて大切にしたこと

Slide 11

Slide 11 text

©Synspective Inc. アジェンダ ・Synspectiveの紹介 ・人工衛星から取得したデータが届くまで ・地上システムとクラウド技術の活用 ・観測衛星の開発・運用を取り巻く各種規制 Part 1: 人工衛星を支えるクラウドネイティブ技術 Part 2: クラウドネイティブ民主化への取り組み ・民主化のWhat・Why・How ・ローカル環境におけるKubernetes活用 ・民主化実現に向けて大切にしたこと こちらから

Slide 12

Slide 12 text

©Synspective Inc. Synspectiveの紹介

Slide 13

Slide 13 text

©Synspective Inc. Synspectiveの紹介 小型SAR衛星の開発・運用 さらに取得したデータをAI等を活用し解析を行う 私たちの衛星は、内閣府ImPACTプログラムの技術成果を基に、 SynspectiveとJAXA、東京大学、東京工業大学等と共同で開発した、 革新的な小型・低コストのSAR衛星です。

Slide 14

Slide 14 text

©Synspective Inc. Synspectiveの紹介 小型SAR衛星の開発・運用 さらに取得したデータをAI等を活用し解析を行う 私たちの衛星は、内閣府ImPACTプログラムの技術成果を基に、 SynspectiveとJAXA、東京大学、東京工業大学等と共同で開発した、 革新的な小型・低コストのSAR衛星です。

Slide 15

Slide 15 text

©Synspective Inc. 地表面へのマイクロ波を照射し、 反射信号を分析して対象物を観測することで、 形状や対象物の変化が検出可能 SAR衛星とは

Slide 16

Slide 16 text

©Synspective Inc. SAR衛星画像の特徴

Slide 17

Slide 17 text

©Synspective Inc. *元画像に雲を追加した図解画像です。 元画像はTerraMetricsから引用 ©Synspective Inc. 光学画像 SAR画像 SAR衛星画像の特徴

Slide 18

Slide 18 text

©Synspective Inc. *元画像に雲を追加した図解画像です。 元画像はTerraMetricsから引用 ©Synspective Inc. 見た目のわかりやすさ 天候・時間の影響 観測対象 光学画像 SAR画像 SAR衛星画像の特徴 色 形

Slide 19

Slide 19 text

©Synspective Inc. SAR衛星画像活用が期待される先 安全保障 インフラ・メンテナンス 防災・損害保険 資源エネルギー開発 複数の小型衛星からなるコンステレーション(衛星群) で高頻度な情報提供を目指しています SARデータ ソリューション

Slide 20

Slide 20 text

©Synspective Inc. 人工衛星から取得したデータが届くまで

Slide 21

Slide 21 text

©Synspective Inc. データの流れ 衛星の運用 衛星から取得したデータがユーザに届くまでの流れ

Slide 22

Slide 22 text

©Synspective Inc. 衛星から取得したデータがユーザに届くまでの流れ データの流れ 衛星の運用 地上システム& データプラットフォーム カスタマー 画像のオーダー

Slide 23

Slide 23 text

©Synspective Inc. 衛星コンステレーション カスタマー コマンドリクエスト コマンド リクエスト 衛星から取得したデータがユーザに届くまでの流れ データの流れ 衛星の運用 地上システム& データプラットフォーム 地上局 プロバイダー 画像のオーダー

Slide 24

Slide 24 text

©Synspective Inc. 衛星コンステレーション カスタマー 画像の ダウンロード コマンドリクエスト 観測データ テレメトリデータ コマンド リクエスト 観測データ テレメトリデータ 衛星から取得したデータがユーザに届くまでの流れ データの流れ 衛星の運用 地上システム& データプラットフォーム 地上局 プロバイダー 画像のオーダー

Slide 25

Slide 25 text

©Synspective Inc. 衛星コンステレーション カスタマー Synspective 衛星運用者 画像の ダウンロード 衛星のモニタリング 画像の取得 コマンドリクエスト 観測データ テレメトリデータ コマンド リクエスト 観測データ テレメトリデータ 衛星から取得したデータがユーザに届くまでの流れ データの流れ 衛星の運用 地上システム& データプラットフォーム ソリューション プラットフォーム 地上局 プロバイダー 画像のオーダー

Slide 26

Slide 26 text

©Synspective Inc. 地上システムとクラウド技術の活用

Slide 27

Slide 27 text

©Synspective Inc. Synspectiveの地上システムは ほぼ全て で実現されています

Slide 28

Slide 28 text

©Synspective Inc. 衛星コンステレーション カスタマー Synspective 衛星運用者 画像の ダウンロード 衛星のモニタリング 画像の取得 コマンドリクエスト 観測データ テレメトリデータ コマンド リクエスト 観測データ テレメトリデータ データの流れ 衛星の運用 地上システム& データプラットフォーム ソリューション プラットフォーム 地上局 プロバイダー 画像のオーダー 地上システムにおけるクラウド技術の活用

Slide 29

Slide 29 text

©Synspective Inc. 衛星コンステレーション カスタマー Synspective 衛星運用者 画像の ダウンロード 衛星のモニタリング 画像の取得 コマンドリクエスト 観測データ テレメトリデータ コマンド リクエスト 観測データ テレメトリデータ データの流れ 衛星の運用 地上システム& データプラットフォーム ソリューション プラットフォーム 地上局 プロバイダー 画像のオーダー ここと、 ここ 今回はこちらを中心に お話します 地上システムにおけるクラウド技術の活用

Slide 30

Slide 30 text

©Synspective Inc. 主要なサブシステム 地上システム& データプラットフォーム 画像生成 システム 計画・予測 システム 衛星管制 システム 分析 システム 地上システムにおけるクラウド技術の活用

Slide 31

Slide 31 text

©Synspective Inc. 衛星の軌道や地上局の通過時間帯予測、観測計画を担う ・衛星による観測データ取得に必要な頭脳に相当する役割 ・GKE(KubernetesとCNCF関連のOSS)を中心に構成 主要なサブシステム 画像生成 システム 計画・予測 システム 衛星管制 システム 分析 システム

Slide 32

Slide 32 text

©Synspective Inc. 衛星の軌道や地上局の通過時間帯予測、観測計画を担う ・衛星による観測データ取得に必要な頭脳に相当する役割 ・GKE(KubernetesとCNCF関連のOSS)を中心に構成 主要なサブシステム WebApp APIGW 軌道予測 GKE Cluster LB LB 衛星運用 担当者 コマンド 生成 観測計画 AOS検索 データ中継 DataStore 衛星管制 システム CronJob等により、 定期的に計算や予測を実施 投入依頼 ざっくり 表現すると・・・ 画像生成 システム 計画・予測 システム 衛星管制 システム 分析 システム

Slide 33

Slide 33 text

©Synspective Inc. 衛星管制システムは地上局を通して衛星と通信するコアな部分 ・衛星に対する司令やテレメトリの受信を担うシステム ・GKE(KubernetesとCNCF関連のOSS)とVMを中心に構成。 主要なサブシステム 画像生成 システム 衛星管制 システム 分析 システム 計画・予測 システム

Slide 34

Slide 34 text

©Synspective Inc. 衛星管制システムは地上局を通して衛星と通信するコアな部分 外部 地上局サービス WebApp コントローラ 衛星通信 スケジューラ GKE Cluster 人工 衛星 LB LB 専用の ソフトウェア等 ・衛星に対する司令やテレメトリの受信を担うシステム ・GKE(KubernetesとCNCF関連のOSS)とVMを中心に構成。 VM VM VM Cloud SQL モニタリング 主要なサブシステム 衛星運用 担当者 衛星の状態を モニタリング 計画・予測 システム ざっくり 表現すると・・・ VPN 衛星への 司令 画像生成 システム 衛星管制 システム 分析 システム 計画・予測 システム

Slide 35

Slide 35 text

©Synspective Inc. 衛星から取得した情報から画像を生成 ・画像生成には様々なレーダー解析アルゴリズムが活用 ・GKE(KubernetesとCNCF関連のOSS)を中心に構成 主要なサブシステム 画像生成 システム 計画・予測 システム 衛星管制 システム 分析 システム

Slide 36

Slide 36 text

©Synspective Inc. 衛星から取得した情報から画像を生成 ・画像生成には様々なレーダー解析アルゴリズムが活用 ・GKE(KubernetesとCNCF関連のOSS)を中心に構成 主要なサブシステム データ抽出 GKE Cluster 各解析アルゴリズムにて 画像を生成 衛星管制 システム 復号 観測データ サービス ワークロード Argo Workflows 並列実行 初期解析処理 64 vCPU/512GB memory プロダクト画像 データ連携 ざっくり 表現すると・・・ 画像生成 システム 計画・予測 システム 衛星管制 システム 分析 システム

Slide 37

Slide 37 text

©Synspective Inc. 地球周回中に蓄積された観測データから長期的な傾向を把握 ・長期的なデータを解析し、衛星の異常検知や軌道や画像精度向上に活用 ・Cloud Run Service & JobやBigQueryを中心に構成。 主要なサブシステム 画像生成 システム 計画・予測 システム 衛星管制 システム 分析 システム

Slide 38

Slide 38 text

©Synspective Inc. 地球周回中に蓄積された観測データから長期的な傾向を把握 ・長期的なデータを解析し、衛星の異常検知や軌道や画像精度向上に活用 ・Cloud Run Service & JobやBigQueryを中心に構成。 主要なサブシステム 衛星管制 システム テレメトリ 連携 BigQuery Cloud Run Job (統計値の計算) Cloud Run Job (異常値の検出) Cloud Run Service (分析ダッシュボード) 衛星運用 担当者 LB Cloud Run Job (その他解析) 衛星運用 担当者 取得 取得 取得 取得 アドホック 分析 可視化 ざっくり 表現すると・・・ 画像生成 システム 計画・予測 システム 衛星管制 システム 分析 システム 衛星の長期的な 傾向を分析

Slide 39

Slide 39 text

©Synspective Inc. ここまで色々紹介してきましたが、一旦まとめます

Slide 40

Slide 40 text

©Synspective Inc. 地上システムの各役割と活用されているクラウドネイティブ技術 主要なサブシステム 画像生成 システム 計画・予測 システム 衛星管制 システム 分析 システム

Slide 41

Slide 41 text

©Synspective Inc. 主要なサブシステム システムの責務 地上システムの各役割と活用されているクラウドネイティブ技術 画像生成 システム 計画・予測 システム 衛星管制 システム 分析 システム 衛星に対するコマンドの 送信やテレメトリの受信 周回中の観測データから 長期的な傾向を分析 衛星の軌道や地上局の 通過時間帯予測、観測計画 衛星から取得した情報から 画像を生成

Slide 42

Slide 42 text

©Synspective Inc. 主要なサブシステム システムの責務 地上システムの各役割と活用されているクラウドネイティブ技術 画像生成 システム 計画・予測 システム 衛星管制 システム 分析 システム 利用している 主なクラウド技術 GKE Argo Workflows GKE GKE GCE Cloud Run Prometheus 衛星に対するコマンドの 送信やテレメトリの受信 周回中の観測データから 長期的な傾向を分析 衛星の軌道や地上局の 通過時間帯予測、観測計画 衛星から取得した情報から 画像を生成 Big Query システム横断:KustomizeやSkaffoldを組み合わせたCI/CDパイプライン 詳細は後ほど

Slide 43

Slide 43 text

©Synspective Inc. 観測衛星の開発・運用を取り巻く各種規制

Slide 44

Slide 44 text

©Synspective Inc. 人工観測衛星を適切に開発・運用していくためには、 各種コンプライアンス・法律に準拠した仕組みが必要となります。

Slide 45

Slide 45 text

©Synspective Inc. 44 観測衛星事業に関連する主な法律・コンプライアンス規制

Slide 46

Slide 46 text

©Synspective Inc. 45 観測衛星事業に関連する主な法律・コンプライアンス規制 1 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法)

Slide 47

Slide 47 text

©Synspective Inc. 46 観測衛星事業に関連する主な法律・コンプライアンス規制 1 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) ・リモセン装置の利用には内閣総理大臣と許可が必要 ・リモセン記録を保有する者は、第三者にリモセン記録を提供してはならない ※認定を受けた者に関しては提供が可能 ・組織的、人的、物理的、技術的な観点での安全管理措置が求められる 参考: ・平成二十八年法律第七十七号 衛星リモートセンシング記録の適正な取扱いの確保に関する法律: https://elaws.e-gov.go.jp/document?lawid=428AC0000000077 ・衛星リモートセンシング記録の適正な取扱いの 確保に関する法律に基づく措置等に関する ガイドライン: https://www8.cao.go.jp/space/application/rs/documents/guideline.pdf 衛星に搭載したセンサーの使用許可や、そこから得られた地球表面の リモセン記録(観測データ)を扱う者の義務や認定を定めたもの

Slide 48

Slide 48 text

©Synspective Inc. データ抽出 GKE Cluster 衛星管制 システム 復号 観測データ サービス ワークロード Argo Workflows プロダクト画像 データ連携 47 観測衛星事業に関連する主な法律・コンプライアンス規制 1 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) 外部 地上局サービス 衛星 画像生成システム による例

Slide 49

Slide 49 text

©Synspective Inc. データ抽出 GKE Cluster 衛星管制 システム 復号 観測データ サービス ワークロード Argo Workflows プロダクト画像 データ連携 48 観測衛星事業に関連する主な法律・コンプライアンス規制 1 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) 外部 地上局サービス 衛星 画像生成システム による例 リモセン記録を扱うため、 規制対象の範囲

Slide 50

Slide 50 text

©Synspective Inc. データ抽出 GKE Cluster 衛星管制 システム 復号 観測データ サービス ワークロード Argo Workflows プロダクト画像 データ連携 49 観測衛星事業に関連する主な法律・コンプライアンス規制 1 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) 外部 地上局サービス 衛星 画像生成システム による例 リモセン記録を扱うため、 規制対象の範囲 どうやって対処しているか?

Slide 51

Slide 51 text

©Synspective Inc. データ抽出 GKE Cluster 衛星管制 システム 復号 観測データ サービス ワークロード Argo Workflows プロダクト画像 データ連携 50 観測衛星事業に関連する主な法律・コンプライアンス規制 1 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) 外部 地上局サービス 衛星 画像生成システム による例

Slide 52

Slide 52 text

©Synspective Inc. データ抽出 GKE Cluster 衛星管制 システム 復号 観測データ サービス ワークロード Argo Workflows プロダクト画像 データ連携 51 観測衛星事業に関連する主な法律・コンプライアンス規制 1 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) 外部 地上局サービス 衛星 画像生成システム による例 別のGoogle Cloud プロジェクトに切り出し

Slide 53

Slide 53 text

©Synspective Inc. データ抽出 GKE Cluster 衛星管制 システム 復号 観測データ サービス ワークロード Argo Workflows プロダクト画像 データ連携 52 観測衛星事業に関連する主な法律・コンプライアンス規制 1 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) 外部 地上局サービス 衛星 画像生成システム による例 別のGoogle Cloud プロジェクトに切り出し 特定場所からのみ クラウドへのアクセスが可能 (物理的安全管理措置) データの外部持ち出し不可 (技術的安全管理措置) 特定の要員のみ入室可能 (人的安全管理措置) 他のクラウドリソースは、開発生産性と セキュリティのバランスを考慮 ※後述するサイバーセキュリティガイドラインに基づく 許可された セキュリティルーム リモセン 記録取扱者

Slide 54

Slide 54 text

©Synspective Inc. 53 観測衛星事業に関連する主な法律・コンプライアンス規制 1 2 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) 人工衛星等の打上げ及び人工衛星の管理に関する法律(通称:宇宙活動法)

Slide 55

Slide 55 text

©Synspective Inc. 54 観測衛星事業に関連する主な法律・コンプライアンス規制 1 2 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) 人工衛星等の打上げ及び人工衛星の管理に関する法律(通称:宇宙活動法) ・民間企業向けに整備された、比較的あたらしい法律 ・次に示すような、宇宙活動に関する内容が規定 ・打ち上げの許可制度(飛行経路、打ち上げ施設の適合性チェック等) ・衛星管理の許可制度(宇宙空間の汚染防止、役割を終えた人工衛星の終了措置等) ・第三者に対する損害賠償 参考: ・平成二十八年法律第七十六号 人工衛星等の打ち上げ及び人工衛星の管理に関する法律: https://elaws.e-gov.go.jp/document?lawid=428AC0000000076

Slide 56

Slide 56 text

©Synspective Inc. 55 観測衛星事業に関連する主な法律・コンプライアンス規制 3 1 2 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) 人工衛星等の打上げ及び人工衛星の管理に関する法律(通称:宇宙活動法) 外国為替及び外国貿易法(通称:外為法)に基づく輸出規制

Slide 57

Slide 57 text

©Synspective Inc. 56 観測衛星事業に関連する主な法律・コンプライアンス規制 3 1 2 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) 人工衛星等の打上げ及び人工衛星の管理に関する法律(通称:宇宙活動法) 外国為替及び外国貿易法(通称:外為法)に基づく輸出規制 ・特定貨物の輸出入には経済産業省の許可が必要とするもの ・人工衛星や搭載するオンボードシステム等も含まれる

Slide 58

Slide 58 text

©Synspective Inc. 57 観測衛星事業に関連する主な法律・コンプライアンス規制 3 4 1 2 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) 人工衛星等の打上げ及び人工衛星の管理に関する法律(通称:宇宙活動法) 外国為替及び外国貿易法(通称:外為法)に基づく輸出規制 民間宇宙システムにおけるサイバーセキュリティ対策ガイドライン

Slide 59

Slide 59 text

©Synspective Inc. 58 観測衛星事業に関連する主な法律・コンプライアンス規制 3 4 1 2 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) 人工衛星等の打上げ及び人工衛星の管理に関する法律(通称:宇宙活動法) 外国為替及び外国貿易法(通称:外為法)に基づく輸出規制 民間宇宙システムにおけるサイバーセキュリティ対策ガイドライン ・経済産業省が公表している民間宇宙事業者向けのセキュリティガイドライン ・宇宙システムの標準モデルをベースに、セキュリティ対策の要所を提示 参考: ・民間宇宙システムにおけるサイバーセキュリティ対策ガイドラインVer 1.1: https://www.meti.go.jp/shingikai/mono_info_service/sangyo_cyber/wg_seido/wg_uchu_sangyo/pdf/20230331_1.pdf

Slide 60

Slide 60 text

©Synspective Inc. 59 観測衛星事業に関連する主な法律・コンプライアンス規制 以下資料より一部抜粋: ・民間宇宙システムにおけるサイバーセキュリティ対策ガイドラインVer 1.1 p.28: https://www.meti.go.jp/shingikai/mono_info_service/sangyo_cyber/wg_seido/wg_uchu_sangyo/pdf/20230331_1.pdf 地上システムに該当する セキュリティ対策ポイント

Slide 61

Slide 61 text

©Synspective Inc. 60 観測衛星事業に関連する主な法律・コンプライアンス規制 3 4 1 2 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) 人工衛星等の打上げ及び人工衛星の管理に関する法律(通称:宇宙活動法) ※上記は国内に関する法律・コンプライアンス規制の一例ですが、上記以外にも、国際的な取り決めが多数あります ・宇宙条約 ・宇宙救助返還協定 ・宇宙損害責任条約 ・宇宙物体登録条約 などなど・・・ 外国為替及び外国貿易法(通称:外為法)に基づく輸出規制 民間宇宙システムにおけるサイバーセキュリティ対策ガイドライン

Slide 62

Slide 62 text

©Synspective Inc. 61 観測衛星事業に関連する主な法律・コンプライアンス規制 3 4 1 2 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) 人工衛星等の打上げ及び人工衛星の管理に関する法律(通称:宇宙活動法) ※上記は国内に関する法律・コンプライアンス規制の一例ですが、上記以外にも、国際的な取り決めが多数あります ・宇宙条約 ・宇宙救助返還協定 ・宇宙損害責任条約 ・宇宙物体登録条約 などなど・・・ 外国為替及び外国貿易法(通称:外為法)に基づく輸出規制 民間宇宙システムにおけるサイバーセキュリティ対策ガイドライン Synspectiveは 各種法律・コンプライアンス規制に基づく ビジネス制約を加味しながら、 クラウドネイティブ技術を活用しています

Slide 63

Slide 63 text

©Synspective Inc. アジェンダ ・Synspectiveの紹介 ・人工衛星から取得したデータが届くまで ・地上システムとクラウド技術の活用 ・観測衛星の開発・運用を取り巻く各種規制 Part 1: 人工衛星を支えるクラウドネイティブ技術 Part 2: クラウドネイティブ民主化への取り組み ・民主化のWhat・Why・How ・ローカル環境におけるKubernetes活用 ・民主化実現に向けて大切にしたこと 今までお話した トピック

Slide 64

Slide 64 text

©Synspective Inc. アジェンダ ・Synspectiveの紹介 ・人工衛星から取得したデータが届くまで ・地上システムとクラウド技術の活用 ・観測衛星の開発・運用を取り巻く各種規制 Part 1: 人工衛星を支えるクラウドネイティブ技術 Part 2: クラウドネイティブ民主化への取り組み ・民主化のWhat・Why・How ・ローカル環境におけるKubernetes活用 ・民主化実現に向けて大切にしたこと 次はこちら

Slide 65

Slide 65 text

©Synspective Inc. 民主化のWhat・Why・How

Slide 66

Slide 66 text

©Synspective Inc. 65 (What) ここでいう、「クラウドネイティブ民主化」とは何なのか?

Slide 67

Slide 67 text

©Synspective Inc. 66 “Google CloudはAI(人工知能)を民主化する” →言い換えれば、「誰もがAIを使えるようにする」ということ Fei-Fei Li, Chief Scientist of AI/ML; Vice President at Google, Google Cloud Next 2017 (What) ここでいう、「クラウドネイティブ民主化」とは何なのか?

Slide 68

Slide 68 text

©Synspective Inc. 67 (What) ここでいう、「クラウドネイティブ民主化」とは何なのか? 「クラウドネイティブ民主化」 =「Synspectiveに所属するエンジニアが、 クラウドネイティブ技術の恩恵を受けられる」ということ 先人のことばを借りて定義するなら、 “Google CloudはAI(人工知能)を民主化する” →言い換えれば、「誰もがAIを使えるようにする」ということ Fei-Fei Li, Chief Scientist of AI/ML; Vice President at Google, Google Cloud Next 2017

Slide 69

Slide 69 text

©Synspective Inc. 68 (Why) なぜ、「民主化」を目指すのか?

Slide 70

Slide 70 text

©Synspective Inc. 69 (Why) なぜ、「民主化」を目指すのか? 地上システム バックエンドエンジニア 観測計画 エンジニア 画像処理 エンジニア DevOps エンジニア ・Synspectiveでは、様々な専門性を有したエンジニアが存在 ・各々が自らの専門領域を発揮しつつも、あたらしい領域を進んで学習し、 オーナーシップを持ちながら人工衛星の開発と運用に携わっている

Slide 71

Slide 71 text

©Synspective Inc. 70 (Why) なぜ、「民主化」を目指すのか? ・Synspectiveでは、様々な専門性を有したエンジニアが存在 ・各々が自らの専門領域を発揮しつつも、あたらしい領域を進んで学習し、 オーナーシップを持ちながら人工衛星の開発と運用に携わっている クラウドに関する専門性をある程度抽象化し、self-serve可能な形で提供することで、 個々のパフォーマンスの最大化が期待できる(仮説) 地上システム バックエンドエンジニア 観測計画 エンジニア 画像処理 エンジニア DevOps エンジニア 適切に抽象化されたクラウドネイティブ技術

Slide 72

Slide 72 text

©Synspective Inc. 71 「クラウドネイティブ民主化」 =「Synspectiveに所属するエンジニアの誰もが、 クラウドネイティブ技術の恩恵を受けられる」ということ (How) “恩恵を受けられている”ことをどう実現すべきか?

Slide 73

Slide 73 text

©Synspective Inc. 72 現状、活用しているクラウドネイティブ技術に対して、 民意(メンバーそれぞれの考え)をヒアリングするところから始める 「クラウドネイティブ民主化」 =「Synspectiveに所属するエンジニアの誰もが、 クラウドネイティブ技術の恩恵を受けられる」ということ (How) “恩恵を受けられている”ことをどう実現すべきか?

Slide 74

Slide 74 text

©Synspective Inc. ローカル環境におけるKubernetesの活用

Slide 75

Slide 75 text

©Synspective Inc. 主要なサブシステム システムの責務 画像生成 システム 計画・予測 システム 衛星管制 システム 分析 システム 利用している 主なクラウドネイティブ技術 GKE Argo Workflows GKE GKE GCE Cloud Run Prometheus 衛星に対するコマンドの 送信やテレメトリの受信 周回中の観測データから 長期的な傾向を分析 衛星の軌道や地上局の 通過時間帯予測、観測計画 衛星から取得した情報から プロダクト画像を生成 Big Query システム横断:KustomizeやSkaffoldを組み合わせたCI/CDパイプライン 再掲 SynspectiveにおけるGKE(Kubernetes)の活用

Slide 76

Slide 76 text

©Synspective Inc. 利用している 主なクラウドネイティブ技術 主要なサブシステム システムの責務 画像生成 システム 計画・予測 システム 衛星管制 システム 分析 システム GKE Argo Workflows GKE GKE GCE Cloud Run Prometheus 衛星に対するコマンドの 送信やテレメトリの受信 周回中の観測データから 長期的な傾向を分析 衛星の軌道や地上局の 通過時間帯予測、観測計画 衛星から取得した情報から プロダクト画像を生成 Big Query システム横断:KustomizeやSkaffoldを組み合わせたCI/CDパイプライン 再掲 歴史的な経緯により、 多数のGKE(Kubernetes)を活用 SynspectiveにおけるGKE(Kubernetes)の活用

Slide 77

Slide 77 text

©Synspective Inc. 76 GKE(Kubernetes)に対する同僚からの声

Slide 78

Slide 78 text

©Synspective Inc. 77 GKE(Kubernetes)に対する同僚からの声 ローカル環境と クラウド環境上で 差異が大きい Kubernetesの マニフェストを 気軽に 検証できない 手元で Kubernetesを 学習したい

Slide 79

Slide 79 text

©Synspective Inc. 78 GKE(Kubernetes)に対する同僚からの声 ローカル環境 (開発者PC上) 開発環境 ステージング環境 本番環境 ローカル環境と クラウド環境上で 差異が大きい Kubernetesの マニフェストを 気軽に 検証できない 手元で Kubernetesを 学習したい

Slide 80

Slide 80 text

©Synspective Inc. 79 GKE(Kubernetes)に対する同僚からの声 ローカル環境 (開発者PC上) 開発環境 ステージング環境 本番環境 GKE GKE GKE App App App App App App App App App App App App App App App App Manifest群 Manifest群 Manifest群 ローカル環境と クラウド環境上で 差異が大きい Kubernetesの マニフェストを 気軽に 検証できない 手元で Kubernetesを 学習したい

Slide 81

Slide 81 text

©Synspective Inc. 80 GKE(Kubernetes)に対する同僚からの声 ローカル環境 (開発者PC上) 開発環境 ステージング環境 本番環境 GKE GKE GKE App App App App App App App App App App App App App App App App Manifest群 Manifest群 Manifest群 ローカル環境と仕組みが異るため、バックエンドエンジニアから Kubernetes側がブラックボックスになりがち ローカル環境と クラウド環境上で 差異が大きい Kubernetesの マニフェストを 気軽に 検証できない 手元で Kubernetesを 学習したい

Slide 82

Slide 82 text

©Synspective Inc. 81 GKE(Kubernetes)に対する同僚からの声 開発環境 GKE App App App App Manifest群 利用 検証 ローカル環境と クラウド環境上で 差異が大きい 手元で Kubernetesを 学習したい Kubernetesの マニフェストを 気軽に 検証できない

Slide 83

Slide 83 text

©Synspective Inc. 82 GKE(Kubernetes)に対する同僚からの声 開発環境 GKE App App App App Manifest群 利用 検証 変更 変更により、 Appが動かなくなるかも? ! ! 開発環境とはいえ、相乗り利用なので どうしても他のエンジニアへの影響を気にしてしまう ローカル環境と クラウド環境上で 差異が大きい 手元で Kubernetesを 学習したい Kubernetesの マニフェストを 気軽に 検証できない

Slide 84

Slide 84 text

©Synspective Inc. 83 GKE(Kubernetes)に対する同僚からの声 ローカル環境 (開発者PC上) App App App App ローカル環境と クラウド環境上で 差異が大きい 手元で Kubernetesを 学習したい Kubernetesの マニフェストを 気軽に 検証できない

Slide 85

Slide 85 text

©Synspective Inc. 84 GKE(Kubernetes)に対する同僚からの声 ローカル環境 (開発者PC上) App App App App Kubernetes初学者に対して、 学習に取り組む際の環境構築のハードルを下げたい ローカル環境と クラウド環境上で 差異が大きい 手元で Kubernetesを 学習したい Kubernetesの マニフェストを 気軽に 検証できない

Slide 86

Slide 86 text

©Synspective Inc. 85 民主的に意見を集めた結果、Kubernetes@ローカル環境の導入を検討 ローカル環境と クラウド環境上で 差異が大きい Kubernetesの マニフェストを 気軽に 検証できない 手元で Kubernetesを 学習したい

Slide 87

Slide 87 text

©Synspective Inc. 86 民主的に意見を集めた結果、Kubernetes@ローカル環境の導入を検討 ローカル環境 (開発者PC上) App App App App Manifest群 イネイブリングチームとして、 ローカル環境で Kubernetesの利用を検討 ローカル環境と クラウド環境上で 差異が大きい Kubernetesの マニフェストを 気軽に 検証できない 手元で Kubernetesを 学習したい 差分解消 自端末で 検証可能 手軽に利用 あたらしい技術や スキル獲得を支援

Slide 88

Slide 88 text

©Synspective Inc. 民主化実現に向けて大切にしたこと

Slide 89

Slide 89 text

©Synspective Inc. 88 Kubernetes利用の民主化を進める上で大切にしたこと 利用を強制しない 既存の開発体験を 極力壊さない フィードバックを 大切にする スモールスタート

Slide 90

Slide 90 text

©Synspective Inc. 89 Kubernetes利用の民主化を進める上で大切にしたこと 利用を強制しない 既存の開発体験を 極力壊さない フィードバックを 大切にする スモールスタート

Slide 91

Slide 91 text

©Synspective Inc. 利用している 主なクラウドネイティブ技術 主要なサブシステム システムの責務 画像生成 システム 計画・予測 システム 衛星管制 システム 分析 システム GKE Argo Workflows GKE GKE GCE Cloud Run Prometheus 衛星に対するコマンドの 送信やテレメトリの受信 周回中の観測データから 長期的な傾向を分析 衛星の軌道や地上局の 通過時間帯予測、観測計画 衛星から取得した情報から プロダクト画像を生成 Big Query システム横断:KustomizeやSkaffoldを組み合わせたCI/CDパイプライン 再掲 フィードバックが得られた サブシステムからスタート SynspectiveにおけるGKE(Kubernetes)の活用

Slide 92

Slide 92 text

©Synspective Inc. 91 Kubernetes利用の民主化を進める上で大切にしたこと 利用を強制しない 既存の開発体験を 極力壊さない フィードバックを 大切にする スモールスタート アプリケーションの利用 とCI/CD観点

Slide 93

Slide 93 text

©Synspective Inc. 92 民主的に意見を集めた結果、Kubernetes@ローカル環境の導入を検討 ローカル環境 (開発者PC上) App App App App Manifest群 ローカル環境と クラウド環境上で 差異が大きい Kubernetesの マニフェストを 気軽に 検証できない 手元で Kubernetesを 学習したい 差分解消 自端末で 検証可能 手軽に利用 イネイブリングチームとして、 ローカル環境で Kubernetesの利用を検討

Slide 94

Slide 94 text

©Synspective Inc. 93 民主的に意見を集めた結果、Kubernetes@ローカル環境の導入を検討 ローカル環境 (開発者PC上) App App App App Manifest群 ローカル環境と クラウド環境上で 差異が大きい Kubernetesの マニフェストを 気軽に 検証できない 手元で Kubernetesを 学習したい 差分解消 自端末で 検証可能 手軽に利用 minikube kind 主要な選択肢※ ※実際にはその他のツール(Docker for Mac, k3s, k3d, microk8s)等も 比較検討を行っていますが、今回は時間の都合上、割愛します イネイブリングチームとして、 ローカル環境で Kubernetesの利用を検討

Slide 95

Slide 95 text

©Synspective Inc. 94 Kubernetes@ローカル環境に関する技術選定 minikube kind(Kubernetes in Docker)

Slide 96

Slide 96 text

©Synspective Inc. Kubernetes@ローカル環境に関する技術選定 minikube ・ Kubernetes SIGプロジェクト ・2016年から現在まで、活発に開発 ・Kubernetesの学習と開発に重点 ・管理ダッシュボードが別途用意 ・ Kubernetes SIGプロジェクト ・2018年からα版が公開 ・Kubernetes自体の検証用途 (ローカル開発やCIでも利用、との記載) kind(Kubernetes in Docker)

Slide 97

Slide 97 text

©Synspective Inc. 96 Kubernetes@ローカル環境に関する技術選定 基本的な機能充足面でいえば、 どちらのツールもそこまでの大差はない minikube ・ Kubernetes SIGプロジェクト ・2016年から現在まで、活発に開発 ・Kubernetesの学習と開発に重点 ・管理ダッシュボードが別途用意 kind(Kubernetes in Docker) ・ Kubernetes SIGプロジェクト ・2018年からα版が公開 ・Kubernetes自体の検証用途 (ローカル開発やCIでも利用、との記載)

Slide 98

Slide 98 text

©Synspective Inc. 97 Kubernetes@ローカル環境に関する技術選定 kind(Kubernetes in Docker) ・ Kubernetes SIGプロジェクト ・2018年からα版が公開 ・Kubernetes自体の検証用途 (ローカル開発やCIでも利用、との記載) こちらを採用 ※KubernetesのService にてTypeをLoadBlanacerとして作成し、”minikube tunnel”を利用することで、ポート番号は固定可能。 一方、割り振られるIPアドレスがランダムになるため、結局ローカル上のWebアプリケーションアクセス時におけるURL指定方法が既存と異なるため見送り ・KindのextraPortMappingにより、 ホストとkind側コンテナのポートマッピングが可能 (ポート番号を指定できる) ・minikubeはポートフォワード可能だが、 ポート番号がランダム割当てとなる※ →ローカル上でWebアプリケーション利用時に 体験が変わってしまう

Slide 99

Slide 99 text

©Synspective Inc. 98 民主的に意見を集めた結果、Kubernetes@ローカル環境の導入を検討 ローカル環境 (開発者PC上) App App App App Manifest群 kindによりローカル環境で Kubernetesを利用 ローカル環境と クラウド環境上で 差異が大きい Kubernetesの マニフェストを 気軽に 検証できない 手元で Kubernetesを 学習したい 差分解消 自端末で 検証可能 手軽に利用

Slide 100

Slide 100 text

©Synspective Inc. 99 クラウド環境と同一のCI/CDパイプラインを意識 弊社では、KustomizeとSkaffoldをベースにしたCIOpsにてパイプラインを実装

Slide 101

Slide 101 text

©Synspective Inc. 100 クラウド環境と同一のCI/CDパイプラインを意識 弊社では、KustomizeとSkaffoldをベースにしたCIOpsにてパイプラインを実装 ・マニフェストの管理ツール ・ベースのマニフェストを共通とし、 環境ごとのマニフェストを差分として 管理可能 ・Googleが開発したKubernetes上の アプリ開発向けツール ・ビルドやデプロイの流れを自動化& 標準化してくれる

Slide 102

Slide 102 text

©Synspective Inc. 101 クラウド環境と同一のCI/CDパイプラインを意識 弊社では、KustomizeとSkaffoldをベースにしたCIOpsにてパイプラインを実装

Slide 103

Slide 103 text

©Synspective Inc. 102 / ├base ← 共通のmanifest定義 ├ dev ← 開発環境向け差分 ├ stg └ prd Kustomize Skaffold ビルドオプション: Artifact Registryにプッシュ デプロイオプション: dev用Kustomizeをもとに反映 開発環境 ※ステージング環境、本番環境に関しても同様 弊社では、KustomizeとSkaffoldをベースにしたCIOpsにてパイプラインを実装 クラウド環境と同一のCI/CDパイプラインを意識

Slide 104

Slide 104 text

©Synspective Inc. 103 弊社では、KustomizeとSkaffoldをベースにしたCIOpsにてパイプラインを実装 開発環境 skaffold buildで イメージビルド skaffold deployで GKE上にデプロイ Cloud Build Cloud Deploy イメージプッシュ イメージプル GKE / ├base ← 共通のmanifest定義 ├ dev ← 開発環境向け差分 ├ stg └ prd Kustomize Skaffold ビルドオプション: Artifact Registryにプッシュ デプロイオプション: dev用Kustomizeをもとに反映 Artifact Registry デリバリーパイプラインが起動 PRマージ ※ステージング環境、本番環境に関しても同様 Dev用でオーバーレイ クラウド環境と同一のCI/CDパイプラインを意識

Slide 105

Slide 105 text

©Synspective Inc. 104 / ├base ← 共通のmanifest定義 ├ local ← ローカル環境向け差分 ├ dev ├ stg └ prd Kustomize Skaffold ビルドオプション: プッシュなし(ホスト内保存) デプロイオプション: local用Kustomizeをもとに反映 ローカル環境 弊社では、KustomizeとSkaffoldをベースにしたCIOpsにてパイプラインを実装 クラウド環境と同一のCI/CDパイプラインを意識

Slide 106

Slide 106 text

©Synspective Inc. 105 ローカル環境 skaffold buildで イメージビルド skaffold deployで GKE上にデプロイ イメージ保存 イメージ取得 kind / ├base ← 共通のmanifest定義 ├ local ← ローカル環境向け差分 ├ dev ├ stg └ prd Kustomize Skaffold ビルドオプション: プッシュなし(ホスト内保存) デプロイオプション: local用Kustomizeをもとに反映 デリバリーパイプラインが起動 PRマージ ビルド 実行 デプロイ 実行 local用でオーバーレイ KustomizeとSkaffoldの定義で 環境差異を吸収 弊社では、KustomizeとSkaffoldをベースにしたCIOpsにてパイプラインを実装 クラウド環境と同一のCI/CDパイプラインを意識

Slide 107

Slide 107 text

©Synspective Inc. 106 Kubernetes利用の民主化を進める上で大切にしたこと 利用を強制しない 既存の開発体験を 極力壊さない フィードバックを 大切にする スモールスタート

Slide 108

Slide 108 text

©Synspective Inc. 107 Kubernetes利用の民主化を進める上で大切にしたこと 利用を強制しない クラウドチームは、プロダクトチームの ニーズと適切なリスクおよびコンプライ アンス管理のニーズに合うような、高品 質のセルフサービスを提供することに注 力すべきだ。 出典: マシュー・スケルトン、マニュエル・パイス(2021年)『 Team Topology 』 日本能率協会マネジメントセンター p.83より一部引用

Slide 109

Slide 109 text

©Synspective Inc. 108 Kubernetes利用の民主化を進める上で大切にしたこと 利用を強制しない イネイブリングチームは、知識の「象牙 の塔」になったり、チームに技術的な判 断を押し付けたりしないように十分に注 意しつつ、組織全体の技術的な制約を チームが理解し守るのを助ける。 クラウドチームは、プロダクトチームの ニーズと適切なリスクおよびコンプライ アンス管理のニーズに合うような、高品 質のセルフサービスを提供することに注 力すべきだ。 出典: マシュー・スケルトン、マニュエル・パイス(2021年)『 Team Topology 』 日本能率協会マネジメントセンター p.83より一部引用 出典: マシュー・スケルトン、マニュエル・パイス(2021年)『 Team Topology 』 日本能率協会マネジメントセンター p.105より一部引用

Slide 110

Slide 110 text

©Synspective Inc. 109 Kubernetes利用の民主化を進める上で大切にしたこと 利用を強制しない ローカル環境(開発者PC上) App App App App App App App App Manifest群 or ※環境のメンテコストの関係もあるため、 今後、チーム内のコンセンサス次第では 一方の環境のみ利用する可能性あり

Slide 111

Slide 111 text

©Synspective Inc. 110 Kubernetes利用の民主化を進める上で大切にしたこと 利用を強制しない 既存の開発体験を 極力壊さない フィードバックを 大切にする スモールスタート

Slide 112

Slide 112 text

©Synspective Inc. 111 良いところも悪いところも受け止めて改善していく

Slide 113

Slide 113 text

©Synspective Inc. 112 マイクロサービスが追加される時に Kubernetesレベルで手軽に検証が できるようになったので嬉しい! Kubernetesの勉強、始めたよ! 今日はxxxの動画を見る予定! Good Good 良いところも悪いところも受け止めて改善していく

Slide 114

Slide 114 text

©Synspective Inc. 113 マイクロサービスが追加される時に Kubernetesレベルで手軽に検証が できるようになったので嬉しい! Kubernetesの勉強、始めたよ! 今日はxxxの動画を見る予定! Kindの場合、PC再起動すると 再度初期から再構築が必要なので、 時間がかかるんだよね。 アプリケーションの起動が 以前より少し遅くなった ように感じるな。 Good Good Improvement Improvement 良いところも悪いところも受け止めて改善していく

Slide 115

Slide 115 text

©Synspective Inc. 114 マイクロサービスが追加される時に Kubernetesレベルで手軽に検証が できるようになったので嬉しい! Kubernetesの勉強、始めたよ! 今日はxxxの動画を見る予定! Kindの場合、PC再起動すると 再度初期から再構築が必要なので、 時間がかかるんだよね。 アプリケーションの起動が 以前より少し遅くなった ように感じるな。 初期設定が シリアル処理なので、 並列化を検討 ビルド・イメージ キャッシュの 仕組みを見直し Good Good Improvement Improvement 良いところも悪いところも受け止めて改善していく

Slide 116

Slide 116 text

©Synspective Inc. 115 Kubernetes利用の民主化を進める上で大切にしたこと 利用を強制しない 既存の開発体験を 極力壊さない フィードバックを 大切にする スモールスタート

Slide 117

Slide 117 text

©Synspective Inc. まとめ

Slide 118

Slide 118 text

©Synspective Inc. まとめ ・Google Cloud(GKEやCloud Run)を中心に 人工衛星の地上システムが構築・運用 ・リモセン法をはじめとした各種規制に準拠 Part 1: 人工衛星を支えるクラウドネイティブ技術 Part 2: クラウドネイティブ民主化への取り組み ・民主化に向けて、ローカル環境上における Kubernetes環境の提供 ・スモールスタート、開発体験の維持、 利用を強制しない、フィードバックを大切に

Slide 119

Slide 119 text

©Synspective Inc. 118