多くの企業にとって“クラウドファースト”がキーワードとなっている今、クラウドを「適切に」活用する能力はSIerやIT部門のエンジニアにとって必須の技能となっている。今回はビジネス要請にアジャイルに応える「クラウドファースト時代のシステムインテグレーション」に必要な要素技術を解説する。
前回はクラウドが多くの企業に浸透している現状とともに、従来の「システムごとに最適化された、手作業を前提としたシステムインテグレーション」と、「クラウドを前提としたアジャイルなシステムインテグレーション」の違いを解説しました。今回はもう少し踏み込んで、後者のスタイルを実現するための要素技術を解説したいと思います。
その前に、そもそもなぜシステムインテグレーションをアジャイルにしなければならならないのでしょうか? それは年々激しさを増す市場環境の変化に追随しビジネスチャンスをつかむためには、素早くシステムを開発して市場に問い掛け、市場の反応からフィードバックを得て競争力のあるシステムに育てていかなければ、もはや勝負にならないという段階にまで来ているためです。
これはいわゆる「DevOps」というキーワードを旗印にWebサービス系の企業から始まった動きですが、いわゆるエンタープライズ系にもSystem of Engagement(SoE)と呼ばれる顧客接点となるシステムから、アジリティを重要視する機運が高まってきています。
システムインテグレーションのアジリティを高め、利用者に素早く価値を提供できるようにするためには、システムを改善し続けること、そして短いサイクルで改善されるシステムを安定して運用し続けることが必要です。そのためには運用者が主体となり、システムリリースのスピードと柔軟性、および安定運用するためのガバナンスとセキュリティを両立するシステムインテグレーションのプロセスを確立しなければなりません。
従来の“重厚長大で変化を拒絶するプロセス”から変革すべきポイントはいくつもありますが、特に以下のポイントが重要となります。
各社のパブリッククラウド(IaaS)が提供しているマネージドサービスを、適合する部分については最大限に活用することがポイントとなります。ただし、その基盤の上で運用したいビジネスと、各社サービスの特徴やコスト、SLAを理解した上で厳選することが大前提です。これにより、マネージドサービスによって隠蔽(いんぺい)される部分を心配する必要がなくなります。例えばビジネス要請の性質、重要度に対してDBaaSのコストやSLAが適合するならば、進んでDBaaSを利用することで、RDBMSのパフォーマンスチューニングや障害対応から解放されることになります。
安定運用という視点から、「ビジネスモデルとそれに最適なSLA」を対応させてインフラ運用設計を標準化し、パターンとして資産化することも大切です。「システムに合わせてインフラ運用を作り込む」のではなく、「インフラ運用パターンに従うようにシステムを設計する」のです。それにより、インフラ運用を再設計する無駄が省かれるだけではなく、場当たり的な運用により発生するリスクも低減することができます。
パターン化したインフラ運用の設計は、Microsoft ExcelやWordのドキュメントではなく、「パターンを元にシステムを機械的に構築」し、「システムが正しく構築されたことを自分自身で機械的に検証する」プログラムとして集積しましょう。そしてシステムに直接手を加えることを禁じ、必ずプログラムからシステムのインフラ運用を構築するプロセスを徹底することで、インフラ運用構築のリードタイムを短縮できるだけでなく、同じ品質のインフラを何度でも再生できるようになります。このような考え方は、Infrastructure as Codeと呼ばれています。
クラウド環境では必要なリソースをプログラム的に構成して調達できるのですから、システムが自分自身の状態を監視し、必要に応じて自分自身を自律的に調整するような仕組みもパターンに組み込むことができます。例えば、「オートスケール」機能や「障害時の自動復旧」機能などが挙げられます。このような、従来は有識者が手作業で実施していたような高度な運用もパターンに組み込んでしまうことで、パターンの資産価値が向上し、それによってパターンの利用が促進されパターンが改善されるという、善循環が期待できます。
インフラ運用の構築や検証がプログラム的に実施できることに加え、コスト効率よく“必要なリソースを必要に応じて必要なだけ調達できる”というクラウドの特徴を生かせば、「既存システムに手を加える」という従来のシステムインテグレーションのプロセスではなく、「システム一式を新しく構築して切り替える」というプロセスを採ることができます。これにより、システムが常にクリーンに保たれブラックボックス化を防げるだけではなく、障害時の切り戻しも楽になります。このような考え方は、Immutable Infrastructureと呼ばれています。
Copyright © ITmedia, Inc. All Rights Reserved.