2017.08.21

DevOpsを実現する基盤「OpenShift Container Platform」とは

小島啓史
レッドハット株式会社
テクニカルセールス本部 パートナーソリューションアーキテクト部
ソリューションアーキテクト
このエントリーをはてなブックマークに追加

前回は「Red Hatが考えるDevOpsとは??」ということで、DevOpsが取り沙汰されるようになったビジネス環境について紹介しました。今回は、DevOpsをどのように実現するかということで、Red Hat が提供するDevOps実行基盤であるOpenShift Container Platformを中心に説明します。

本題に入る前に、まずはDevOpsの起源を振り返ってみましょう。DevOpsという言葉は、2009年に実施された「Velocity 2009」 というO'Reilly主催のイベントで、Flickrのエンジニアが「10+ Deploys Per Day: Dev and Ops Cooperation at Flickr」を発表してから本格的に広がっていったとされています。この発表では開発部門と運用部門が相互協力するという考えに基づき、実践するための技術要素を用いることで1日に10回以上のデプロイが可能になるといった内容を紹介しています。

こうした頻繁なデプロイは、「新サービスの早期投入/フィードバックの分析/サービス改善」といったIT運営プロセスのサイクル数を増やせるという話に繋がるので、市場の需要変化に迅速に対応できるようになります。また、これらの運営プロセスはDevOpsという言葉が普及する前からあったアジャイルソフトウェア開発の諸原則でも触れられています。ですのでDevOpsの本質とは、ビジネスの価値などを高めるためにアジャイル的なプロセスをビジネス/開発/運用部門が横断的に実践することであると考えられます。

170822_redhat_01.jpg

では、DevOpsの実現に必要な技術要素とは何でしょうか。上記の話を考えると、サービスの継続的な改善を支援してくれるものでなくてはいけません。この場合は、「アプリケーションと実行基盤の疎結合化」と「ビルド・テスト・デプロイの自動化・可視化」といった特徴を持つものが適していると考えられます。1つ目の「疎結合化」を行うことでアプリケーションと実行基盤のメンテナンス(アップデート作業を含みます)が容易になりますし、2つ目の「自動化・可視化」を行うことで運営サイクルの数を増やすためのスピードアップが実現できるからです。特にこの「疎結合化」を満たす技術要素としては、最近DockerというLinuxコンテナの管理技術が注目を浴びています。コンテナとはOS上で動作するアプリケーションを隔離して独立した実行環境(ライブラリなど)を割り当てる技術のことであり、Linuxでは古くからある技術の1つです。コンテナ技術を活用することでアプリケーション本体と依存ライブラリを1つのイメージとして持ち運ぶことができますので、テスト済みのアプリケーションを開発/テスト/本番環境で全く同じものとして実行できるようになります。

そしてDockerが注目を浴びるようになった状況にあわせて、Red HatもDocker関連の製品を提供するようになりました。その製品がRed Hat OpenShift Container Platform (以下、OpenShift)です。OpenShiftはDockerの他にもDockerコンテナのオーケストレーションツールであるKubernetesを基盤技術として含んでいます。また、OpenShiftは単なるDockerコンテナの実行基盤ではなく、前述の「自動化・可視化」に関連した機能を備えています。それにより、開発者のGitリポジトリへのソースコードプッシュをトリガーとしてDockerイメージの作成からコンテナのデプロイまでの作業を自動化したり、Jenkinsプラグインを利用したテスト作業やアプリケーション切り替え作業の自動化ができるようになります。

170822_redhat_02.jpg
OpenShiftは他にも、開発言語環境を含んだDockerイメージのテンプレート化や複数グループでの開発を推進するインタフェースを提供する機能があるので、Docker技術を用いた継続的改善/デリバリーを進める時の推奨製品となります。また、OpenShiftだけでなく基盤環境の運用自動化やコード化を実施するためのAnsibleOpenStack (両者共にRed Hatの製品です)も利用することで、アプリケーションと基盤環境の両面からDevOpsを実現し、より高いビジネスバリューを持ったサービスの迅速な提供にも繋がるのです。

次回はOpenShiftの機能詳細をご紹介する予定です。お楽しみに。

この記事の著者:小島啓史

レッドハット株式会社
テクニカルセールス本部 パートナーソリューションアーキテクト部
ソリューションアーキテクト

2010年にレッドハット株式会社に入社。
技術営業としてエンタープライズビジネス/パートナービジネスの立ち上げに従事。
技術提案や執筆活動などを通して、Linuxやクラウド技術(Ansible/Container/OpenStackなど)の啓蒙活動を実施しています。


DevOps Hubのアカウントをフォローして
更新情報を受け取る

  • Like on Feedly
    follow us in feedly

関連記事

このエントリーをはてなブックマークに追加

お問い合わせ

DevOpsに関することなら
お気軽にご相談ください。

Facebook、TwitterでDevOpsに関する
情報配信を行っています。