Japan
サイト内の現在位置を表示しています。
NECが開発貢献するオープンソース
OSS貢献活動OpenStackに対するNECの取り組み
NEC では、OpenStack プロジェクトにおいて開発貢献しており、そこでの成果やノウハウを活用しながら、OpenStack を活用したサービス・ソリューションを提供しております。 ここでは、OpenStack に対する NEC の取り組みを紹介します。
OpenStack とは
OpenStack は、仮想マシン、ベアメタル、コンテナのためのクラウドインフラストラクチャーです。コンピューティング、ストレージ、およびネットワークリソースの大規模なプールを制御し、API またはダッシュボードを介して管理します。大規模なデータセンタークラウドや IoT システム、 5G 用エッジノードなどに、自動化されたスケーラブルなインフラストラクチャを提供します。
OpenStack プロジェクトの立ち上げのきっかけは、2010年に Rackspace Hosting がオブジェクトストレージ「Swift」、NASA がコンピュート「Nova」の基となるソースコードをオープンソース化したことです。2012年に OpenStack Foundation (現在、Open Infrastructure Foundation) が設立されて、世界中から多数のメンバーがプロジェクトに参加して開発が進められています。
現在、OpenStack は、次のような多数のコンポーネントで構成されています。
Open Infrastructure Foundation とは
Open Infrastructure Foundation (以下 OpenInfra Foundation) は、各種 OpenInfra プロジェクトをホストする米国の非営利団体です。その前身は、OpenStack プロジェクトをホストするために、2012年に設立された OpenStack Foundation です。2020年10月に、OpenStack を含む各種オープンインフラストラクチャの開発と採用をグローバルにサポートするために、OpenStack Foundation の後継団体として発足しました。
OpenInfra Foundationは、クラウド基盤 OpenStack、コンテナランタイム Kata Containers、CI/CDプラットフォームである Zuul、エッジコンピューティング StarlingX など多くのプロジェクトをホストしています。
ガバナンスアプローチとして、オープンソース、オープンデザイン、オープン開発、オープンコミュニティの4つのオープン (Four Opens) を行動指針とし、理事会 (Board of Directors) と各プロジェクトの技術委員会 (Technical Committee) で構成されています。理事会は、OpenInfra Foundation の事業および業務を管理します。技術委員会はプロジェクトの活動を管理します。
OpenStack プロジェクト
OpenStack は複数のコンポーネントでクラウド基盤を構成しています。OpenStack プロジェクトは、OpenInfra Foundation がホストするプロジェクトの一つで、OpenStack の各コンポーネントを開発しています。
各コンポーネントには OpenStack Project Teams (以下、プロジェクトチーム) があり、コンポーネントの開発や、メンテナンス、 QA (Quality Assurance) 、リリース管理等を行います。
プロジェクトチームは、4つオープンの原則のひとつのオープン開発を実践し、プロジェクトチームリード (PTL: Project Team Lead)、コアレビュアー (Core Reviewers)、開発者 (Developers) で構成されています。プロジェクトチームリード は、担当するプロジェクトを統括し、管理リーダーシップを取る責任があります。コアレビューアーはレビューを含めプロジェクト運営を共同で行います。開発者はプロジェクトの開発を行います。
OpenStack 技術委員会 (Technical Committee) は、OpenStack プロジェクトの管理を行う組織です。メンバーはプロジェクトへの貢献者の中から直接選出され、技術的事項を監督します。ソフトウェアの開発者、オペレーター、およびエンドユーザーが含まれます。
OpenInfra エコシステム
OpenInfra コミュニティは187 か国の 110,000 人を超える規模です。OpenInfra Foundation は、コミュニティに対して、OpenStack などのオープンソースインフラストラクチャーの普及促進のため、毎年、OpenInfra Summit を開催しています。基調講演、プレゼンテーション、パネル、ハンズオンワークショップ、および OpenInfra Foundation がホストするプロジェクトを含む、クラウド、5G、NFV、エッジ、AI、機械学習、HPC、CI/CD、コンテナ等の様々なオープンソースプロジェクトをカバーするセッション等で構成され、オープンソースインフラストラクチャーを構築および実行している人々と直接コラボレーションできます。また、OpenInfra Foundation は、世界各地で開催される OpenInfra 関連のイベントをサポートしています。
国内では、日本 OpenStack ユーザ会が、OpenStack 関連の勉強会、イベント開催等の活動を行っています。クラウド運営者を対象とした、Cloud Operator Days Tokyo も開催されています。
NEC の取り組み
NEC は、OpenStack の開発および OpenStack エコシステムの発展に貢献しています。
OpenStack 開発への貢献
NEC は、2011年11月から OpenStack プロジェクトに参加して開発活動を行っています。2016年には、弊社のソフトウェアエンジニアが日本人として初めてプロジェクトチームリード (PTL) に就任しました。その後も、様々なプロジェクトで、PTL や Core Reviewer の役割を担い、プロジェクトをリードして、OpenStack の開発に貢献しています。
現在 (2024年4月時点) は、Horizon (Dashboard), Cinder (Block Storage service), Tacker (NFV Orchestration service), Quality Assurance, Nova (Compute service) 等のプロジェクトに参加して開発を行い、いくつかのプロジェクトで、PTL や Core Reviewer として貢献しています。OpenStack への開発貢献の詳細は、次の通りです。
コンポーネント | ポジション | 活動内容 |
---|---|---|
Horizon | Project Team Lead (PTL), Code Reviewer | Horizon は OpenStack のダッシュボード機能を提供するコンポーネントです。NECは、Horizon の開発・保守で、Project Team Lead の役割を担い、開発をリードして、コード作成、バグ修正、レビュー、およびテストに関する活動を行っています。また、Horizon は、現在、非常に少数のアクティブな貢献者によって維持されている課題に直面しています。NEC がこのプロジェクトをアクティブに保つことへの貢献は、開発者コミュニティで非常に高く評価されています。活動の詳細は次のとおりです。 - Horizon と Nova、Cinder など他コンポーネントとの機能ギャップを埋める活動 - Nova、Neutron、Cinder などのすべてのサービスのポリシールールファイルの更新 - Horizon とそのプラグインが依存している、Django, AngularJS, Node.js などの OSS を最新版 や LTS (Long Term Support) 版に保つ活動 - jQuery、jQuery Migrate plugin などの Xstatic パッケージの最新バージョンとの連携 - セキュリティバグの修正 |
Cinder | Contributor | Cinder(Block Storage Service)は仮想マシンのインスタンスが使用するブロックストレージデバイス(ボリューム)を提供するコンポーネントです。NECは、Cinder のバグ修正と Reset State Robustification 機能の実現に貢献しています。この機能は、ボリュームのリセット状態を堅牢にする機能で、ユーザがボリュームの状態を理解しないまま、ボリュームを無効にするのを抑止します。 |
Tacker |
Core Reviewer, Contributor | NFV(Network Functions Virtualization)は、ネットワーク機能の仮想化技術で、仮想マシン上にネットワーク機器の機能を実現します。Tacker (NFV Orchestration service) は、NFV オーケストレーションを実現するコンポーネントです。NECは、コントリビューターとして、機能提案とその実装、バグ修正で Tacker の開発に貢献しています。 - マルチテナント機能と機能テストケースフレームワーク - 既存のボリュームを VNF に接続する機能 - tacker-horizon 統合テストおよびユニットテストのテストフレームワーク - マルチテナンシーでのサブスクリプションと vnf パッケージのテスト - バグトリアージ (Bug Triage) のアイデアの提案 また、NEC は、NTT や KDDI などの テレコムキャリアと連携して活動しており、OpenStack の商用利用で上がった課題の継続的な解決を図っています。 - NTT and KDDI Challenges for Sustainable Infrastructure Transformation |
Quality Assurance (QA) |
Core Reviewer | Quality Assurance は、アップストリームの OpenStack の安定性と品質、およびリリースサイクル中の任意の時点でのリリース準備を確保するためのツールと計画を開発、維持、開始する活動です。NECは、2016年のプロジェクトチームリード (PTL) への就任するなど、このプロジェクトに継続して貢献しています。現在は、Core Reviewer の立場で、様々な活動を行っています。 - OpenStack の安定性を検証する OpenStack Upstream のテスト プロジェクトの維持を支援 - Tempest を OpenStack の新しい RBAC (Role Based Access Control, 役割ベースのアクセス制御) への移行 - Quality Assurance への貢献者は少なく、NEC がこのプロジェクトを活発に維持するための活動は、開発者コミュニティで非常に高く評価されています |
Nova |
Core Reviewer | Nova は、OpenStack の中核コンポーネントのひとつで、コンピュートノードに仮想サーバーを作成して管理するサービスです。NECは、Core Reviewer として API と RBAC (Role Based Access Control, 役割ベースのアクセス制御) の改善と安定性に貢献しています。 他にも次の機能の実現に貢献しています。 - Policy Service Role Default: サービス間 API のアクセス許可をポリシーサービスのロールに分離する機能 - Policy Default Refresh: オペレーターによるポリシーを変更を不要にするために、より豊富なデフォルトを用意 - API Consistency Cleanup: API のバージョン間の互換性を改善 - Minimal user_id based enforcement for policy: 階層的なプロジェクトが実現するまでの架け橋として機能する、最小限の user_id ベースのポリシー適用メカニズム - Merge API extensions Controller and Schema code (Stein): API 拡張コントローラーとスキーマコードの統合 |
Neutron |
Core Reviewer | Neutron は、OpenStack の中核コンポーネントのひとつで、仮想ネットワークを提供するコンポーネントです。NEC は、プロジェクト初期から Core Reviewer としてプロジェクトに参画し、API, CLI などユーザーの利便性に関わる領域を中心に、Neutron の開発に幅広く関わっています。 |
(2024年4月時点の情報)
また、OpenStack 技術委員会の議長を 1 年半以上務め、プロジェクト間の作業とコミュニティ全体の目標のためにコミュニティを支援しています。プロジェクトにまたがる作業には、次のようなものがあります。
1. 一貫性のある安全なデフォルト RBAC (Role Based Access Control, 役割ベースのアクセス制御)
2. CI/CD ジョブの Ubuntu 22.04 (Jammy Jellyfish) への移行
NEC グループの主なコントリビューターについてはこちらをご覧ください。
OpenInfra エコシステムへの貢献
NEC は、OpenStack Foundation の立ち上げ直後からゴールドメンバーとして参加し、Open Infrastructure Foundation にゴールドメンバーとして OpenStack エコシステムの発展に貢献しています。
現在(2024年4月)、OpenInfra Foundation 理事 (Individual Board Of Directors) を務めており、理事会では、OpenStack 技術委員会 (Technical Committee) や OpenStack プロジェクトと、理事会との相互の橋渡しを行っています。OpenInfra Finance Committee のメンバでもあります。
OpenStack エコシステムに対しては、First Contact SIG、Upstream Institute Trainings、メンターシップなどのさまざまなプログラムを通じて、Open Infra コミュニティにより多くの貢献者を呼び込み、コミュニティへの参加を支援する取り組みや、OpenInfra Summit で講演等を行っています。国内では、日本 OpenStack ユーザ会に参加して、講演や勉強会の実施に貢献しています。
今後の取り組み
NEC は OpenInfra エコシステムの一員として、OpenStack の持続可能な発展に貢献するとともに、お客様には安心してご利用いただける OpenStack を活用したソリューションを提供して参ります。