Computer Weekly製品導入ガイド
アプリのクラウドネイティブ化とは何か
クラウドネイティブアプリケーションは、組織のニーズに合わせたより動的なサポートを実現する。では、クラウドネイティブとは何だろうか。
CRMやERPは、組織が必要とする特定の作業を行うために開発されたエンタープライズアプリケーションだ。問題は、そうしたアプリケーションが肥大化して環境の「保有と支配」を確立しようとする中で、機動力を高めていこうとする企業にそぐわなくなった点にある。
世界は今、動的な複合アプリケーションに目を向け始めている。全てをこなす単一のアプリケーションを追い求めるのではなく、リアルタイムで組み合わせて、特定の期間にビジネスプロセスを支援できる機能スタブを構築する方法が求められるようになった。
インテリジェントなFAQシステム
一例として、見込み客が顧客となって商品を注文し、代金を払うまでの単純な手段を見てみよう。これを支える多数の技術がサードパーティーサービスを通じて十分に提供されている。見込み客が抱く疑問は、TransversalのインテリジェントFAQ(よくある質問)システムで対応できる。同アプリケーションが代金を集計して処理することはないが、WorldpayやPayPalのようなサードパーティー決済処理システムを使えばよい。
次の数十億ドル企業が、メジャーな新アプリケーションの背後で生まれる公算は小さい。デキるデベロッパーはカネを追い、クラウドでホスティングできて、大量の顧客による少額決済ができたり、月額料金を継続的に払ったりできる機能的なサービスを構築している。もはや、少量で利幅の大きいモデルではなく、量が多くて利幅の小さいモデルになった。
このアプローチは組織の内部にも当てはまる。必要に応じて周辺の別々のシステムを呼び出すことができ、もっと優れた機能が登場すれば接続したり接続を解除したりでき、簡単に最適化でき、アップデートやアップグレードの際にはそれに依存するハードコーディングされた上り下りのシステムを変更せずに済む機能の構築が求められる。
多面的な問題
奇妙なことに、そうしたイノベーションの主力分野はタブレットやスマートフォン経由だった。小さくて機能的なアプリを低コストで簡単に利用できることから、ユーザーは職場の中でも同じアプローチを求めるようになった。だが、そうしたアプリの大部分は単一の機能しかなく、それを組み合わせて多面的な問題を解決することはまだ難しい。
ここではIoT(モノのインターネット)を通じたホームオートメーションがニーズをかき立てている。「IFTTT」(if this, then that)プログラミングのような機能の利用が拡大し、「Amazon Alexa」や「Google Assistant」のように単一のフロントエンドで複数の異なる機器を連携させる家庭用ハブの利用も拡大している。開発者がクラウドネイティブになるために使える技術は多数ある。われわれは今、API経済の時代にいる。どんなサービスであれ、提供されるサービスの機能に対し、共通する標準の手段を通じて他者がアクセスできるよう、オープンなAPIが必須とされる。
Webベースサービスにおけるその好例として、RESTful(Representational State Transfer)アプローチの採用が挙げられる。RESTfulとはステートレスで運用できる呼び出しと応答の原則の集合を指す。RESTfulは拡張可能なインタフェースであることを通して、安定性と未来への耐性を実現しながら、パフォーマンスを最適化できる。
アップグレードの容易さ
どんな機能もサービスも、簡単にアップデートできるように開発する必要がある。カスケードあるいはウオーターフォールプロジェクトの方式で機能を構築するアプローチでは、ビジネスのニーズに対する十分な対応はできない。それよりも、秩序立ってコントロールされたDevOpsのアプローチを採用し、「Jenkins」や「Puppet」や「Chef」のようなオープンソースツールを使い、恐らくはCA Automicのようなアプリケーションリリース自動化システムを組み合わせた方がずっといい。
継続的な開発とデリバリー、デプロイという3つの「CD」の狙いは、ビジネスやユーザーの要求に応える新機能を、数カ月から数年ではなく、数日から数週間以内に提供することにある。
その機能は、それを下支えするリソースから確実に切り離さなければならない。例えば、必要とするCPUの量や、特定の種類のストレージサブシステムに深く依存する新機能の開発は時間の無駄になる。クラウドならばこうした全てを切り離すことができ、機能の全般的な拡張性も、コードによる制限を受けなくなる。ただ、管理者がクラウド内で特定の期間に使いたいと思うリソースの量によってのみ制約される。
プロビジョニングの容易さ
コンパイルされ、プラットフォームに直接プロビジョニングされたコードの利用は私たちにとって今も健在だが、未来は「Docker」や「rkt」「LXD」のような何らかの形のコンテナ化を指し示している。コードをコンテナの中に置くことで、ソフトウェアと物理プラットフォームの間の依存関係が従来よりも縮小され、機能を幅広いプラットフォームに届けやすくなる。「Kubernetes」や「JuJu」のようなシステムは、コンテナの適切な管理を支援する。
それぞれのサービスはメタデータとコンテキストで完全に定義する。そうしたコンテナの内容は、いずれ単一機能のサービス(マイクロサービス)へと縮小される公算が大きい。そうしたマイクロサービスは全て、それが何のためにあるのかを他者が把握できるよう、十分なメタデータを提供しなければならない。
開発ポータルではマイクロサービスを参照できる必要があり、個々のどんな開発者にも使えるようにしなければならない。従って、それが自動的に実現するよう、十分な情報が必要とされる。だが、メタデータのプロビジョニングのために重点を絞るべきはそれだけではない。緩い組み合わせで高性能を発揮するリアルタイム複合アプリケーションの未来は、メタデータとコンテキスト上で予測され、それを使って完全に自動化され、調和が保たれた方法でマイクロサービスを簡単に組み立てることができる。
クラウドネイティブの復号アプリケーションをこの方法で動的に構築できるようにするためには、全ての組み合わせを担うオーケストレーションシステムが機能の内容と使い方を理解できる必要が生じる。EnterpriseWebのような先端のシステムは、それを理解して、ディープなエンドツーエンドの自動化に求められるインテグレーションとオーケストレーションの定義および構築を可能にするメタデータを作成する。他のシステムでは、インテグレーションを適用するために必要な情報を提供する、標準化されたデータのセットが必要になるかもしれない。
車輪を発明しない
カレンダーのような機能を網羅するサービスは、既に豊富に出回っている。うるう年が来た途端に不具合が起きるようなものを自力で開発するよりも、そうした既存のサービスを利用した方がいい。パブリッククラウド製品として提供されている有料サポート付きのサービスに加えて、サポートされたサイトやコミュニティーグループで提供されている個別のコードの両方を検討したい。そうしたサイトでは一般的に、他のユーザーのフィードバックが掲載され、コードの良しあしや、必要な作業がこなせるかどうかを判断できる。こうした方法で事前に準備されたコードを利用すれば、コーディングにかける時間を大幅に短縮できるだけでなく、エラーの発見やその先の管理の手間も省くことができる。
自前のデータセンターを持つ既存のビジネスの中で運用している場合(あるいはコロケーション施設を使っている場合)、利用可能な手持ちのサービスに目を向けることを忘れてはいけない。クラウドネイティブアプリを最初から構築するためには、コーディングおよび結果として生じる全般的な環境の構成において、違うアプローチが必要になる。だが多くのサービスは、既存のエンタープライズアプリに隠れて既に存在しているかもしれない。
その秘訣(ひけつ)は、メインアプリケーションの一枚岩の中から特定の機能を抽出し、それを他のシステムで利用できる呼び出し可能な機能として提供することにある。ここでもまた、EnterpriseWebやCA Automicといった企業のサービスでは、個々のデータや機能を引き出して、オープン性や反応性がはるかに高いクラウドベースプラットフォームで利用できる場面を特定できる。
全般的に、クラウドネイティブアプリ開発へ移行するためには、開発、テスト、運用システムに対する組織のIT部門の見方を根本から変革する必要がある。鍵を握るのは小さく考える思考だ。コンテナ化されたマイクロサービスを出発点として、インテリジェントなオーケストレーションや自動化のシステムを組み合わせ、ビジネスニーズの動的なサポートを実現できるサービスとアプリケーションのポートフォリオを提供することが望ましい。
Copyright © ITmedia, Inc. All Rights Reserved.
Computer Weekly日本語版
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[横河レンタ・リース株式会社] 不正アクセス被害が深刻化 狙われる「セキュリティの死角」はどこなのか? -
製品資料
[NTTインテグレーション株式会社] 2026年度末開始の「SCS評価制度」をどう攻略する? -
製品資料
[NTTインテグレーション株式会社] 「復旧せよ」の決断に即答できる? いま必要な戦略的データ復旧の極意 -
製品資料
[NTTインテグレーション株式会社] SCS評価制度は「共通のモノサシ」になる? いま製造業がすべきこととは -
事例
[Extreme Networks株式会社] BYOD時代の大学のWi-Fi、安定した通信環境をどう実現する?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
Microsoft月例パッチ1400件超で過去最多 「限界点」を迎えたパッチ管理
-
2
半数がブルーカラー転向を視野に? ベテランエンジニアを追い込む“54歳の壁”
-
3
SAP導入後も残る“Excel依存” 京急電鉄は「kintone」でどう解消した?
-
4
みずほ証券が「液冷サーバ」を採用 1日3.6億件の計算を支えるための要件
-
5
IBM iのブラックボックス化を打破 資産継承と進化を実現する「IBM Bob」の実力
-
6
「オフィス移転・刷新に伴うネットワーク環境の実態」に関するアンケート
-
7
PHP脆弱性「PHP2Shell」で2260万件に影響 情シスの緊急チェックリスト
-
8
AI時代のITインフラ変革 ネットワークの重要性と「予測をやめる投資」とは
-
9
「法人向けPCおよび周辺機器の利用状況」に関するアンケート
-
10
「業務PC/ワークステーション」に関するアンケート
ホワイトペーパーランキング PR
-
1
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
2
2026年のサイバーセキュリティには何が必要か? 最新データに学ぶ傾向と対策
-
3
経験豊富な即戦力人材に直接アプローチできる、「攻めの採用」への転換術
-
4
「IT史に名を残すシステム障害」8選
-
5
最速72分でデータが流出? 最新の脅威トレンドや侵入手法から分かった防衛策
-
6
10G回線の真価をフルに享受するには? 導入前にチェックしたいポイント
-
7
AI駆動開発のスピードと安全性を両立 「品質・セキュリティ管理」の実践ガイド
-
8
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
-
9
「標的型攻撃メール」事例・サンプル集
-
10
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー