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
-
製品資料
[株式会社キーエンス] なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは -
製品資料
[株式会社セールスフォース・ジャパン] 「CRMは設計と無関係」は本当か? PLMとの融合で実現する高速開発 -
事例
[日本ヒューレット・パッカード合同会社] AIエージェントの時代にどう備える? 「新たな働き手」を支える3要素とは -
製品資料
[日本ヒューレット・パッカード合同会社] “横並びの自動化”から脱却、AI活用で生産性と競争力を高める秘訣 -
製品資料
[サイボウズ株式会社] AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
2
法務と開発者で「言葉が通じない」問題 トヨタやソニーが語るOSS管理の真実
-
3
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
-
4
なぜ「Gemini 4 Argon」は出遅れたのか? Googleが狙う“逆転のシナリオ”
-
5
「中堅・中小企業のネットワーク・セキュリティ運用実態」に関するアンケート
-
6
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
7
「Wi-Fi 7」経由でWindowsが乗っ取られる? 最高権限奪取の恐怖
-
8
情報漏えいはなぜ繰り返されるのか 今すぐ見直すべき「境界」
-
9
情シスの約8割が転職や退職を意識 調査で分かった“辞めたくなる最大の理由”
-
10
【漫画付き】ひとり情シス協会が明かす、RAG導入でしくじる企業「2つの共通点」
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
3
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
4
財務部門がAIを最大限に活用する方法 無駄のない戦略的リーダーシップへの道
-
5
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
6
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
7
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
-
8
生成AIを開発に導入しても効果が見えない? 実証実験で分かった成果と課題
-
9
経産省DX指針から読み解く、受発注業務デジタル化ロードマップ
-
10
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー