クラウド×オンプレのハイブリッド時代――激動のアプリケーション開発現場、“頼みの綱”の自動化を実現するには?

» 2022年01月26日 10時00分 公開
[PR/ITmedia]
PR

 世の中で加速するデジタル化やDX(デジタルトランスフォーメーション)を支えているうちの一つが、さまざまなアプリケーションだ。人々が使うサービスやツールの裏側では多くのアプリケーションが動いている。機能の拡充や、クラウドサービスやサブスクリプションなど提供形態も多様化する中で、利用者のニーズを満たして企業競争力を上げるにはイノベーションサイクルの高速化が求められる。

 アプリケーションの開発現場では、アプリケーションのコンテナ化やクラウド環境への移行が進む。アプリケーションの基盤になるインフラは、マルチクラウドの考え方を前提に仮想マシンベースやコンテナベース、サーバレスのものなど多様化や分散化が一層進んでいくだろう。

 目まぐるしく変化するアプリケーション開発の現状を見極めた上で、企業は開発環境そのものを改革する必要に迫られている。キーワードの一つが「自動化」だ。こうした変化に対応できる開発ソリューションとはどのようなものだろうか。その答えを求めて、今回はシスコシステムズとクラウド管理ツールを手掛ける米HashiCorpが2021年10月に共同開催したセミナーをレポートする。

柔軟なインフラを目指すために「インフラ管理者もデベロッパーになる」 

 一般的に、従来のアプリケーション開発はオンプレミス環境で、手順が決まったウオーターフォール型だった。柔軟性や俊敏性に欠けているため、新しい開発手法を模索する企業も多い。これまでの課題は、アプリケーションとインフラがバラバラに管理されてきたことであると、シスコシステムズの田中孝幸氏(データセンター/バーチャライゼーション事業 シニア DC/Vセールススペシャリスト)は指摘する。

 「これまでより迅速で柔軟性のある開発体制を構築するには、アプリケーションとインフラが協調する“DevOps”が重要だといわれています。ソフトウェアの開発者とインフラの管理者をつないで、アプリケーションの開発を高速化する仕組みが必要なのです。従来のソフトウェア開発者だけなく、インフラ管理者もデベロッパーにならなければなりません」(田中氏)

 「インフラ管理者がデベロッパーになる」とは、インフラ管理者がソフトウェア開発の現場を積極的に学ぶことで、アプリケーションとインフラの協調性を高めて開発を加速させるという意味だ。

 協調性を高めるのに役立つAPIやプログラマブル(システムの動作を利用者が必要に応じてプログラムで変更すること)なインフラが増える中、最新の知識を一人で学ぶのは難しい。そこでシスコシステムズは、デベロッパー向けのコミュニティープログラム「Cisco DevNet」を提供している。

 Cisco DevNetは特定の製品ではなく、インフラ管理者を含めたさまざまなデベロッパーを支援したり交流したりするコミュニティー基盤だ。プログラミングやIoTなど最新の開発トピックを取り入れた学習コンテンツも提供。多くのデベロッパーがDevNetに参加して、互いに刺激し合いながら開発に励んでいる。

プログラマブルなインフラの肝は「IaC」

 プログラマブルなインフラという視点で注目のキーワードが「IaC」(Infrastructure as Code)だ。マニュアル作業で行っていたインフラのプロビジョニング(インフラのセットアップやリソースの割り当て作業)を、コードによって自動化する仕組みを指す。

 DevNetのIaC関連コンテンツではIaCツールとして「Terraform」「Ansible」「Cisco NSO」を紹介している。田中氏は、この3つのどれか1つが良いということではなく、使い分けや組み合わせが重要だと説明する。

 IaCが注目される背景には、インフラ管理の複雑化がある。これまでの前時代的なアプリケーションは、1つの専用ハードウェア上で稼働し、1つのIPアドレスを管理すれば済んでいた。一方でハイブリッドクラウドが普及する現在は、アプリケーションとサーバが1対1の関係になることはなく、IPアドレスだけで特定のサービスを判断することができない。1つのアプリケーションのプロビジョニングをする手順が複雑化しているのだ。

マルチクラウド環境におけるIaCのスタンダードツール「Terraform」

 今回セミナーを共同開催したHashiCorpは、ハイブリッドクラウドの登場によって分散化したワークフローをマルチクラウド環境で統合することを目指してTerraformなどのソリューション群を提供している。

 Terraformは、2014年にオープンソースソフトウェアとして提供をスタート。マルチクラウド環境におけるIaCのスタンダードツールとして世界中に浸透している。各種クラウドサービスに対応し、共通したプロビジョニングフローを提供するソリューションだ。

photo Terraformの概要(クリックで拡大)

 「これまではアプリケーション開発者が新しいインフラを必要としても、インフラ運用部門との調整など、人を介した手続きや作業があるため時間がかかっていました。これではアプリケーション開発を加速しようにも、オンプレミスのインフラだけ取り残されてしまいます。そこでインフラ運用/管理者自身が社内業務の自動化を進めるオートメーションエンジニアとなり、インフラをコードで管理して自動化することが、最近のプログラマブルなネットワークインフラでは可能になっています」(HashiCorp Japanの桂田祥吾氏(パートナーソリューションエンジニア))

 デベロッパーになったインフラ管理者は、インフラを定義するコードを書き、ソフトウェアと同じようにバージョン管理する。変更があれば、TerraformのようなIaCツールでプロビジョニングを実行するというのが、モダンなインフラ管理やアプリケーション開発というわけだ。

 こうした新しい運用形態は、IaCツールを使えばクラウド環境で実現できることは知られている。しかし、オンプレミス環境でも同じような運用を実現したいというDevOpsエンジニアが増えている。そこで注目したいのが、HashiCorpとシスコシステムズの連携だ。

Terraform Cloudをオンプレミスで活用 シスコシステムズとの強力な連携

 クラウド環境で使うツールをどのようにオンプレミス環境で使うのか。ここで役立つのがシスコシステムズのシステム管理基盤「Cisco Intersight」だ。もともと同社のサーバ製品といったハードウェアを管理するツールとして誕生したが、バージョンアップを重ねて管理できる対象をクラウドなどにも広げた。ポータルサイト上でさまざまな機器を管理できる。

 Terraform CloudとCisco Intersightを連携することで、Terraform Hosted Agentの管理をCisco Intersightが行いオンプレミスでのIaCの実現が容易になる。「開発チームの『変更を迅速に展開したい』という要求に対し、インフラチームはオンプレミスのさまざまなCisco機器(「Cisco UCS」(Unified Computing System)や「Cisco ACI」(Application Centric Infrastructure)「Cisco Firepower」 など)だけでなく仮想マシンなどの基盤に対しても、クラウドと同様にプロビジョニングを実行できます。プライベートクラウドとパブリッククラウドのハイブリッド環境で同じワークフローのIaCを実現できます」(桂田氏)

photo Cisco IntersightとTerraform Cloudを連携して、アプリケーション開発とインフラ管理をつなげる(クリックで拡大)

Terraform×Cisco Intersightは多彩なニーズに応えるソリューション

 TerraformとCisco Intersightの連携によって具体的にどのようなことが実現できるのか。シスコシステムズの加藤久慶氏(クラウドインフラストラクチャ/ソフトウェア事業)は、コンテナ化したアプリケーションを実行する「Kubernetesクラスタ」を例に挙げる。

 Kubernetesクラスタをオンプレミス環境へクラウドライクにデプロイ(展開)する場合を考えてみる。TerraformにはCisco Intersight上でKubernetes環境への展開や管理をできる「Intersight Kubernetes Service」モジュールが用意されているため、スムーズに作業を始められる。

 「Kubernetesクラスタを展開するときには、KubernetesのバージョンやCPUの数、メモリ容量、ディスクサイズ、IPアドレスのレンジ、DNSの設定――などさまざまな条件を設定する必要があります。加えてCisco Intersight内部にも設定すべき項目があります。こうした複雑な内容を、Terraformを使ってコードで定義することで、設定の一部を自動化できます。その結果、オンプレミス環境でもパブリッククラウドと同等の負担でKubernetesクラスタを展開できるのです」(加藤氏)。

ソフトウェアでネットワークを制御するSDNにも対応

 近年は、ソフトウェアでネットワークを制御するSDN(Software Defined Network)が浸透しつつあり、オンプレミス環境でもクラウドのようなネットワーク管理が重視されつつある。オンプレミス環境でSDNを実現できる製品が「Cisco ACI」(Application Centric Infrastructure)だ。

 オンプレミスを含むハイブリッド/マルチクラウド環境では、ネットワーク管理だけでなく、複数の異なる環境で一貫したセキュリティポリシーを運用することが重要になる。TerraformはCisco ACIとも連携でき、ネットワーク構成やポリシー運用を自動化できる。

 その他、エンドユーザー向けに提供しているマルチクラウド/オンプレミス環境を自動運用したいという場合には、Terraformと「Intersight Cloud Orchestrater」の連携が有効だ。エンドユーザーの要望に合わせながら、サービス提供の一部を自動化できる。

 このように、TerraformとCisco Intersightの組み合わせによって、これまで手動で行ってきた手間のかかる作業を自動化したり、柔軟に管理したりできるのだ。

ハイブリッドな開発環境をCisco Intersightで柔軟に渡り歩く

 Cisco Intersightは、ハードウェア管理だけでなくIaCなどの自動化や仮想マシンの管理、Kubernetesの管理、インフラの最適化などさまざまな用途に対応している。連携することも、必要な部分だけ利用することもでき、柔軟な運用が可能だ。

photo Cisco Intersightが対応しているサービス(クリックで拡大)

 「クラウドに強いHashiCorpとハードウェアに強いシスコが連携することで、Terraform Cloud を使ったIaCをオンプレミスでも提供できるようになり、インフラや仮想マシン管理の自動化を実現できるようになりました。Cisco Intersightを使うことで、一つのポータルサイトからハイブリッドクラウド環境の運用管理ができます」(田中氏)

 田中氏は、シスコシステムズが引き続きHashiCorpとの連携を強めてIaCを推進していく見通しを示し、今後に期待してほしいとセミナーを結んだ。

Copyright © ITmedia, Inc. All Rights Reserved.


提供:シスコシステムズ合同会社
アイティメディア営業企画/制作:ITmedia NEWS編集部/掲載内容有効期限:2022年2月23日