Upgrade to Pro — share decks privately, control downloads, hide ads and more …

人工衛星管制システムにおけるCICD / CICD in satellite control systems

iselegant
March 15, 2024

人工衛星管制システムにおけるCICD / CICD in satellite control systems

iselegant

March 15, 2024
Tweet

More Decks by iselegant

Other Decks in Technology

Transcript

  1. ©Synspective Inc. 衛星から取得したデータがユーザに届くまで データ プラットフォーム 地上システム 外部地上局 プロバイダ SAR衛星 衛星画像の

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

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

    衛星画像の オーダー 衛星画像の ダウンロード 衛星画像の オーダー 衛星画像の 取得 コマンドリクエスト コマンド リクエスト 観測データ テレメトリデータ 観測データ テレメトリデータ 衛星画像の取得 衛星のモニタリング お客様 衛星運用担当者 19 地上システム ここを 深堀り
  4. ©Synspective Inc. 計画・予測 システム 画像生成 システム 分析 システム 衛星への指令コマンド 生成

    取得 SAR衛星 外部地上局 プロバイダ コマンド リクエスト 衛星管制 システム コマンド 衛星地上システムの全体構成 26
  5. ©Synspective Inc. 計画・予測 システム 画像生成 システム 分析 システム BigQuery 衛星への指令コマンド

    生成 取得 SAR衛星 テレメトリ データ 観測データ 外部地上局 プロバイダ コマンド リクエスト 観測データ テレメトリデータ 衛星管制 システム テレメトリ データ Cloud Storage リアルタイム モニタリング コマンド 衛星運用 担当者 衛星地上システムの全体構成 27
  6. ©Synspective Inc. 計画・予測 システム 画像生成 システム 分析 システム BigQuery 衛星への指令コマンド

    生成 取得 SAR衛星 テレメトリ データ 観測データ 取得 画像生成 外部地上局 プロバイダ コマンド リクエスト 観測データ テレメトリデータ 衛星運用 担当者 衛星管制 システム テレメトリ データ Cloud Storage コマンド リアルタイム モニタリング 衛星地上システムの全体構成 28
  7. ©Synspective Inc. 衛星地上システムの全体構成 計画・予測 システム 画像生成 システム 分析 システム BigQuery

    衛星への指令コマンド 生成 取得 データ取得 SAR衛星 テレメトリ データ 観測データ 取得 画像生成 外部地上局 プロバイダ コマンド リクエスト 観測データ テレメトリデータ 衛星運用 担当者 分析 テレメトリ データ Cloud Storage コマンド リアルタイム モニタリング 衛星管制 システム 29
  8. ©Synspective Inc. 衛星地上システムの全体構成 計画・予測 システム 画像生成 システム 分析 システム BigQuery

    衛星への指令コマンド 生成 取得 データ取得 SAR衛星 テレメトリ データ 観測データ 取得 画像生成 外部地上局 プロバイダ コマンド リクエスト 観測データ テレメトリデータ 衛星運用 担当者 分析 テレメトリ データ Cloud Storage コマンド リアルタイム モニタリング 本日の対象 衛星管制 システム 30
  9. ©Synspective Inc. 32 外部地上局 プロバイダ WebApp コントローラ 衛星通信IF スケジューラ GKE

    Cluster 人工 衛星 LB LB 専用の ソフトウェア等 VM VM VM Cloud SQL モニタリング 衛星運用 担当者 衛星の状態を モニタリング 計画・予測 システム VPN 衛星への 司令 衛星管制システムの構成
  10. ©Synspective Inc. GKE Cluster 33 衛星管制システムの構成 外部地上局 プロバイダ 人工 衛星

    LB LB 専用の ソフトウェア等 VM VM VM Cloud SQL モニタリング 衛星運用 担当者 衛星の状態を モニタリング 計画・予測 システム VPN 衛星への 司令 WebApp コントローラ 衛星通信IF スケジューラ Cloud Build Cloud Deploy 衛星管制システムの CI/CD
  11. ©Synspective Inc. 51 外部地上局 プロバイダ 人工衛星 GKE Cluster VPN テレメトリ

    データ受信 データ受信中はコネクション維持が必要 →安全を鑑み、作業者立会のもと、 デプロイのタイミング調整が必要 データ受信可能な範囲 衛星通信IF
  12. ©Synspective Inc. 59 弊社では、KustomizeとSkaffoldをベースにしたCIOpsにてパイプラインを実装 / ├base ← 共通のmanifest定義 ├ dev

    ← 開発環境向け差分 ├ stg ← staging環境向け差分 └ prd ← 本番環境向け差分 Kustomize Skaffold ビルドオプション: Artifact Registryにプッシュ デプロイオプション: prd用Kustomizeをもとに反映 PRマージ Cloud BuildとCloud Deployを中心とした衛星管制システムのリリース
  13. ©Synspective Inc. 60 弊社では、KustomizeとSkaffoldをベースにしたCIOpsにてパイプラインを実装 本番環境 Cloud Build Kustomize Skaffold ビルドオプション:

    Artifact Registryにプッシュ デプロイオプション: prd用Kustomizeをもとに反映 デリバリー パイプラインが起動 PRマージ Cloud BuildとCloud Deployを中心とした衛星管制システムのリリース / ├base ← 共通のmanifest定義 ├ dev ← 開発環境向け差分 ├ stg ← staging環境向け差分 └ prd ← 本番環境向け差分 ※開発環境、ステージング環境に関しても同様
  14. ©Synspective Inc. 61 弊社では、KustomizeとSkaffoldをベースにしたCIOpsにてパイプラインを実装 本番環境 skaffold buildで イメージビルド Cloud Build

    イメージプッシュ Kustomize Skaffold ビルドオプション: Artifact Registryにプッシュ デプロイオプション: prd用Kustomizeをもとに反映 Artifact Registry デリバリー パイプラインが起動 PRマージ Cloud BuildとCloud Deployを中心とした衛星管制システムのリリース / ├base ← 共通のmanifest定義 ├ dev ← 開発環境向け差分 ├ stg ← staging環境向け差分 └ prd ← 本番環境向け差分 ※開発環境、ステージング環境に関しても同様
  15. ©Synspective Inc. 62 弊社では、KustomizeとSkaffoldをベースにしたCIOpsにてパイプラインを実装 本番環境 skaffold buildで イメージビルド Cloud Build

    Cloud Deploy イメージプッシュ Kustomize Skaffold ビルドオプション: Artifact Registryにプッシュ デプロイオプション: prd用Kustomizeをもとに反映 Artifact Registry デリバリー パイプラインが起動 PRマージ Cloud BuildとCloud Deployを中心とした衛星管制システムのリリース / ├base ← 共通のmanifest定義 ├ dev ← 開発環境向け差分 ├ stg ← staging環境向け差分 └ prd ← 本番環境向け差分 ※開発環境、ステージング環境に関しても同様
  16. ©Synspective Inc. 63 弊社では、KustomizeとSkaffoldをベースにしたCIOpsにてパイプラインを実装 本番環境 skaffold buildで イメージビルド Cloud Build

    Cloud Deploy イメージプッシュ Kustomize Skaffold ビルドオプション: Artifact Registryにプッシュ デプロイオプション: prd用Kustomizeをもとに反映 Artifact Registry デリバリー パイプラインが起動 PRマージ セキュリティ ルーム 承認待ち タイミングを 調整して承認 Cloud BuildとCloud Deployを中心とした衛星管制システムのリリース / ├base ← 共通のmanifest定義 ├ dev ← 開発環境向け差分 ├ stg ← staging環境向け差分 └ prd ← 本番環境向け差分 ※開発環境、ステージング環境に関しても同様
  17. ©Synspective Inc. 64 弊社では、KustomizeとSkaffoldをベースにしたCIOpsにてパイプラインを実装 本番環境 skaffold buildで イメージビルド Cloud Build

    Cloud Deploy イメージプッシュ Kustomize Skaffold ビルドオプション: Artifact Registryにプッシュ デプロイオプション: prd用Kustomizeをもとに反映 Artifact Registry デリバリー パイプラインが起動 PRマージ セキュリティ ルーム 承認待ち タイミングを 調整して承認 Cloud Audit Logs 誰がいつ 承認したか? Cloud BuildとCloud Deployを中心とした衛星管制システムのリリース / ├base ← 共通のmanifest定義 ├ dev ← 開発環境向け差分 ├ stg ← staging環境向け差分 └ prd ← 本番環境向け差分 ※開発環境、ステージング環境に関しても同様
  18. ©Synspective Inc. 65 弊社では、KustomizeとSkaffoldをベースにしたCIOpsにてパイプラインを実装 本番環境 skaffold buildで イメージビルド skaffold deployで

    GKE上にデプロイ Cloud Build Cloud Deploy イメージプッシュ イメージプル GKE Kustomize Skaffold ビルドオプション: Artifact Registryにプッシュ デプロイオプション: prd用Kustomizeをもとに反映 Artifact Registry デリバリー パイプラインが起動 PRマージ ※開発環境、ステージング環境に関しても同様 prd用でオーバーレイ セキュリティ ルーム 承認待ち タイミングを 調整して承認 Cloud Audit Logs 誰がいつ 承認したか? Cloud BuildとCloud Deployを中心とした衛星管制システムのリリース / ├base ← 共通のmanifest定義 ├ dev ← 開発環境向け差分 ├ stg ← staging環境向け差分 └ prd ← 本番環境向け差分
  19. ©Synspective Inc. 72 外部地上局 プロバイダ 人工衛星 GKE Cluster 衛星通信IF VPN

    テレメトリ データ受信 データ受信可能な範囲
  20. ©Synspective Inc. 73 外部地上局 プロバイダ 人工衛星 GKE Cluster 衛星通信IF VPN

    テレメトリ データ受信 データ受信可能な範囲
  21. ©Synspective Inc. 74 外部地上局 プロバイダ 人工衛星 GKE Cluster 衛星通信IF VPN

    テレメトリ データ受信 データ受信可能な範囲 リリース対象の衛星通信IFは 共通仕様にもかかわらず、 リリース衛星ごとにタイミングが異なる
  22. ©Synspective Inc. 77 時間 時間 時間 時間 通信中 (リリース不可) 通信中

    (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 衛星通信IFにおけるリリースの現状
  23. ©Synspective Inc. 78 時間 時間 時間 時間 通信中 (リリース不可) 通信中

    (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 衛星通信IF リリース 可能な タイミング このスキマを探ることが 困難になる 通信中 (リリース不可) 衛星通信IFにおけるリリースの現状
  24. ©Synspective Inc. 80 時間 時間 時間 時間 通信中 (リリース不可) 通信中

    (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) リリース 手動 リリース リリース リリース 暫定対処的なリリース方式 手動 手動 手動 都度リリース承認が必要となり、 作業の手間が増える 衛星通信IF 衛星通信IF 衛星通信IF 衛星通信IF
  25. ©Synspective Inc. 83 時間 時間 時間 時間 通信中 (リリース不可) 通信中

    (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 衛星通信IF リリース 衛星通信IFのリリースは 地上局と通信可能な時刻情報 から自律的に判断 衛星通信IF リリース 衛星通信IF リリース リリース 目指すべき理想的な衛星通信IFにおけるリリース方式(検討中) 自動判断 自動判断 自動判断 自動判断 衛星通信IF
  26. ©Synspective Inc. 84 時間 時間 時間 時間 通信中 (リリース不可) 通信中

    (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 通信中 (リリース不可) 衛星通信IF リリース 衛星通信IFのリリースは 地上局と通信可能な時刻情報 から自律的に判断 衛星通信IF リリース 衛星通信IF リリース リリース 目指すべき理想的な衛星通信IFにおけるリリース方式(検討中) 自動判断 自動判断 自動判断 自動判断 衛星通信IF ここまでできて、初めて「安定したリリース」が実現できたといえる →次のステップとして、開発生産性指標をもとに、リリース頻度や リードタイム短縮に向き合うことが衛星管制システムとしての価値に変わる