かつてDevとOpsの間で起きていた悲劇
日本ヒューレット・パッカード 荒木健一氏は国産メインフレームのフィールドエンジニアとしてエンジニア人生を始めた。作業場となるマシンルームには数百個ものLSIを搭載した水冷式のメインフレームが並び、その景色は子どものころに思い描いた「21世紀のコンピュータルームのようだった」という。
メインフレーム時代のDev(開発者)はアプリケーション開発実装やシステム設計を行い、Ops(運用者)はテープやフロッピー交換などの定常業務、ログの監視やジョブ実行などの管理業務、あとはQAやトラブル対応などをしていた。荒木氏にはDevが花形で、Opsは世話役のイメージだった。
後にオープンシステム、さらに仮想化の動きがあり、それまでDevが担当していたインフラ設計や運用設計がOpsに引き渡され、役割分担が変化していった。運用設計とはシステム運用のフレームワークを作ることにあたる。目的を定め、何をどこまで管理するか、定常業務の体制やスケジュール、トラブル発生時のフローなどを定める。最終的にはドキュメント化することで、属人化やブラックボックス化を防ぐ。
長年、DevとOpsの役割分担は難しい課題となっている。荒木氏もかつて、悲しい対立を目撃したことがある。顧客企業の社員向け営業支援システムの開発プロジェクトでのこと。システム開発担当と運用担当がそれぞれ設計を行っていた。設計書は共通の場に保存されていたものの、互いに無関心で、詳細の中間レビューがされることはなかった。インフラが構築され、その上で開発したシステムのテストを始めてみると、プロジェクトと関係ないサービスのパフォーマンスが不安定になるという事態に陥った。
対策会議を開いてみると、DevとOpsの間で「もう今さら変更できない。あなたがこちらに合わせてください」とバトルが勃発。最終的には互いに譲歩して設計を変更することになったものの、調整でサービス開始が遅れる羽目になった。荒木氏は部外者としてただ推移を見守るしかなく、心の中では「もっと早くからその話を進めてほしかった」と感じていたそうだ。
こうしたバトルは珍しい話ではない。DevとOpsは互いに無関心になりがちだ。それで後になり問題が発生する。荒木氏は「互いに積極的にコミュニケーションし、理解を深め、共通の運用観点を持つことが取り組みをうまく進めていくうえで必要だと考えます」と指摘する。
DevとOpsのインフラに対する観点と、両者に最適な「HPE SimpliVity」
DevとOpsを対立から融合へと変え、密接に連携するプラクティスがDevOpsだ。開発と運用のプラクティスについての話題が多いものの、インフラも重要な要素となる。DevOpsにとって最適なインフラはどんなものだろうか。
荒木氏によると、Devにとってインフラは開発環境の利用が柔軟にできて、バックアップは必要なだけできて、開発環境が集中管理できるものがいい。またOpsにとっては、どこからでも同じように運用管理ができて、データの保護や復旧作業が簡単ですぐにできて、スケールアップやアウトが柔軟にできて、インフラの運用や監視にAIが使えたほうがいい。
こうしたDevOpsの要件にうまく合致するのがハイパーコンバージドインフラ(HCI)。サーバーのソフトウェアを使い、仮想化環境を実現するソリューションだ。数あるHCIのなかでも最新で、「DevOpsで使ってほしい」と荒木氏がすすめするのがHPE SimpliVity(以下、SimpliVity)だ。
特徴は簡単な操作で素早くバックアップができることと、必要な時に必要な分だけリソースを柔軟に追加または取り外しができること。またサーバーのセンサーデータから故障を予測して、事前に交換できるため安心して運用できる(詳しくは後述)。データの重複排除や圧縮ができるため、バックアップ時間が短くてすむ。システム管理の作業はとてもシンプルで、インフラの管理や監視にAIを活用しているのも特徴だ。
保守性についても強みがある。リモート環境でも同じツールを用いて一元管理できるのが特徴だ。リモート環境間でバックアップを取って、災害対策に役立てることができる。このリモート環境間のバックアップで重複排除を有効にしておくと、WANの帯域を圧迫することなくスムーズにバックアップできる。
これらのSimpliVityの特徴を活かした得意なソリューションを挙げておこう。リモートオフィスや開発環境など、サーバーが点在する環境でのSimpliVityの機能を活用したDRの仕組みだ。SimpliVityでは離れたサーバー間でデータを互いに持ち合う仕組みがある。そのためある拠点で定期メンテナンスや障害が発生したとしても、別の拠点にあるバックアップからシステムを復元して運用や開発を継続できる。リモートサーバー間のバックアップだけだと心許ないなら、中央にあるサーバーにもデータを一元的にバックアップしておくことも可能だ。
もちろんクラウドも忘れてはいない。クラウドレディ、つまりハイブリッドクラウド環境を構築できることも重要になる。そこで有効になるのがAzure Stack HCIだ。これはWindows Server 2019 DataCenter Editionを用いて実現するハイパーコンバージド基盤となる。主なワークロードはオンプレミスにあるWindows Serverで稼働させ、DRやオフサイトバックアップなどでクラウドを使いたいという時に有効だ。クラウドとの連携やデータの同期はAzureの管理機能を利用する。
なおAzure Stack HCIはマイクロソフトが認定したサーバー構成をとる必要がある。HPEではラック型からタワー型まで幅広く対応機種がそろっているのが特徴だ。そのため本社、支店、工場などサーバー負荷に応じて適切なモデルを選ぶことが可能だ。
またSimpliVityのクラウド管理ツール「InfoSight」もAzure Stack HCIで利用可能だ。もともとInfoSightは「Nimble」や「3PAR」などストレージ製品の保守のためのサービスで、機器のセンサーデータをクラウドで収集し、分析することで故障時期を自動で予測することができる。故障する前に予防的に交換できるため、突然停止することがなく安定して運用することができる。2019年からはSimpliVityの他に「ProLiant」も対応となり、対応機種がますます拡大している。
最新のHCIを支えるCPUとメモリテクノロジー
HCIに使われている最新テクノロジーについても触れておこう。まずはCPUから。現在のメインストリーム向けは第二世代 Intel Xeonスケーラブルプロセッサで、コードネームでは「CascadeLake」と呼ばれていた。2020年春に「CascadeLake-Refresh」と呼ばれる改良版が発表されて、コストパフォーマンスが向上した。
5年前のシステムと比較すると最大で3.5倍パフォーマンスが向上している。新たに追加されたインテル・ディープラーニング・ブーストを活用すると、推論向けAI性能は最大で14倍になる(2017年との比較)。CaffeやTensorFlowなど機械学習のフレームワークに最適化されている。高性能なコンピュータ・ビジョンやディープラーニングを実行するプロセスをチップに組み込めるOpenVINOツールキットもあり、全般的にAI対応が強化されているのが分かる。
もう1つはメモリだ。第二世代Intel Xeon スケーラブルプロセッサ向けに発表されたIntel Optane DCパーシステントメモリーがある。手ごろな価格、大容量、データ永続性がいいバランスで実現できるテクノロジーだ。128GB/256GB/512GBで提供される。インメモリデータベースにおけるDRAMの置き換え、ソフトウェアライセンスの低減といったところで効果を発揮しそうだ。
新しいCPUやメモリのテクノロジーでサーバーの集積度が高まることで、ワークロードの集約化やCPU利用率が向上し、IT基盤の統合化が進む。
最後に荒木氏は次のようにまとめた。「DevOpsの取り組みを成功させるには、DevとOpsが共通の運用観点を持つようにしてください。運用設計は両者で一緒に作りあげていきましょう。また最適なインフラを選択することが重要です。HCIが提供する機能をうまく活用してください」