オープンスタック(OpenStack)とは?

2021.10.08

オープンスタック(OpenStack)はクラウド分野で今最も勢いがあるソフトウェアの1つです。


本記事ではオープンスタック(OpenStack)に興味があるエンジニアの方に向けて、オープンスタック(OpenStack)の概要と特徴を紹介していきます。

 

 

 

1.オープンスタック(OpenStack)とは


オープンスタック(OpenStack)とは?関連画像
オープンスタック(OpenStack)とは?関連画像

 

オープンスタック(OpenStack)はプールされた仮想リソースを使用し、オープンなクラウド環境を提供するためのオープンソースソフトウェアを指します

 

クラウドの勃興期には、クラウドの乗り換えや異なるクラウドの連携は困難でした。

提供する企業ごとに独自の技術が投入され、特にプライベートクラウドでサービスの差別化が図られていたためです。

 

そこでオープンソースを利用して、ユーザーにとって利便性の高いクラウド環境を作る目的でオープンスタック(OpenStack)が誕生しました。

 

プロジェクトの開始は2010年です。

アメリカのRackspace社とNASAが中心となりスタートしました。

 

その後2012年には非営利段階OpenStackファウンデーションが設立され、現在では100カ国850の組織から9,500人の個人メンバーが参加しています。

OpenStackプラットフォームを構成するツールはプロジェクトと呼ばれ、コンピュータ・ネットワーク・ストレージ・ID・イメージサービスにコアクラウドコンピューティングサービスを処理します。

 

10以上のオプションプロジェクトとバンドルし、デプロイ可能な独自のクラウドを作成することも可能です。

 

 

 

2.オープンスタック(OpenStack)の特徴


オープンスタック(OpenStack)とは?関連画像
オープンスタック(OpenStack)とは?関連画像

 

オープンスタック(OpenStack)には4つの特徴があります。

 

■オープンスタック(OpenStack)の4つの特徴

必要機能を切り出してカスタマイズして利用できる
オープンソースで提供している
コストが低い
一定の知識がないと運用できない

 

それぞれの特徴を紹介していきます。

 

 

必要機能を切り出してカスタマイズして利用できる

オープンスタック(OpenStack)では必要機能を切り出して使用可能です。

オープンスタック(OpenStack)は以下の複数のコンポーネントで構成されており、APIで接続されています。

 

OpenStack Compute(Nova)
OpenStack Object Storage(Swift)
OpenStack Image Registry and Delivery Service(Glance)
OpenStack Identity(Keystone)
OpenStack Dashboard(Horizon)
OpenStack Netwoking(Neutron)
OpenStack Block Storage(Cinder)
OpenStack Telemetry(Cliometer)
OpenStack Orchestration(Heat)

 

さらに必要な機能が使用できない場合、カスタマイズし新しい機能を追加できます。

新機能を書き、設定ファイルを変更すれば、プラグインすることが可能です。

 

また機能を追加したいプロジェクトがPython Pasteフレームワークを使用しているのであれば、専用のミドルウェアを作成し、環境設定を通じて組み込めます。

 

 

オープンソースで提供している

オープンスタック(OpenStack)はオープンソースで提供されています。

オープンソースソフトウェアを利用する代表的なメリットに、コスト削減がありますが、その他にも様々なメリットがあります。

 

■オープンソースソフトウェアのメリット

信頼性:発見させた脆弱性やバグはすぐに修正可能
安定性:ソースコードが公開されているため、メンテナンスが可能
監査能力:第三者機関にプログラムの監査を依頼可能
柔軟性:ソースコード自体に修正を加えることが可能
サポートの柔軟性:システムによりサポートレベルを選択可能

 

 

コストが低い

オープンスタック(OpenStack)はライセンス費用はかかりません。

関連業務としてのライセンス管理業務の削減やライセンス違反の不安からの開放、サポート打ち切り時に必要になる定期的なリプレース費用の削減など、様々な面からコスト削減が可能です。

 

 

一定の知識がないと運用できない

オープンソースでサポートがない場合、オープンスタック(OpenStack)を運用する際には、問題は自力で解決しなければなりません。

オープンソースコミュニティで公開されている情報や、コミュニティへの質問を通じて、問題解決が可能な場合もあります。

 

しかし時には大量のマニュアルを確認し、ソースコードの解析を行う必要があり、エンジニアに求められるスキルは高いです。

 

 

 

3.AWSとの違い


オープンスタック(OpenStack)とは?関連画像
オープンスタック(OpenStack)とは?関連画像

 

