Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
人工衛星の運用を支えるクラウドネイティブ民主化への取り組み / Efforts toward ...
Search
iselegant
December 11, 2023
Technology
5
1.3k
人工衛星の運用を支えるクラウドネイティブ民主化への取り組み / Efforts toward cloud-native democratization for satellite operations
iselegant
December 11, 2023
Tweet
Share
More Decks by iselegant
See All by iselegant
AWSコンテナ本出版から3年経った今、もし改めて執筆し直すなら / If I revise our container book
iselegant
18
4.5k
Amazon ECS & AWS Fargate 今昔物語 / past and present stories of Amazon ECS and AWS Fargate
iselegant
19
4.6k
Binary Authorizationと友達になろう / Let's be friends with Binary Authorization
iselegant
3
190
エンジニアとして成長するための持続可能なアウトプット戦略 / Sustainable Output Strategy
iselegant
6
880
人工衛星管制システムにおけるCICD / CICD in satellite control systems
iselegant
8
1.3k
サーバーレスファーストで考えるクレジットカードビジネスの最適化 / Business Optimization for Credit Card by Serverless
iselegant
8
4.1k
全AWSエンジニアに捧ぐ、CloudWatch 設計・運用 虎の巻 / CloudWatch design and operation bible
iselegant
46
17k
ECS Service Connectによるサービスの新しいつなぎ方 / A new way to connect services with ECS Service Connect
iselegant
15
8.7k
PCI DSS準拠から学ぶサステナブルなAWSクラウドネイティブの運用 / Sustainable PCIDSS operation on AWS
iselegant
15
7.2k
Other Decks in Technology
See All in Technology
SDN の Hype Cycle を一通り経験してみて思うこと / Going through the Hype Cycle of SDN
mshindo
2
190
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
720
FlutterアプリにおけるSLI/SLOを用いたユーザー体験の可視化と計測基盤構築
ostk0069
0
130
CysharpのOSS群から見るModern C#の現在地
neuecc
2
3.6k
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
2
240
複雑なState管理からの脱却
sansantech
PRO
1
160
型チェック 速度改善 奮闘記⌛
tocomi
1
140
アプリエンジニアのためのGraphQL入門.pdf
spycwolf
0
110
強いチームと開発生産性
onk
PRO
36
12k
日経電子版のStoreKit2フルリニューアル
shimastripe
1
150
アジャイルチームがらしさを発揮するための目標づくり / Making the goal and enabling the team
kakehashi
3
170
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
3
360
Featured
See All Featured
Thoughts on Productivity
jonyablonski
67
4.3k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
A Philosophy of Restraint
colly
203
16k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Designing Experiences People Love
moore
138
23k
Visualization
eitanlees
145
15k
The Language of Interfaces
destraynor
154
24k
Building Applications with DynamoDB
mza
90
6.1k
Building Your Own Lightsaber
phodgson
103
6.1k
Navigating Team Friction
lara
183
14k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Transcript
©Synspective Inc. Synspective Inc. 人工衛星の運用を支える クラウドネイティブ民主化への取り組み Senior Infra Engineer CloudNative
Days Tokyo 2023 新井 雅也
©Synspective Inc. 新井 雅也 これまでは、野村総合研究所のインフラエンジニア兼シス テムアーキテクトとして、主に金融業界のシステム設計、 開発、運用に従事。 2023年6月にSynspectiveにジョイン。クラウドに関する 技術力を活かしつつ、宇宙業界の発展に尽力している。 AWS
Container Hero Google Cloud Partner Top Engineer 2023 @msy78 Senior Infra Engineer
©Synspective Inc.
©Synspective Inc. “みなさん、人工衛星の運用に対して クラウドネイティブ技術がどのように作用しているか、 想像できますか?”
©Synspective Inc. 私はSynspectiveにジョインするまで、 全く想像もつきませんでした。
©Synspective Inc. 本発表では、 事例としてあまり表立っては公開されてこなかった 人工衛星×クラウドネイティブの活用について 、
©Synspective Inc. 可能な限り、皆さんにお届けしていこうと思います。
©Synspective Inc. 本日のゴール 宇宙開発・人工衛星分野において、 クラウドネイティブ技術が大いに活用されていることを知ってもらい、 宇宙産業の繋がりを身近に感じてほしい(ワクワクを感じてほしい) 1
©Synspective Inc. 本日のゴール 衛星開発と運用に携わる様々な専門性を持ったメンバーに対し、 クラウドネイティブ技術を活用することで、 技術の民主化とオーナーシップを高められるということを知ってほしい 2
©Synspective Inc. アジェンダ ・Synspectiveの紹介 ・人工衛星から取得したデータが届くまで ・地上システムとクラウド技術の活用 ・観測衛星の開発・運用を取り巻く各種規制 Part 1: 人工衛星を支えるクラウドネイティブ技術
Part 2: クラウドネイティブ民主化への取り組み ・民主化のWhat・Why・How ・ローカル環境におけるKubernetes活用 ・民主化実現に向けて大切にしたこと
©Synspective Inc. アジェンダ ・Synspectiveの紹介 ・人工衛星から取得したデータが届くまで ・地上システムとクラウド技術の活用 ・観測衛星の開発・運用を取り巻く各種規制 Part 1: 人工衛星を支えるクラウドネイティブ技術
Part 2: クラウドネイティブ民主化への取り組み ・民主化のWhat・Why・How ・ローカル環境におけるKubernetes活用 ・民主化実現に向けて大切にしたこと こちらから
©Synspective Inc. Synspectiveの紹介
©Synspective Inc. Synspectiveの紹介 小型SAR衛星の開発・運用 さらに取得したデータをAI等を活用し解析を行う 私たちの衛星は、内閣府ImPACTプログラムの技術成果を基に、 SynspectiveとJAXA、東京大学、東京工業大学等と共同で開発した、 革新的な小型・低コストのSAR衛星です。
©Synspective Inc. Synspectiveの紹介 小型SAR衛星の開発・運用 さらに取得したデータをAI等を活用し解析を行う 私たちの衛星は、内閣府ImPACTプログラムの技術成果を基に、 SynspectiveとJAXA、東京大学、東京工業大学等と共同で開発した、 革新的な小型・低コストのSAR衛星です。
©Synspective Inc. 地表面へのマイクロ波を照射し、 反射信号を分析して対象物を観測することで、 形状や対象物の変化が検出可能 SAR衛星とは
©Synspective Inc. SAR衛星画像の特徴
©Synspective Inc. *元画像に雲を追加した図解画像です。 元画像はTerraMetricsから引用 ©Synspective Inc. 光学画像 SAR画像 SAR衛星画像の特徴
©Synspective Inc. *元画像に雲を追加した図解画像です。 元画像はTerraMetricsから引用 ©Synspective Inc. 見た目のわかりやすさ 天候・時間の影響 観測対象 光学画像
SAR画像 SAR衛星画像の特徴 色 形
©Synspective Inc. SAR衛星画像活用が期待される先 安全保障 インフラ・メンテナンス 防災・損害保険 資源エネルギー開発 複数の小型衛星からなるコンステレーション(衛星群) で高頻度な情報提供を目指しています SARデータ
ソリューション
©Synspective Inc. 人工衛星から取得したデータが届くまで
©Synspective Inc. データの流れ 衛星の運用 衛星から取得したデータがユーザに届くまでの流れ
©Synspective Inc. 衛星から取得したデータがユーザに届くまでの流れ データの流れ 衛星の運用 地上システム& データプラットフォーム カスタマー 画像のオーダー
©Synspective Inc. 衛星コンステレーション カスタマー コマンドリクエスト コマンド リクエスト 衛星から取得したデータがユーザに届くまでの流れ データの流れ 衛星の運用
地上システム& データプラットフォーム 地上局 プロバイダー 画像のオーダー
©Synspective Inc. 衛星コンステレーション カスタマー 画像の ダウンロード コマンドリクエスト 観測データ テレメトリデータ コマンド
リクエスト 観測データ テレメトリデータ 衛星から取得したデータがユーザに届くまでの流れ データの流れ 衛星の運用 地上システム& データプラットフォーム 地上局 プロバイダー 画像のオーダー
©Synspective Inc. 衛星コンステレーション カスタマー Synspective 衛星運用者 画像の ダウンロード 衛星のモニタリング 画像の取得
コマンドリクエスト 観測データ テレメトリデータ コマンド リクエスト 観測データ テレメトリデータ 衛星から取得したデータがユーザに届くまでの流れ データの流れ 衛星の運用 地上システム& データプラットフォーム ソリューション プラットフォーム 地上局 プロバイダー 画像のオーダー
©Synspective Inc. 地上システムとクラウド技術の活用
©Synspective Inc. Synspectiveの地上システムは ほぼ全て で実現されています
©Synspective Inc. 衛星コンステレーション カスタマー Synspective 衛星運用者 画像の ダウンロード 衛星のモニタリング 画像の取得
コマンドリクエスト 観測データ テレメトリデータ コマンド リクエスト 観測データ テレメトリデータ データの流れ 衛星の運用 地上システム& データプラットフォーム ソリューション プラットフォーム 地上局 プロバイダー 画像のオーダー 地上システムにおけるクラウド技術の活用
©Synspective Inc. 衛星コンステレーション カスタマー Synspective 衛星運用者 画像の ダウンロード 衛星のモニタリング 画像の取得
コマンドリクエスト 観測データ テレメトリデータ コマンド リクエスト 観測データ テレメトリデータ データの流れ 衛星の運用 地上システム& データプラットフォーム ソリューション プラットフォーム 地上局 プロバイダー 画像のオーダー ここと、 ここ 今回はこちらを中心に お話します 地上システムにおけるクラウド技術の活用
©Synspective Inc. 主要なサブシステム 地上システム& データプラットフォーム 画像生成 システム 計画・予測 システム 衛星管制
システム 分析 システム 地上システムにおけるクラウド技術の活用
©Synspective Inc. 衛星の軌道や地上局の通過時間帯予測、観測計画を担う ・衛星による観測データ取得に必要な頭脳に相当する役割 ・GKE(KubernetesとCNCF関連のOSS)を中心に構成 主要なサブシステム 画像生成 システム 計画・予測 システム
衛星管制 システム 分析 システム
©Synspective Inc. 衛星の軌道や地上局の通過時間帯予測、観測計画を担う ・衛星による観測データ取得に必要な頭脳に相当する役割 ・GKE(KubernetesとCNCF関連のOSS)を中心に構成 主要なサブシステム WebApp APIGW 軌道予測 GKE
Cluster LB LB 衛星運用 担当者 コマンド 生成 観測計画 AOS検索 データ中継 DataStore 衛星管制 システム CronJob等により、 定期的に計算や予測を実施 投入依頼 ざっくり 表現すると・・・ 画像生成 システム 計画・予測 システム 衛星管制 システム 分析 システム
©Synspective Inc. 衛星管制システムは地上局を通して衛星と通信するコアな部分 ・衛星に対する司令やテレメトリの受信を担うシステム ・GKE(KubernetesとCNCF関連のOSS)とVMを中心に構成。 主要なサブシステム 画像生成 システム 衛星管制 システム
分析 システム 計画・予測 システム
©Synspective Inc. 衛星管制システムは地上局を通して衛星と通信するコアな部分 外部 地上局サービス WebApp コントローラ 衛星通信 スケジューラ GKE
Cluster 人工 衛星 LB LB 専用の ソフトウェア等 ・衛星に対する司令やテレメトリの受信を担うシステム ・GKE(KubernetesとCNCF関連のOSS)とVMを中心に構成。 VM VM VM Cloud SQL モニタリング 主要なサブシステム 衛星運用 担当者 衛星の状態を モニタリング 計画・予測 システム ざっくり 表現すると・・・ VPN 衛星への 司令 画像生成 システム 衛星管制 システム 分析 システム 計画・予測 システム
©Synspective Inc. 衛星から取得した情報から画像を生成 ・画像生成には様々なレーダー解析アルゴリズムが活用 ・GKE(KubernetesとCNCF関連のOSS)を中心に構成 主要なサブシステム 画像生成 システム 計画・予測 システム
衛星管制 システム 分析 システム
©Synspective Inc. 衛星から取得した情報から画像を生成 ・画像生成には様々なレーダー解析アルゴリズムが活用 ・GKE(KubernetesとCNCF関連のOSS)を中心に構成 主要なサブシステム データ抽出 GKE Cluster 各解析アルゴリズムにて
画像を生成 衛星管制 システム 復号 観測データ サービス ワークロード Argo Workflows 並列実行 初期解析処理 64 vCPU/512GB memory プロダクト画像 データ連携 ざっくり 表現すると・・・ 画像生成 システム 計画・予測 システム 衛星管制 システム 分析 システム
©Synspective Inc. 地球周回中に蓄積された観測データから長期的な傾向を把握 ・長期的なデータを解析し、衛星の異常検知や軌道や画像精度向上に活用 ・Cloud Run Service & JobやBigQueryを中心に構成。 主要なサブシステム
画像生成 システム 計画・予測 システム 衛星管制 システム 分析 システム
©Synspective Inc. 地球周回中に蓄積された観測データから長期的な傾向を把握 ・長期的なデータを解析し、衛星の異常検知や軌道や画像精度向上に活用 ・Cloud Run Service & JobやBigQueryを中心に構成。 主要なサブシステム
衛星管制 システム テレメトリ 連携 BigQuery Cloud Run Job (統計値の計算) Cloud Run Job (異常値の検出) Cloud Run Service (分析ダッシュボード) 衛星運用 担当者 LB Cloud Run Job (その他解析) 衛星運用 担当者 取得 取得 取得 取得 アドホック 分析 可視化 ざっくり 表現すると・・・ 画像生成 システム 計画・予測 システム 衛星管制 システム 分析 システム 衛星の長期的な 傾向を分析
©Synspective Inc. ここまで色々紹介してきましたが、一旦まとめます
©Synspective Inc. 地上システムの各役割と活用されているクラウドネイティブ技術 主要なサブシステム 画像生成 システム 計画・予測 システム 衛星管制 システム
分析 システム
©Synspective Inc. 主要なサブシステム システムの責務 地上システムの各役割と活用されているクラウドネイティブ技術 画像生成 システム 計画・予測 システム 衛星管制
システム 分析 システム 衛星に対するコマンドの 送信やテレメトリの受信 周回中の観測データから 長期的な傾向を分析 衛星の軌道や地上局の 通過時間帯予測、観測計画 衛星から取得した情報から 画像を生成
©Synspective Inc. 主要なサブシステム システムの責務 地上システムの各役割と活用されているクラウドネイティブ技術 画像生成 システム 計画・予測 システム 衛星管制
システム 分析 システム 利用している 主なクラウド技術 GKE Argo Workflows GKE GKE GCE Cloud Run Prometheus 衛星に対するコマンドの 送信やテレメトリの受信 周回中の観測データから 長期的な傾向を分析 衛星の軌道や地上局の 通過時間帯予測、観測計画 衛星から取得した情報から 画像を生成 Big Query システム横断:KustomizeやSkaffoldを組み合わせたCI/CDパイプライン 詳細は後ほど
©Synspective Inc. 観測衛星の開発・運用を取り巻く各種規制
©Synspective Inc. 人工観測衛星を適切に開発・運用していくためには、 各種コンプライアンス・法律に準拠した仕組みが必要となります。
©Synspective Inc. 44 観測衛星事業に関連する主な法律・コンプライアンス規制
©Synspective Inc. 45 観測衛星事業に関連する主な法律・コンプライアンス規制 1 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法)
©Synspective Inc. 46 観測衛星事業に関連する主な法律・コンプライアンス規制 1 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) ・リモセン装置の利用には内閣総理大臣と許可が必要 ・リモセン記録を保有する者は、第三者にリモセン記録を提供してはならない ※認定を受けた者に関しては提供が可能 ・組織的、人的、物理的、技術的な観点での安全管理措置が求められる
参考: ・平成二十八年法律第七十七号 衛星リモートセンシング記録の適正な取扱いの確保に関する法律: https://elaws.e-gov.go.jp/document?lawid=428AC0000000077 ・衛星リモートセンシング記録の適正な取扱いの 確保に関する法律に基づく措置等に関する ガイドライン: https://www8.cao.go.jp/space/application/rs/documents/guideline.pdf 衛星に搭載したセンサーの使用許可や、そこから得られた地球表面の リモセン記録(観測データ)を扱う者の義務や認定を定めたもの
©Synspective Inc. データ抽出 GKE Cluster 衛星管制 システム 復号 観測データ サービス
ワークロード Argo Workflows プロダクト画像 データ連携 47 観測衛星事業に関連する主な法律・コンプライアンス規制 1 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) 外部 地上局サービス 衛星 画像生成システム による例
©Synspective Inc. データ抽出 GKE Cluster 衛星管制 システム 復号 観測データ サービス
ワークロード Argo Workflows プロダクト画像 データ連携 48 観測衛星事業に関連する主な法律・コンプライアンス規制 1 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) 外部 地上局サービス 衛星 画像生成システム による例 リモセン記録を扱うため、 規制対象の範囲
©Synspective Inc. データ抽出 GKE Cluster 衛星管制 システム 復号 観測データ サービス
ワークロード Argo Workflows プロダクト画像 データ連携 49 観測衛星事業に関連する主な法律・コンプライアンス規制 1 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) 外部 地上局サービス 衛星 画像生成システム による例 リモセン記録を扱うため、 規制対象の範囲 どうやって対処しているか?
©Synspective Inc. データ抽出 GKE Cluster 衛星管制 システム 復号 観測データ サービス
ワークロード Argo Workflows プロダクト画像 データ連携 50 観測衛星事業に関連する主な法律・コンプライアンス規制 1 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) 外部 地上局サービス 衛星 画像生成システム による例
©Synspective Inc. データ抽出 GKE Cluster 衛星管制 システム 復号 観測データ サービス
ワークロード Argo Workflows プロダクト画像 データ連携 51 観測衛星事業に関連する主な法律・コンプライアンス規制 1 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) 外部 地上局サービス 衛星 画像生成システム による例 別のGoogle Cloud プロジェクトに切り出し
©Synspective Inc. データ抽出 GKE Cluster 衛星管制 システム 復号 観測データ サービス
ワークロード Argo Workflows プロダクト画像 データ連携 52 観測衛星事業に関連する主な法律・コンプライアンス規制 1 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) 外部 地上局サービス 衛星 画像生成システム による例 別のGoogle Cloud プロジェクトに切り出し 特定場所からのみ クラウドへのアクセスが可能 (物理的安全管理措置) データの外部持ち出し不可 (技術的安全管理措置) 特定の要員のみ入室可能 (人的安全管理措置) 他のクラウドリソースは、開発生産性と セキュリティのバランスを考慮 ※後述するサイバーセキュリティガイドラインに基づく 許可された セキュリティルーム リモセン 記録取扱者
©Synspective Inc. 53 観測衛星事業に関連する主な法律・コンプライアンス規制 1 2 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) 人工衛星等の打上げ及び人工衛星の管理に関する法律(通称:宇宙活動法)
©Synspective Inc. 54 観測衛星事業に関連する主な法律・コンプライアンス規制 1 2 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) 人工衛星等の打上げ及び人工衛星の管理に関する法律(通称:宇宙活動法) ・民間企業向けに整備された、比較的あたらしい法律 ・次に示すような、宇宙活動に関する内容が規定
・打ち上げの許可制度(飛行経路、打ち上げ施設の適合性チェック等) ・衛星管理の許可制度(宇宙空間の汚染防止、役割を終えた人工衛星の終了措置等) ・第三者に対する損害賠償 参考: ・平成二十八年法律第七十六号 人工衛星等の打ち上げ及び人工衛星の管理に関する法律: https://elaws.e-gov.go.jp/document?lawid=428AC0000000076
©Synspective Inc. 55 観測衛星事業に関連する主な法律・コンプライアンス規制 3 1 2 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) 人工衛星等の打上げ及び人工衛星の管理に関する法律(通称:宇宙活動法) 外国為替及び外国貿易法(通称:外為法)に基づく輸出規制
©Synspective Inc. 56 観測衛星事業に関連する主な法律・コンプライアンス規制 3 1 2 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) 人工衛星等の打上げ及び人工衛星の管理に関する法律(通称:宇宙活動法) 外国為替及び外国貿易法(通称:外為法)に基づく輸出規制
・特定貨物の輸出入には経済産業省の許可が必要とするもの ・人工衛星や搭載するオンボードシステム等も含まれる
©Synspective Inc. 57 観測衛星事業に関連する主な法律・コンプライアンス規制 3 4 1 2 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) 人工衛星等の打上げ及び人工衛星の管理に関する法律(通称:宇宙活動法)
外国為替及び外国貿易法(通称:外為法)に基づく輸出規制 民間宇宙システムにおけるサイバーセキュリティ対策ガイドライン
©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
©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 地上システムに該当する
セキュリティ対策ポイント
©Synspective Inc. 60 観測衛星事業に関連する主な法律・コンプライアンス規制 3 4 1 2 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) 人工衛星等の打上げ及び人工衛星の管理に関する法律(通称:宇宙活動法)
※上記は国内に関する法律・コンプライアンス規制の一例ですが、上記以外にも、国際的な取り決めが多数あります ・宇宙条約 ・宇宙救助返還協定 ・宇宙損害責任条約 ・宇宙物体登録条約 などなど・・・ 外国為替及び外国貿易法(通称:外為法)に基づく輸出規制 民間宇宙システムにおけるサイバーセキュリティ対策ガイドライン
©Synspective Inc. 61 観測衛星事業に関連する主な法律・コンプライアンス規制 3 4 1 2 衛星リモートセンシング記録の適正な取り扱いの確保に関する法律(通称:衛星リモセン法) 人工衛星等の打上げ及び人工衛星の管理に関する法律(通称:宇宙活動法)
※上記は国内に関する法律・コンプライアンス規制の一例ですが、上記以外にも、国際的な取り決めが多数あります ・宇宙条約 ・宇宙救助返還協定 ・宇宙損害責任条約 ・宇宙物体登録条約 などなど・・・ 外国為替及び外国貿易法(通称:外為法)に基づく輸出規制 民間宇宙システムにおけるサイバーセキュリティ対策ガイドライン Synspectiveは 各種法律・コンプライアンス規制に基づく ビジネス制約を加味しながら、 クラウドネイティブ技術を活用しています
©Synspective Inc. アジェンダ ・Synspectiveの紹介 ・人工衛星から取得したデータが届くまで ・地上システムとクラウド技術の活用 ・観測衛星の開発・運用を取り巻く各種規制 Part 1: 人工衛星を支えるクラウドネイティブ技術
Part 2: クラウドネイティブ民主化への取り組み ・民主化のWhat・Why・How ・ローカル環境におけるKubernetes活用 ・民主化実現に向けて大切にしたこと 今までお話した トピック
©Synspective Inc. アジェンダ ・Synspectiveの紹介 ・人工衛星から取得したデータが届くまで ・地上システムとクラウド技術の活用 ・観測衛星の開発・運用を取り巻く各種規制 Part 1: 人工衛星を支えるクラウドネイティブ技術
Part 2: クラウドネイティブ民主化への取り組み ・民主化のWhat・Why・How ・ローカル環境におけるKubernetes活用 ・民主化実現に向けて大切にしたこと 次はこちら
©Synspective Inc. 民主化のWhat・Why・How
©Synspective Inc. 65 (What) ここでいう、「クラウドネイティブ民主化」とは何なのか?
©Synspective Inc. 66 “Google CloudはAI(人工知能)を民主化する” →言い換えれば、「誰もがAIを使えるようにする」ということ Fei-Fei Li, Chief Scientist
of AI/ML; Vice President at Google, Google Cloud Next 2017 (What) ここでいう、「クラウドネイティブ民主化」とは何なのか?
©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
©Synspective Inc. 68 (Why) なぜ、「民主化」を目指すのか?
©Synspective Inc. 69 (Why) なぜ、「民主化」を目指すのか? 地上システム バックエンドエンジニア 観測計画 エンジニア 画像処理
エンジニア DevOps エンジニア ・Synspectiveでは、様々な専門性を有したエンジニアが存在 ・各々が自らの専門領域を発揮しつつも、あたらしい領域を進んで学習し、 オーナーシップを持ちながら人工衛星の開発と運用に携わっている
©Synspective Inc. 70 (Why) なぜ、「民主化」を目指すのか? ・Synspectiveでは、様々な専門性を有したエンジニアが存在 ・各々が自らの専門領域を発揮しつつも、あたらしい領域を進んで学習し、 オーナーシップを持ちながら人工衛星の開発と運用に携わっている クラウドに関する専門性をある程度抽象化し、self-serve可能な形で提供することで、 個々のパフォーマンスの最大化が期待できる(仮説)
地上システム バックエンドエンジニア 観測計画 エンジニア 画像処理 エンジニア DevOps エンジニア 適切に抽象化されたクラウドネイティブ技術
©Synspective Inc. 71 「クラウドネイティブ民主化」 =「Synspectiveに所属するエンジニアの誰もが、 クラウドネイティブ技術の恩恵を受けられる」ということ (How) “恩恵を受けられている”ことをどう実現すべきか?
©Synspective Inc. 72 現状、活用しているクラウドネイティブ技術に対して、 民意(メンバーそれぞれの考え)をヒアリングするところから始める 「クラウドネイティブ民主化」 =「Synspectiveに所属するエンジニアの誰もが、 クラウドネイティブ技術の恩恵を受けられる」ということ (How) “恩恵を受けられている”ことをどう実現すべきか?
©Synspective Inc. ローカル環境におけるKubernetesの活用
©Synspective Inc. 主要なサブシステム システムの責務 画像生成 システム 計画・予測 システム 衛星管制 システム
分析 システム 利用している 主なクラウドネイティブ技術 GKE Argo Workflows GKE GKE GCE Cloud Run Prometheus 衛星に対するコマンドの 送信やテレメトリの受信 周回中の観測データから 長期的な傾向を分析 衛星の軌道や地上局の 通過時間帯予測、観測計画 衛星から取得した情報から プロダクト画像を生成 Big Query システム横断:KustomizeやSkaffoldを組み合わせたCI/CDパイプライン 再掲 SynspectiveにおけるGKE(Kubernetes)の活用
©Synspective Inc. 利用している 主なクラウドネイティブ技術 主要なサブシステム システムの責務 画像生成 システム 計画・予測 システム
衛星管制 システム 分析 システム GKE Argo Workflows GKE GKE GCE Cloud Run Prometheus 衛星に対するコマンドの 送信やテレメトリの受信 周回中の観測データから 長期的な傾向を分析 衛星の軌道や地上局の 通過時間帯予測、観測計画 衛星から取得した情報から プロダクト画像を生成 Big Query システム横断:KustomizeやSkaffoldを組み合わせたCI/CDパイプライン 再掲 歴史的な経緯により、 多数のGKE(Kubernetes)を活用 SynspectiveにおけるGKE(Kubernetes)の活用
©Synspective Inc. 76 GKE(Kubernetes)に対する同僚からの声
©Synspective Inc. 77 GKE(Kubernetes)に対する同僚からの声 ローカル環境と クラウド環境上で 差異が大きい Kubernetesの マニフェストを 気軽に
検証できない 手元で Kubernetesを 学習したい
©Synspective Inc. 78 GKE(Kubernetes)に対する同僚からの声 ローカル環境 (開発者PC上) 開発環境 ステージング環境 本番環境 ローカル環境と
クラウド環境上で 差異が大きい Kubernetesの マニフェストを 気軽に 検証できない 手元で Kubernetesを 学習したい
©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を 学習したい
©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を 学習したい
©Synspective Inc. 81 GKE(Kubernetes)に対する同僚からの声 開発環境 GKE App App App App
Manifest群 利用 検証 ローカル環境と クラウド環境上で 差異が大きい 手元で Kubernetesを 学習したい Kubernetesの マニフェストを 気軽に 検証できない
©Synspective Inc. 82 GKE(Kubernetes)に対する同僚からの声 開発環境 GKE App App App App
Manifest群 利用 検証 変更 変更により、 Appが動かなくなるかも? ! ! 開発環境とはいえ、相乗り利用なので どうしても他のエンジニアへの影響を気にしてしまう ローカル環境と クラウド環境上で 差異が大きい 手元で Kubernetesを 学習したい Kubernetesの マニフェストを 気軽に 検証できない
©Synspective Inc. 83 GKE(Kubernetes)に対する同僚からの声 ローカル環境 (開発者PC上) App App App App
ローカル環境と クラウド環境上で 差異が大きい 手元で Kubernetesを 学習したい Kubernetesの マニフェストを 気軽に 検証できない
©Synspective Inc. 84 GKE(Kubernetes)に対する同僚からの声 ローカル環境 (開発者PC上) App App App App
Kubernetes初学者に対して、 学習に取り組む際の環境構築のハードルを下げたい ローカル環境と クラウド環境上で 差異が大きい 手元で Kubernetesを 学習したい Kubernetesの マニフェストを 気軽に 検証できない
©Synspective Inc. 85 民主的に意見を集めた結果、Kubernetes@ローカル環境の導入を検討 ローカル環境と クラウド環境上で 差異が大きい Kubernetesの マニフェストを 気軽に
検証できない 手元で Kubernetesを 学習したい
©Synspective Inc. 86 民主的に意見を集めた結果、Kubernetes@ローカル環境の導入を検討 ローカル環境 (開発者PC上) App App App App
Manifest群 イネイブリングチームとして、 ローカル環境で Kubernetesの利用を検討 ローカル環境と クラウド環境上で 差異が大きい Kubernetesの マニフェストを 気軽に 検証できない 手元で Kubernetesを 学習したい 差分解消 自端末で 検証可能 手軽に利用 あたらしい技術や スキル獲得を支援
©Synspective Inc. 民主化実現に向けて大切にしたこと
©Synspective Inc. 88 Kubernetes利用の民主化を進める上で大切にしたこと 利用を強制しない 既存の開発体験を 極力壊さない フィードバックを 大切にする スモールスタート
©Synspective Inc. 89 Kubernetes利用の民主化を進める上で大切にしたこと 利用を強制しない 既存の開発体験を 極力壊さない フィードバックを 大切にする スモールスタート
©Synspective Inc. 利用している 主なクラウドネイティブ技術 主要なサブシステム システムの責務 画像生成 システム 計画・予測 システム
衛星管制 システム 分析 システム GKE Argo Workflows GKE GKE GCE Cloud Run Prometheus 衛星に対するコマンドの 送信やテレメトリの受信 周回中の観測データから 長期的な傾向を分析 衛星の軌道や地上局の 通過時間帯予測、観測計画 衛星から取得した情報から プロダクト画像を生成 Big Query システム横断:KustomizeやSkaffoldを組み合わせたCI/CDパイプライン 再掲 フィードバックが得られた サブシステムからスタート SynspectiveにおけるGKE(Kubernetes)の活用
©Synspective Inc. 91 Kubernetes利用の民主化を進める上で大切にしたこと 利用を強制しない 既存の開発体験を 極力壊さない フィードバックを 大切にする スモールスタート
アプリケーションの利用 とCI/CD観点
©Synspective Inc. 92 民主的に意見を集めた結果、Kubernetes@ローカル環境の導入を検討 ローカル環境 (開発者PC上) App App App App
Manifest群 ローカル環境と クラウド環境上で 差異が大きい Kubernetesの マニフェストを 気軽に 検証できない 手元で Kubernetesを 学習したい 差分解消 自端末で 検証可能 手軽に利用 イネイブリングチームとして、 ローカル環境で Kubernetesの利用を検討
©Synspective Inc. 93 民主的に意見を集めた結果、Kubernetes@ローカル環境の導入を検討 ローカル環境 (開発者PC上) App App App App
Manifest群 ローカル環境と クラウド環境上で 差異が大きい Kubernetesの マニフェストを 気軽に 検証できない 手元で Kubernetesを 学習したい 差分解消 自端末で 検証可能 手軽に利用 minikube kind 主要な選択肢※ ※実際にはその他のツール(Docker for Mac, k3s, k3d, microk8s)等も 比較検討を行っていますが、今回は時間の都合上、割愛します イネイブリングチームとして、 ローカル環境で Kubernetesの利用を検討
©Synspective Inc. 94 Kubernetes@ローカル環境に関する技術選定 minikube kind(Kubernetes in Docker)
©Synspective Inc. Kubernetes@ローカル環境に関する技術選定 minikube ・ Kubernetes SIGプロジェクト ・2016年から現在まで、活発に開発 ・Kubernetesの学習と開発に重点 ・管理ダッシュボードが別途用意
・ Kubernetes SIGプロジェクト ・2018年からα版が公開 ・Kubernetes自体の検証用途 (ローカル開発やCIでも利用、との記載) kind(Kubernetes in Docker)
©Synspective Inc. 96 Kubernetes@ローカル環境に関する技術選定 基本的な機能充足面でいえば、 どちらのツールもそこまでの大差はない minikube ・ Kubernetes SIGプロジェクト
・2016年から現在まで、活発に開発 ・Kubernetesの学習と開発に重点 ・管理ダッシュボードが別途用意 kind(Kubernetes in Docker) ・ Kubernetes SIGプロジェクト ・2018年からα版が公開 ・Kubernetes自体の検証用途 (ローカル開発やCIでも利用、との記載)
©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アプリケーション利用時に 体験が変わってしまう
©Synspective Inc. 98 民主的に意見を集めた結果、Kubernetes@ローカル環境の導入を検討 ローカル環境 (開発者PC上) App App App App
Manifest群 kindによりローカル環境で Kubernetesを利用 ローカル環境と クラウド環境上で 差異が大きい Kubernetesの マニフェストを 気軽に 検証できない 手元で Kubernetesを 学習したい 差分解消 自端末で 検証可能 手軽に利用
©Synspective Inc. 99 クラウド環境と同一のCI/CDパイプラインを意識 弊社では、KustomizeとSkaffoldをベースにしたCIOpsにてパイプラインを実装
©Synspective Inc. 100 クラウド環境と同一のCI/CDパイプラインを意識 弊社では、KustomizeとSkaffoldをベースにしたCIOpsにてパイプラインを実装 ・マニフェストの管理ツール ・ベースのマニフェストを共通とし、 環境ごとのマニフェストを差分として 管理可能 ・Googleが開発したKubernetes上の
アプリ開発向けツール ・ビルドやデプロイの流れを自動化& 標準化してくれる
©Synspective Inc. 101 クラウド環境と同一のCI/CDパイプラインを意識 弊社では、KustomizeとSkaffoldをベースにしたCIOpsにてパイプラインを実装
©Synspective Inc. 102 / ├base ← 共通のmanifest定義 ├ dev ←
開発環境向け差分 ├ stg └ prd Kustomize Skaffold ビルドオプション: Artifact Registryにプッシュ デプロイオプション: dev用Kustomizeをもとに反映 開発環境 ※ステージング環境、本番環境に関しても同様 弊社では、KustomizeとSkaffoldをベースにしたCIOpsにてパイプラインを実装 クラウド環境と同一のCI/CDパイプラインを意識
©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パイプラインを意識
©Synspective Inc. 104 / ├base ← 共通のmanifest定義 ├ local ←
ローカル環境向け差分 ├ dev ├ stg └ prd Kustomize Skaffold ビルドオプション: プッシュなし(ホスト内保存) デプロイオプション: local用Kustomizeをもとに反映 ローカル環境 弊社では、KustomizeとSkaffoldをベースにしたCIOpsにてパイプラインを実装 クラウド環境と同一のCI/CDパイプラインを意識
©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パイプラインを意識
©Synspective Inc. 106 Kubernetes利用の民主化を進める上で大切にしたこと 利用を強制しない 既存の開発体験を 極力壊さない フィードバックを 大切にする スモールスタート
©Synspective Inc. 107 Kubernetes利用の民主化を進める上で大切にしたこと 利用を強制しない クラウドチームは、プロダクトチームの ニーズと適切なリスクおよびコンプライ アンス管理のニーズに合うような、高品 質のセルフサービスを提供することに注 力すべきだ。
出典: マシュー・スケルトン、マニュエル・パイス(2021年)『 Team Topology 』 日本能率協会マネジメントセンター p.83より一部引用
©Synspective Inc. 108 Kubernetes利用の民主化を進める上で大切にしたこと 利用を強制しない イネイブリングチームは、知識の「象牙 の塔」になったり、チームに技術的な判 断を押し付けたりしないように十分に注 意しつつ、組織全体の技術的な制約を チームが理解し守るのを助ける。
クラウドチームは、プロダクトチームの ニーズと適切なリスクおよびコンプライ アンス管理のニーズに合うような、高品 質のセルフサービスを提供することに注 力すべきだ。 出典: マシュー・スケルトン、マニュエル・パイス(2021年)『 Team Topology 』 日本能率協会マネジメントセンター p.83より一部引用 出典: マシュー・スケルトン、マニュエル・パイス(2021年)『 Team Topology 』 日本能率協会マネジメントセンター p.105より一部引用
©Synspective Inc. 109 Kubernetes利用の民主化を進める上で大切にしたこと 利用を強制しない ローカル環境(開発者PC上) App App App App
App App App App Manifest群 or ※環境のメンテコストの関係もあるため、 今後、チーム内のコンセンサス次第では 一方の環境のみ利用する可能性あり
©Synspective Inc. 110 Kubernetes利用の民主化を進める上で大切にしたこと 利用を強制しない 既存の開発体験を 極力壊さない フィードバックを 大切にする スモールスタート
©Synspective Inc. 111 良いところも悪いところも受け止めて改善していく
©Synspective Inc. 112 マイクロサービスが追加される時に Kubernetesレベルで手軽に検証が できるようになったので嬉しい! Kubernetesの勉強、始めたよ! 今日はxxxの動画を見る予定! Good Good
良いところも悪いところも受け止めて改善していく
©Synspective Inc. 113 マイクロサービスが追加される時に Kubernetesレベルで手軽に検証が できるようになったので嬉しい! Kubernetesの勉強、始めたよ! 今日はxxxの動画を見る予定! Kindの場合、PC再起動すると 再度初期から再構築が必要なので、
時間がかかるんだよね。 アプリケーションの起動が 以前より少し遅くなった ように感じるな。 Good Good Improvement Improvement 良いところも悪いところも受け止めて改善していく
©Synspective Inc. 114 マイクロサービスが追加される時に Kubernetesレベルで手軽に検証が できるようになったので嬉しい! Kubernetesの勉強、始めたよ! 今日はxxxの動画を見る予定! Kindの場合、PC再起動すると 再度初期から再構築が必要なので、
時間がかかるんだよね。 アプリケーションの起動が 以前より少し遅くなった ように感じるな。 初期設定が シリアル処理なので、 並列化を検討 ビルド・イメージ キャッシュの 仕組みを見直し Good Good Improvement Improvement 良いところも悪いところも受け止めて改善していく
©Synspective Inc. 115 Kubernetes利用の民主化を進める上で大切にしたこと 利用を強制しない 既存の開発体験を 極力壊さない フィードバックを 大切にする スモールスタート
©Synspective Inc. まとめ
©Synspective Inc. まとめ ・Google Cloud(GKEやCloud Run)を中心に 人工衛星の地上システムが構築・運用 ・リモセン法をはじめとした各種規制に準拠 Part 1:
人工衛星を支えるクラウドネイティブ技術 Part 2: クラウドネイティブ民主化への取り組み ・民主化に向けて、ローカル環境上における Kubernetes環境の提供 ・スモールスタート、開発体験の維持、 利用を強制しない、フィードバックを大切に
©Synspective Inc. 118