Open Compute ProjectをコントロールするOpen Cloud Packageとは?
前回はOCP Summit 2015で発表された内容について写真を交えて紹介を行ったが、今回からはOpen Compute Project(以下、OCP)仕様のハードウェアと複数のOSSを組み合わせてスケーラブルな基盤を迅速に構築することを可能とするOpen Cloud Packageについて触れていく。
Open Cloud Packageとそのメリット
Open Cloud Packageは、伊藤忠テクノソリューションズ(以下、 CTC)が開発したソフトウェアパッケージであり、OCP仕様のハードウェア上での新規のシステム構築や、システム増設に伴う拡張作業を自動化するものだ。このOpen Cloud Packageは、OpenStackを含む複数のOSSと連携し、ハードウェアの管理やリソースの展開をするためのユーザインターフェース(以下、Web UI)を提供する。CTCは今後、このOpen Cloud Packageのソースコードをオープンソース化する予定だ。
従来の日本のITシステムは、企業内の業務を円滑に行うことを目的とした業務系システムが多く、これらのシステムのインフラ構築・運用は、あらかじめ必要なリソースのサイジング、設計に時間をかけていた。そして、各システムの担当者がインストール手順書や設定手順書などを作成し、その手順書に基づいてシステムの環境を手動で構築していた。一度システム構築が完了したあとは、5年後のシステムのリプレースのタイミングまで運用者が手順書の変更管理を行い、その手順書に従ってシステムの維持運用を行っていた。
しかし現在、これら従来型システムに加えて、「モバイル」「ビックデータ」「IOT(Internet of Things)」「ソーシャル」などを活用し、企業価値の向上や顧客の利便性を目的とした次世代型システムのニーズが急速に生まれてきている。この次世代型システムの重要な要素は、ビジネスの成長状況に応じて容易にスケールしていくことである。
従来型システムのように、拡張要求が来るたびに設計し、手順書を作成し、インストール、設定を個々に手作業で行うのは煩雑であり、時間がかかってしまう。システムを正確に、そして迅速に構築するには、手順書をプログラム化(コード化)し、「コードに書かれたとおりの内容を自動的に設定する」仕組みを取り入れることが必要になる。
Open Cloud Packageでは、従来の手順書を参照しながらシステム構築する方法に変えて、プログラムによる自動構築の仕組みを採用している。Web UIからOCP仕様のハードウェアを管理し、サーバ構成、ネットワーク設定を含むインフラ構築やOSの設定のみならずミドルウェアの各種設定などもプログラム化し、それを用いて自動構成する。
Open Cloud Packageは、システムを構築する環境として物理環境、仮想環境、Linuxコンテナ環境そして外部のパブリッククラウドと、異なる複数環境をサポートしており、各環境における構築手順の違いを意識することなく同じ操作性で構築が可能だ。
またベンダーの独自実装機能やツールは高い利便性をもたらす一方で、そのベンダーの方針による仕様変更や、開発サポートが終了してしまうなどといった状況により、その機能を使い続けられなくなってしまうことがある。このような場合にはシステムの維持や拡張が困難になり、システム全体の大幅な見直しが必要になるケースも多い。その点Open Cloud Packageでは、複数のOSSや広く普及した汎用的な技術を活用した実装になっているため、より継続的なシステムの維持、運用が可能になる。
Open Cloud Packageが提供する機能
以下ではOpen Cloud Packageが持つ具体的な機能について個別に説明をしていく。
リソースプールへの自動登録
OCPサーバに電源を投入すると、自動的にサーバのハードウェア情報(システム構成、ファームウェア情報、接続されているTORスイッチのポート情報等)を収集し、Open Cloud Packageのリソースプールに登録される。その後、Open Cloud PackageのWeb UIから新規リソースとして利用可能な状態になる。
複数の基盤環境へ展開
サービスを展開する際に、ベアメタル環境、仮想環境、コンテナ環境、パブリッククラウド環境から選択が可能。展開先の環境が異なる場合でも、構築手順の違いを意識することなく同じ操作性で環境構築が可能。
OS環境の提供
それぞれの基盤環境で稼働させるOSを選択可能。また選択されたOSは、指定した環境に自動的にインストールされる。
ストレージ環境の提供
ストレージプールの容量拡張は、自動的に行われる。サービスを展開する際に、外部ストレージを指定することで、自動的にベアメタルサーバもしくは仮想マシンにアタッチし提供可能。
ネットワークの自動構成
テナント間でネットワークの分離機能を提供する。また同一テナント内のベアメタルサーバと仮想マシンを、リソース展開時に自動的に同一のネットワークセグメントに接続可能。・監視サーバ、ストレージ、ネットワークおよびOpen Rackの温度、消費電力等のセンサー情報、障害情報をIPMI(Intelligent Platform Management Interface)によって監視可能。
パブリッククラウド連携
パブリッククラウドのリソースも、プライベートクラウドのリソースと同様に利用できる。またプライベートクラウド同様にパブリッククラウド上においてもベアメタル、仮想マシンを展開可能。
ミドルウェアやアプリケーション環境の自動デプロイ
OSの自動インストール後に任意のミドルウェア、アプリケーション、各種エージェント等のインストール、設定を自動実行。また、ZabbixのエージェントおよびOpenStackコンピュートノード、cephノードのインストールおよび設定の自動化により、IaaS基盤管理における必要なコンポーネントも迅速に提供可能。
ソース管理およびテストの自動化
OS、ミドルウェア、アプリケーションの自動インストール、設定コードのバージョン管理を行い、コード内容の妥当性のテストが可能。
Open Cloud Packageの全体アーキテクチャ
Open Cloud Packageは、複数のOSSと業界標準技術を利用して実装されており、インフラコントローラから各OSSのAPIを呼び出す仕組みになっている。
以下に、Open Cloud Packageの全体図を示した。サーバ、ストレージ、Network switchの各ハードウェアはOpen Compute Projectで仕様策定されたハードウェアを採用している。またネットワークOSには、ネットワークのオープン化を推進しているCumulus Networksが用いられている。ストレージについては、サーバディスクを使用することで、スケーラブルなストレージを提供可能とするためにCephで実現している。
Open Cloud PackageではベアメタルプロビジョニングはCobblerを、仮想マシンのデプロイはOpenStackを、外部のパブリッククラウドはIBM SoftLayerを利用する(Linuxコンテナ環境は2015年6月リリース予定)。
また、手順書のコード化をChef/Ansibleで、各コードのバージョン管理にはgitを利用し、テストの自動化をServerspec/Jenkinsで実装する。これらによってプロビジョニング、プログラムによって各種インストール、設定されたシステムを、Zabbixを利用して統合管理するという構成になっている。
Open Cloud PackageはWeb UIが提供され、マルチテナントに対応している。管理者権限では、管理しているサーバやストレージなどの管理しているリソース全体の状況を把握可能だ。またテナントごとにリソースが分離されているため、ユーザは所属するテナント内のリソースのみを扱うことができる。ユーザがWeb UIからベアメタルや仮想環境など任意の環境と実行プログラムを指定すると、システムが自動構築される。インフラの構成からOS、ミドルウェアやアプリケーションを含めたシステム構築の一連作業を自動実行するため、要求に応じてスピーディーかつ正確にシステム環境を配備可能になる。
次回は、Open Cloud Packageによってシステムの自動構築をする具体的な実装方法について解説していく。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- Red Hat、「Red Hat Enterprise Linux OpenStack Platform 7」を発表
- ベアメタルの今を語り尽くすイベント「第1回OCDETベアメタルWG勉強会」レポート
- Microsoft AzureのCTO「人工知能の進化はOSSとクラウドのおかげ」と語る
- KubeCon Europe前日のプレカンファレンスKubeSec Enterprise Summit
- OpenShift Commons Gatherings開催。Red Hatが強力に推すKubernetesディストリビューションの最新情報を紹介
- クラウド基盤ミドルウェア「CloudStack」とOpenStackへの取り組み
- Red Hat Summit、気合の入ったデモでコンテナ、マルチクラウド、機械学習まで見せる
- メッセージ交換プラットフォームのSolace、Open Data Movementの概要を解説
- KubeCon EU 2021でRed Hatが発表した複数のKubernetesを制御するkcpを紹介
- VMwareとAWS が打ち出したクラウドサービス「VMware Cloud on AWS」