2018年03月09日 08時00分 公開
特集/連載

Computer Weekly製品導入ガイドアプリのクラウドネイティブ化とは何か

クラウドネイティブアプリケーションは、組織のニーズに合わせたより動的なサポートを実現する。では、クラウドネイティブとは何だろうか。

[Clive Longbottom,Computer Weekly]
Computer Weekly

 CRMやERPは、組織が必要とする特定の作業を行うために開発されたエンタープライズアプリケーションだ。

 問題は、そうしたアプリケーションが肥大化して環境の「保有と支配」を確立しようとする中で、機動力を高めていこうとする企業にそぐわなくなった点にある。

Computer Weekly製品導入ガイド無料ダウンロード

本記事は、プレミアムコンテンツ「Computer Weekly製品導入ガイド」(PDF)掲載記事の抄訳版です。本記事の全文は、同プレミアムコンテンツで読むことができます。


 世界は今、動的な複合アプリケーションに目を向け始めている。全てをこなす単一のアプリケーションを追い求めるのではなく、リアルタイムで組み合わせて、特定の期間にビジネスプロセスを支援できる機能スタブを構築する方法が求められるようになった。

インテリジェントな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」のような何らかの形のコンテナ化を指し示している。

注目テーマ

ITmedia マーケティング新着記事

news101.jpg

Instagram「ショッピング機能」がストーリーズでも利用可能に
Instagramは「ショッピング機能」をInstagram Storiesにも拡大すると正式に発表した。

news016.jpg

トレタがデータから導き出した「繁盛店」の作り方
1980年代からほぼ進化が止まっていた飲食業界に変革を起こせるか。飲食店向け予約管理シ...