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

人工衛星の運用を支えるクラウドネイティブ民主化への取り組み / Efforts toward cloud-native democratization for satellite operations

iselegant
December 11, 2023

人工衛星の運用を支えるクラウドネイティブ民主化への取り組み / Efforts toward cloud-native democratization for satellite operations

iselegant

December 11, 2023
Tweet

More Decks by iselegant

Other Decks in Technology

Transcript

  1. ©Synspective Inc. アジェンダ ・Synspectiveの紹介 ・人工衛星から取得したデータが届くまで ・地上システムとクラウド技術の活用 ・観測衛星の開発・運用を取り巻く各種規制 Part 1: 人工衛星を支えるクラウドネイティブ技術

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

    Part 2: クラウドネイティブ民主化への取り組み ・民主化のWhat・Why・How ・ローカル環境におけるKubernetes活用 ・民主化実現に向けて大切にしたこと こちらから
  3. ©Synspective Inc. 衛星コンステレーション カスタマー 画像の ダウンロード コマンドリクエスト 観測データ テレメトリデータ コマンド

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

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

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

    コマンドリクエスト 観測データ テレメトリデータ コマンド リクエスト 観測データ テレメトリデータ データの流れ 衛星の運用 地上システム& データプラットフォーム ソリューション プラットフォーム 地上局 プロバイダー 画像のオーダー ここと、 ここ 今回はこちらを中心に お話します 地上システムにおけるクラウド技術の活用
  7. ©Synspective Inc. 衛星の軌道や地上局の通過時間帯予測、観測計画を担う ・衛星による観測データ取得に必要な頭脳に相当する役割 ・GKE(KubernetesとCNCF関連のOSS)を中心に構成 主要なサブシステム WebApp APIGW 軌道予測 GKE

    Cluster LB LB 衛星運用 担当者 コマンド 生成 観測計画 AOS検索 データ中継 DataStore 衛星管制 システム CronJob等により、 定期的に計算や予測を実施 投入依頼 ざっくり 表現すると・・・ 画像生成 システム 計画・予測 システム 衛星管制 システム 分析 システム
  8. ©Synspective Inc. 衛星管制システムは地上局を通して衛星と通信するコアな部分 外部 地上局サービス WebApp コントローラ 衛星通信 スケジューラ GKE

    Cluster 人工 衛星 LB LB 専用の ソフトウェア等 ・衛星に対する司令やテレメトリの受信を担うシステム ・GKE(KubernetesとCNCF関連のOSS)とVMを中心に構成。 VM VM VM Cloud SQL モニタリング 主要なサブシステム 衛星運用 担当者 衛星の状態を モニタリング 計画・予測 システム ざっくり 表現すると・・・ VPN 衛星への 司令 画像生成 システム 衛星管制 システム 分析 システム 計画・予測 システム
  9. ©Synspective Inc. 衛星から取得した情報から画像を生成 ・画像生成には様々なレーダー解析アルゴリズムが活用 ・GKE(KubernetesとCNCF関連のOSS)を中心に構成 主要なサブシステム データ抽出 GKE Cluster 各解析アルゴリズムにて

    画像を生成 衛星管制 システム 復号 観測データ サービス ワークロード Argo Workflows 並列実行 初期解析処理 64 vCPU/512GB memory プロダクト画像 データ連携 ざっくり 表現すると・・・ 画像生成 システム 計画・予測 システム 衛星管制 システム 分析 システム
  10. ©Synspective Inc. 地球周回中に蓄積された観測データから長期的な傾向を把握 ・長期的なデータを解析し、衛星の異常検知や軌道や画像精度向上に活用 ・Cloud Run Service & JobやBigQueryを中心に構成。 主要なサブシステム

    衛星管制 システム テレメトリ 連携 BigQuery Cloud Run Job (統計値の計算) Cloud Run Job (異常値の検出) Cloud Run Service (分析ダッシュボード) 衛星運用 担当者 LB Cloud Run Job (その他解析) 衛星運用 担当者 取得 取得 取得 取得 アドホック 分析 可視化 ざっくり 表現すると・・・ 画像生成 システム 計画・予測 システム 衛星管制 システム 分析 システム 衛星の長期的な 傾向を分析
  11. ©Synspective Inc. 主要なサブシステム システムの責務 地上システムの各役割と活用されているクラウドネイティブ技術 画像生成 システム 計画・予測 システム 衛星管制

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

    システム 分析 システム 利用している 主なクラウド技術 GKE Argo Workflows GKE GKE GCE Cloud Run Prometheus 衛星に対するコマンドの 送信やテレメトリの受信 周回中の観測データから 長期的な傾向を分析 衛星の軌道や地上局の 通過時間帯予測、観測計画 衛星から取得した情報から 画像を生成 Big Query システム横断:KustomizeやSkaffoldを組み合わせたCI/CDパイプライン 詳細は後ほど
  13. ©Synspective Inc. 46 観測衛星事業に関連する主な法律・コンプライアンス規制 1 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) ・リモセン装置の利用には内閣総理大臣と許可が必要 ・リモセン記録を保有する者は、第三者にリモセン記録を提供してはならない ※認定を受けた者に関しては提供が可能 ・組織的、人的、物理的、技術的な観点での安全管理措置が求められる

    参考: ・平成二十八年法律第七十七号 衛星リモートセンシング記録の適正な取扱いの確保に関する法律: https://elaws.e-gov.go.jp/document?lawid=428AC0000000077 ・衛星リモートセンシング記録の適正な取扱いの 確保に関する法律に基づく措置等に関する ガイドライン: https://www8.cao.go.jp/space/application/rs/documents/guideline.pdf 衛星に搭載したセンサーの使用許可や、そこから得られた地球表面の リモセン記録(観測データ)を扱う者の義務や認定を定めたもの
  14. ©Synspective Inc. データ抽出 GKE Cluster 衛星管制 システム 復号 観測データ サービス

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

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

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

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

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

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

    ・打ち上げの許可制度(飛行経路、打ち上げ施設の適合性チェック等) ・衛星管理の許可制度(宇宙空間の汚染防止、役割を終えた人工衛星の終了措置等) ・第三者に対する損害賠償 参考: ・平成二十八年法律第七十六号 人工衛星等の打ち上げ及び人工衛星の管理に関する法律: https://elaws.e-gov.go.jp/document?lawid=428AC0000000076
  21. ©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
  22. ©Synspective Inc. 60 観測衛星事業に関連する主な法律・コンプライアンス規制 3 4 1 2 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) 人工衛星等の打上げ及び人工衛星の管理に関する法律(通称:宇宙活動法)

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

    ※上記は国内に関する法律・コンプライアンス規制の一例ですが、上記以外にも、国際的な取り決めが多数あります ・宇宙条約 ・宇宙救助返還協定 ・宇宙損害責任条約 ・宇宙物体登録条約 などなど・・・ 外国為替及び外国貿易法(通称:外為法)に基づく輸出規制 民間宇宙システムにおけるサイバーセキュリティ対策ガイドライン Synspectiveは 各種法律・コンプライアンス規制に基づく ビジネス制約を加味しながら、 クラウドネイティブ技術を活用しています
  24. ©Synspective Inc. アジェンダ ・Synspectiveの紹介 ・人工衛星から取得したデータが届くまで ・地上システムとクラウド技術の活用 ・観測衛星の開発・運用を取り巻く各種規制 Part 1: 人工衛星を支えるクラウドネイティブ技術

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

    Part 2: クラウドネイティブ民主化への取り組み ・民主化のWhat・Why・How ・ローカル環境におけるKubernetes活用 ・民主化実現に向けて大切にしたこと 次はこちら
  26. ©Synspective Inc. 66 “Google CloudはAI(人工知能)を民主化する” →言い換えれば、「誰もがAIを使えるようにする」ということ Fei-Fei Li, Chief Scientist

    of AI/ML; Vice President at Google, Google Cloud Next 2017 (What) ここでいう、「クラウドネイティブ民主化」とは何なのか?
  27. ©Synspective Inc. 69 (Why) なぜ、「民主化」を目指すのか? 地上システム バックエンドエンジニア 観測計画 エンジニア 画像処理

    エンジニア DevOps エンジニア ・Synspectiveでは、様々な専門性を有したエンジニアが存在 ・各々が自らの専門領域を発揮しつつも、あたらしい領域を進んで学習し、 オーナーシップを持ちながら人工衛星の開発と運用に携わっている
  28. ©Synspective Inc. 主要なサブシステム システムの責務 画像生成 システム 計画・予測 システム 衛星管制 システム

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

    衛星管制 システム 分析 システム GKE Argo Workflows GKE GKE GCE Cloud Run Prometheus 衛星に対するコマンドの 送信やテレメトリの受信 周回中の観測データから 長期的な傾向を分析 衛星の軌道や地上局の 通過時間帯予測、観測計画 衛星から取得した情報から プロダクト画像を生成 Big Query システム横断:KustomizeやSkaffoldを組み合わせたCI/CDパイプライン 再掲 歴史的な経緯により、 多数のGKE(Kubernetes)を活用 SynspectiveにおけるGKE(Kubernetes)の活用
  30. ©Synspective Inc. 78 GKE(Kubernetes)に対する同僚からの声 ローカル環境 (開発者PC上) 開発環境 ステージング環境 本番環境 ローカル環境と

    クラウド環境上で 差異が大きい Kubernetesの マニフェストを 気軽に 検証できない 手元で Kubernetesを 学習したい
  31. ©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を 学習したい
  32. ©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を 学習したい
  33. ©Synspective Inc. 81 GKE(Kubernetes)に対する同僚からの声 開発環境 GKE App App App App

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

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

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

    Kubernetes初学者に対して、 学習に取り組む際の環境構築のハードルを下げたい ローカル環境と クラウド環境上で 差異が大きい 手元で Kubernetesを 学習したい Kubernetesの マニフェストを 気軽に 検証できない
  37. ©Synspective Inc. 86 民主的に意見を集めた結果、Kubernetes@ローカル環境の導入を検討 ローカル環境 (開発者PC上) App App App App

    Manifest群 イネイブリングチームとして、 ローカル環境で Kubernetesの利用を検討 ローカル環境と クラウド環境上で 差異が大きい Kubernetesの マニフェストを 気軽に 検証できない 手元で Kubernetesを 学習したい 差分解消 自端末で 検証可能 手軽に利用 あたらしい技術や スキル獲得を支援
  38. ©Synspective Inc. 利用している 主なクラウドネイティブ技術 主要なサブシステム システムの責務 画像生成 システム 計画・予測 システム

    衛星管制 システム 分析 システム GKE Argo Workflows GKE GKE GCE Cloud Run Prometheus 衛星に対するコマンドの 送信やテレメトリの受信 周回中の観測データから 長期的な傾向を分析 衛星の軌道や地上局の 通過時間帯予測、観測計画 衛星から取得した情報から プロダクト画像を生成 Big Query システム横断:KustomizeやSkaffoldを組み合わせたCI/CDパイプライン 再掲 フィードバックが得られた サブシステムからスタート SynspectiveにおけるGKE(Kubernetes)の活用
  39. ©Synspective Inc. 92 民主的に意見を集めた結果、Kubernetes@ローカル環境の導入を検討 ローカル環境 (開発者PC上) App App App App

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

    Manifest群 ローカル環境と クラウド環境上で 差異が大きい Kubernetesの マニフェストを 気軽に 検証できない 手元で Kubernetesを 学習したい 差分解消 自端末で 検証可能 手軽に利用 minikube kind 主要な選択肢※ ※実際にはその他のツール(Docker for Mac, k3s, k3d, microk8s)等も 比較検討を行っていますが、今回は時間の都合上、割愛します イネイブリングチームとして、 ローカル環境で Kubernetesの利用を検討
  41. ©Synspective Inc. Kubernetes@ローカル環境に関する技術選定 minikube ・ Kubernetes SIGプロジェクト ・2016年から現在まで、活発に開発 ・Kubernetesの学習と開発に重点 ・管理ダッシュボードが別途用意

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

    ・2016年から現在まで、活発に開発 ・Kubernetesの学習と開発に重点 ・管理ダッシュボードが別途用意 kind(Kubernetes in Docker) ・ Kubernetes SIGプロジェクト ・2018年からα版が公開 ・Kubernetes自体の検証用途 (ローカル開発やCIでも利用、との記載)
  43. ©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アプリケーション利用時に 体験が変わってしまう
  44. ©Synspective Inc. 98 民主的に意見を集めた結果、Kubernetes@ローカル環境の導入を検討 ローカル環境 (開発者PC上) App App App App

    Manifest群 kindによりローカル環境で Kubernetesを利用 ローカル環境と クラウド環境上で 差異が大きい Kubernetesの マニフェストを 気軽に 検証できない 手元で Kubernetesを 学習したい 差分解消 自端末で 検証可能 手軽に利用
  45. ©Synspective Inc. 102 / ├base ← 共通のmanifest定義 ├ dev ←

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

    ローカル環境向け差分 ├ dev ├ stg └ prd Kustomize Skaffold ビルドオプション: プッシュなし(ホスト内保存) デプロイオプション: local用Kustomizeをもとに反映 ローカル環境 弊社では、KustomizeとSkaffoldをベースにしたCIOpsにてパイプラインを実装 クラウド環境と同一のCI/CDパイプラインを意識
  48. ©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パイプラインを意識
  49. ©Synspective Inc. 108 Kubernetes利用の民主化を進める上で大切にしたこと 利用を強制しない イネイブリングチームは、知識の「象牙 の塔」になったり、チームに技術的な判 断を押し付けたりしないように十分に注 意しつつ、組織全体の技術的な制約を チームが理解し守るのを助ける。

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

    App App App App Manifest群 or ※環境のメンテコストの関係もあるため、 今後、チーム内のコンセンサス次第では 一方の環境のみ利用する可能性あり
  51. ©Synspective Inc. 113 マイクロサービスが追加される時に Kubernetesレベルで手軽に検証が できるようになったので嬉しい! Kubernetesの勉強、始めたよ! 今日はxxxの動画を見る予定! Kindの場合、PC再起動すると 再度初期から再構築が必要なので、

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

    時間がかかるんだよね。 アプリケーションの起動が 以前より少し遅くなった ように感じるな。 初期設定が シリアル処理なので、 並列化を検討 ビルド・イメージ キャッシュの 仕組みを見直し Good Good Improvement Improvement 良いところも悪いところも受け止めて改善していく
  53. ©Synspective Inc. まとめ ・Google Cloud(GKEやCloud Run)を中心に 人工衛星の地上システムが構築・運用 ・リモセン法をはじめとした各種規制に準拠 Part 1:

    人工衛星を支えるクラウドネイティブ技術 Part 2: クラウドネイティブ民主化への取り組み ・民主化に向けて、ローカル環境上における Kubernetes環境の提供 ・スモールスタート、開発体験の維持、 利用を強制しない、フィードバックを大切に