OpenStack情報
OpenStackとは
OpenStack(オープンスタック)とは、オープンソースのクラウド基盤ソフトウェアです。
OpenStackは、KVM、Xen、VMware ESXi、Hyper-Vといった仮想化ソフト(ハイパーバイザー)と組み合わせ、パブリック/プライベートクラウドのIaaS環境構築において、仮想マシン(VM)、ストレージ、およびネットワークリソースなどを統合的に管理します。
また、ユーザーが仮想マシンの作成時にOpenStackを利用することで、ロードバランサー、ファイアウォール、DHCP、ソースNAT、スタティックNAT、負荷分散、VPNなどのネットワーク機能を組み合わせ、ニーズに合った最適なネットワーク構成を選択するネットワーク管理機能も提供しています。
OpenStackは、2010年に米国の大手ホスティング会社 Rackspace社と、米国航空宇宙局(NASA)によってユビキタスなオープンソースクラウドコンピューティングプラットフォームを作るプロジェクトとしてリリースされました。
その後、2012年9月にはすべての開発やライセンスの管理が非営利団体「OpenStack Foundation」に移管されました。
「OpenStack Foundation」では、特定ベンダーの技術に依存しない業界標準仕様の採用、大規模システムにも対応するスケーラビリティーと豊富な機能の提供、簡単な実装の実現によって、さまざまなクラウドソリューションを提供することを目的としています。
OpenStackは、世界で最も活発なオープンソースプロジェクトのひとつであり、最初に記録されたOpenStackのコンピューティングコア数は2018年に1000万個、5年後の2023年にはメッセージングアプリのLINEにも採用され4500万個にも達しています。
2023年2月にリリースされた 28 番目の Bobcat では、オペレーターと開発者のコラボレーションにより、AI、機械学習、エッジコンピューティングなどのイノベーションを大規模に推進する際のインフラストラクチャを強化することが協調されており、580人以上のコントリビューターによる10,476カ所もの変更が行われ、オペレーターから要望のあった多数の新機能が追加されており、各開発チームによるリリースハイライトが公開されています。
OpenStackは、6ヶ月ごとのリリースサイクルが予定されており、開発サイクル中は、一般投票で選ばれたコードネームを使用して識別しています。
このコードネームは、アルファベット順に並べられています。
OpenStackの標準開発言語はPython、標準外部APIはShell と Pythonを利用した独自のAPI、REST API(HTTPベース)とAmazon EC2/S3互換APIとなっています。
主な機能
OpenStackは、サービスに分割されており必要に応じてプラグアンドプレイできます。
OpenStackの主要コンポーネント
| カテゴリ | コンポーネント名 | 導入バージョン | 機能 | 
|---|---|---|---|
| コンピュート | NOVA | Austin | 仮想サーバをプロビジョニングするコンピュートサービスを提供します。 | 
| ZUN | Pike | コンテナの起動および管理するためのサービスであるOpenStack APIを提供します。 | |
| ハードウェアライフサイクル | IRONIC | Kilo | ベアメタルをプロビジョニングするサービスを提供します。 | 
| CYBORG | Rocky | アクセラレータ(GPU、FPGA、ASICベースのデバイスなど)向け汎用管理フレームワークを提供します。 | |
| ストレージ | SWIFT | Austin | 耐久性、可用性、同時実行性に優れた分散オブジェクト/ブロブストアです。 | 
| CINDER | Folsom | ブロックストレージサービスです。ストレージの場所やデバイスを意識せずに利用できるAPIを提供します。 | |
| MANILA | Liberty | 共有または分散ファイルシステムへのアクセスを最適化するファイルシステムサービスです。 | |
| ネットワーキング | NEUTRON | Folsom | 仮想コンピューティング環境でのサービスとしてのネットワーキング(NaaS)の提供を目的としたSDNネットワーキングプロジェクトです。 | 
| OCTAVIA | Liberty | OpenStackと連携するように設計された、クラウドに最適化されたオペレータースケールの負荷分散ソリューションです。 | |
| DESIGNATE | Liberty | OpenStackにサービスとしてのDNSを提供します。 | |
| シェーアードサービス | KEYSTONE | Essex | APIクライアント認証、サービスディスカバリ、および分散マルチテナント認証に対応する Identity API を提供するOpenStackサービスです。 | 
| PLACEMENT | Stein | クラウドリソースのインベントリと使用状況を追跡するためのHTTP APIを提供するOpenStackサービスです。 | |
| GLANCE | Bexar | 仮想マシンイメージの検出、登録、取得を行うことができるイメージサービスです。 | |
| BARBICAN | Liberty | パスワード、暗号化キー、X.509証明書、生のバイナリデータなどの秘密データを格納するセキュアなストレージ、プロビジョニング、管理を提供します。 | |
| オーケストレーション | HEAT | Havana | テキストファイルの形式のテンプレートを使用し、クラウドアプリケーションのインフラストラクチャリソースを調整します。 | 
| SENLIN | Mitaka | OpenStackクラウド用のクラスタリングサービスです。 | |
| MISTRAL | Liberty | ワークフローサービスです。一連のタスクはYAMLベースの言語で記述し、状態管理、実行順序、並列処理、同期、高可用性の処理を行います。 | |
| ZAQAR | Liberty | Webおよびモバイル開発者向けのマルチテナントクラウドメッセージングサービスです。RESTful APIを使用してメッセージを送信できます。 | |
| BLAZAR | Queens | OpenStack のリソース予約サービスです。 | |
| ADHO | Liberty | Ceilometer によって収集されたサンプルやイベントデータのルールのアクションをトリガーできるようにすることを目標としたプロジェクトです。 | |
| ワークロードプロビジョニング | MAGNUM | Mitaka | Docker Swarm、Kubernetes、Apache Mesos などのコンテナーオーケストレーションエンジンを、OpenStackのファーストクラスリソースとして利用できるようにします。 | 
| SAHARA | Juno | データ処理フレームワーク(Hadoop、Spark、Stormなど)を簡単にプロビジョニングできるようにすることを目的としています。 | |
| TROVE | Icehouse | サービスとしてのデータベースプロビジョニングのリレーショナルおよび、非リレーショナルデータベースエンジンです。 | |
| アプリケーションライフサイクル | MASAKARI | Rocky | OpenStackクラウドに障害が発生したインスタンスを自動的に回復するインスタンス高可用性サービスを提供します。 | 
| MURANO | Kilo | さまざまなクラウド対応アプリケーションのカタログを公開します。 | |
| SOLUM | Mitaka | ソースからイメージへのプロセスを自動化、アプリ中心のデプロイを簡素化することで、クラウドサービスのアプリケーション開発プロセスを容易にします。 | |
| FREEZER | Mitaka | サービスプラットフォームとしての分散バックアップ、レストア、およびディザスタリカバリです。 | |
| API プロキシ | EC2API | Rocky | OpenStack NOVA に EC2互換のAPIを提供します。 | 
| Web フロントエンド | HORIZON | Essex | 拡張可能なWebベースの OpenStack ダッシュボードです。 | 
| SKYLINE | Yoga | UIとUEによって最適化された 次世代のOpenStackダッシュボードです。Yogaの時点ではプレビュー版です。 | 
Novaの各コンポーネントは以下のように連携します。
DB:データストレージ用のデータベースです。
API:oslo.messagingキューまたはHTTPを介して他のコンポーネントと通信するコンポーネントです。
Scheduler:各インスタンスを取得するホストを決定します。
Compute:ハイパーバイザーおよび仮想マシンとの通信を管理します。
Conductor:調整が必要なリクエストの処理などを行います。
Placement: リソースプロバイダーのインベントリと使用状況を追跡します。
OpenStackのオペレーションツール
| カテゴリ | コンポーネント名 | 導入バージョン | 機能 | 
|---|---|---|---|
| モニタリングサービス | CEILOMETER | Havana | OpenStackサービスによって生成されたデータを収集、正規化、変換します。 | 
| MONASCA | Mitaka | マルチテナント、拡張性、パフォーマンス、耐障害性に対応するサービスとしてのモニタリングソリューションです。 | |
| リソースオプティマイゼーション | WATCHER | Newton | OpenStackベースのクラウドに柔軟でスケーラブルなリソース最適化サービスを提供します。 | 
| VITRAGE | Newton | 根本原因分析のためのサービスです。 | |
| ビリング / ビジネスロジック | ADJUTANT | Ussuri | OpenStackと外部システム全体のアカウント管理のための拡張可能なAPIを提供します。 | 
| CLOUDKITTY | Mitaka | メトリックベースの評価を行うように設計されたサービスとしての評価プロジェクトです。 | |
| テスティング/ ベンチマーク | RALLY | Pike | ベンチマークおよびパフォーマンス分析ツールです。 | 
| TEMPEST | Diablo | OpenStackクラスターのためのライブ実行総合テストスイートです。 | 
主な特徴
主な特徴は以下のとおりです。
| 大規模プロジェクト | 世界で最も活発なオープンソースプロジェクトのひとつであり、最初に記録されたコンピューティングコアの総数は 2018 年の 1,000 万個、5年後の 2023年にはフットプリントは 350% 増加、4,500 万個のコンピューティングコア数に達しています。 | 
|---|---|
| 業界標準仕様を採用 | WSGIなど、特定ベンダーの技術に依存しないオープンな業界標準仕様を採用しています。 | 
| スケーラブル | 分散アーキテクチャーの採用など、大規模システムにも対応する高いスケーラビリティーを実現します。 | 
| 豊富な機能 | IaaS環境構築において、仮想マシン(VM)、ストレージ、およびネットワークリソース、ネットワーク構成などを統合的に管理する機能を有します。 | 
| REST APIの採用 | REST APIによる、仮想デバイス、トラフィックの集中管理します。 | 
| コスト効果 | OpenStackはライセンス費用がかからないため、商用製品に比べて大幅に導入コストを削減します。 | 
類似プロダクト
商用ソフトウェア製品では、Amazon Web Services(AWS)、Citrix CloudPlatform, powered by Apache CloudStack(Citrix CloudPlatform)、AT&T Cloud Architect、IBM SmartCloud Enterprise、Eucalyptus(商用版)が、 オープンソース製品ではCloudStack、Eucalyptus、OpenNebulaが、OpenStackと同様の機能を提供しています。
動作環境
OpenStackは、以下のディストリビューションのパッケージが提供されています。
Open SUSE Leap 42.3 / Open SUSE Leap 15
SUSE Linux Enterprise Server 12 SP4 / SUSE Linux Enterprise Server 15
Red Hat Enterprise Linux 7 / Red Hat Enterprise Linux 8
CentOS 7 / CentOS 8
Ubuntu 16.04 LTS / Ubuntu 18.04 LTS / Ubuntu 20.04 LTS
OpenStackのライセンス
OpenStackのライセンスは、Apache License Version 2.0です。
Apache Licenseのコードが使用されていることの明記を条件に、ソースコードの自由な改変、頒布と公開が認められています。
オープンソース年間サポートサービス
OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。
関連OSS
- 
  OpenShiftオープンシフト。DockerとKubernetesを活用したCaaS(Container as a Service)基盤です。 
- 
 サポート対象 サポート対象Kubernetesクーバネティス。Dockerをはじめとするコンテナ化されたアプリケーションの展開、スケーリング、管理を行うオープンソースのプラットフォームです。 
- 
 サポート対象 サポート対象Dockerドッカー。ソフトウェアコンテナを用いたアプリケーションのデプロイメントを自動化する仮想化オープンソースソフトウェアです。 


 
          
 