AWSはAmazonが提供するクラウドコンピューティングを使ったサービスです。

AWSではネットワーク設定を含め、クラウド環境に必要な要素をWeb画面を通して設定できます。

 

このような環境をAWSを使わずに独自に構築可能なのがオープンスタック(OpenStack)です。

AWSは運用にコストがかかりますが、サポートを受けることが可能で、エンジニアに高いスキルは求められません。

 

一方でオープンスタック(OpenStack)の運用にはスキルが求められますが、コストを抑えることが可能です。

 

 

 

 

4.Dockerとの違い


オープンスタック(OpenStack)とは?関連画像
オープンスタック(OpenStack)とは?関連画像

 

Dockerはクラウド分野で最も勢いがあるソフトウェアとしてオープンスタック(OpenStack)と並び称されるソフトウェアです。

AWSはクラウド基盤を構築するソフトウェアの一方で、Dockerはコンテナ型の仮想化を実装します。

 

Dockerを使用し、これまでクラウドで使用されてきた物理サーバーの仮想化にOSレイヤーでの仮想化を加えることで、リソースの効果的な利用、迅速なアプリケーションのデプロイ、軽量なソフトウェアパッケージの実現が可能です。

 

 

 

5.オープンスタック(OpenStack)のコンポーネント


オープンスタック(OpenStack)とは?関連画像
オープンスタック(OpenStack)とは?関連画像

 

オープンスタック(OpenStack)の6つのコンポーネントを解説していきます。

 

■オープンスタック(OpenStack)の6つのコンポーネント

NOVA
NEUTRON
SWIFT
CINDER
KEYSTONE
GLANCE

 

 

NOVA

NOVA(Compute)は仮想マシンを自動的に生成し、サービスを提供するコンポーネントです。

物理的なインフラ環境でいうコンピュータやサーバに相当します。

 

仮想OSをコントロールするKBMやXenServerなどのスーパーバイザーに対応しています。

 

 

NEUTRON

NOVAがシンプルなネットワーク構成を行う一方で、NEUTRONはブラグイン機能を通じてSDNコントローラーなどの外部ネットワーク製品と連携し、複雑なネットワーク構成をサポートします。

 

 

SWIFT

オブジェクトストレージ機能を提供するコンポーネントです。

REST APIでアクセス可能な分散型ストレージプラットフォームとして機能します。

 

オブジェクトデータを自動的にノード間で複製・補完し、信頼性を高めることが可能です。

 

 

CINDER

Cinderは仮想マシンインスタンスが使用するブロックストレージデバイス(ボリューム)を提供する、以下の機能を備えたコンポーネントです。

 

■CINDERの機能

ボリュームの作成/削除
テナントごとのquotaの設定
スナップショットの作成/削除

 

 

KEYSTONE

ユーザー認証を管理するコンポーネントです。

オープンスタック(OpenStack)で構築した環境で作業するユーザーはKeystoneにより一元管理されます。

 

 

GLANCE

NOVAで生成する仮想マシンイメージを管理するコンポーネントです。

仮想マシンイメージは物理的なインフラでいうイメージディスクで保管していたものに相当します。

 

GLANCEによりユーザーは、仮想マシンイメージを検索・登録・取得可能です。

 

 

 

6.まとめ


オープンスタック(OpenStack)はプールされた仮想リソースを使用し、オープンなクラウド環境を低コストで提供します。

しかし運用には高いスキルが求められます。

 

技術者がいない場合、ベンダーの商用プラットフォームを利用を検討しましょう。

 

フリーランスエンジニア専門の求人・案件一括検索サイト「フリーランススタート」に少しでも興味がある方は是非ご登録ください。

 

なお、フリーランススタートはiOSアプリ版やAndroid版をリリースしています。

通勤しているエンジニア・デザイナーでちょっとしたスキマ時間で手軽にフリーランス求人・案件を検索したい、開発言語の単価が知りたい、フリーランスを将来的に検討している方などは是非インストールしてみてください。

 

フリーランススタートのアプリを有効活用して、フリーランスとして第一線で活躍しましょう!

 

フリーランススタート iOSアプリのインストールはこちらから

 

フリーランススタート Androidアプリのインストールはこちらから

 

本記事が皆様にとって少しでもお役に立てますと幸いです。

twitterでシェア
facebookでシェア
facebookでシェア

フリーランスお役立ち記事を検索

新着フリーランス求人・案件

おすすめフリーランス求人・案件