web-dev-qa-db-ja.com

クラウドネイティブアプリケーションとは

私はこの用語を数回聞いたことがあります。 Cloud-Nativeアプリケーションは正確に何を指しますか? Cloud-Nativeアプリケーションの機能は何ですか?

7
ambes

tl; dr

他の回答が述べたように、それはクラウドで実行するように設計されたアプリケーションであり、後でクラウドにシューホーンするように改造されただけではありません。これは主にマーケティング用語であり、技術用語ではそれほど意味がありません。

Product Manager Perspective

顧客は通常、代替品よりも優れた製品、または少なくとも「本物」であり、偽物ではない製品を購入したと感じたいので、商用製品マネージャーとして、私は時々それが役に立つ概念だと思います。そのため、製品マーケターは、できるだけ多くの競合他社を本物ではないと思わせる方法でこれを便利に定義する傾向があります。一部の業界では、この戦術の有用性は長い間残っています。誰もがクラウドです。

開発者の視点

ソフトウェアエンジニアとして、この用語は技術情報を伝えるのにかなり効果がありません。それは、クラウドベースのアプリケーションに関する聴衆の認識、意見、知識に依存しています。クラウドベースの製品を提供することの本質は、顧客が実装の詳細を気にすることなく素晴らしい経験をする必要があることなので、それを達成する製品は顧客にとってネイティブであるように見えるはずです。

クラウド用の商用製品をゼロから構築し、大規模なプレクラウド製品のクラウドへの移行を設計したので、いずれの場合でも、製品の来歴は、クラウドバージョンがどのように変化するかを予測するすべてのものではないと言えるでしょう。でる。私が取り組んだクラウド前の製品セットの1つは、クラウドへの移行に大きな問題があり、インフラストラクチャと開発コストの点で、顧客には明らかな影響がありました。もう1つは比較的簡単なもので、移行が完了すると、それがどこから来たのかを知る必要がなくなります。

初日からクラウド向けに設計されたソフトウェアは、必ずしもクラウド向けに「うまく設計」されているとは限りません。多くの場合、特にスケーラブルまたはサービス可能ではない想定を永続化し、セキュリティまたは分離の懸念を見落とし、またはクラウドに通常関連する利点を提供しません。

信頼できる参照はありますか?

「ネイティブクラウドアプリケーション」を定義するために、広く受け入れられているプロパティの標準リストはありません。クラウドコンピューティングのかなり中立的な定義を求める場合、常に米国政府からの NIST定義 があります。もう4年経った今、もう少し古く感じています。 5つの特徴の概要を説明します...

  1. オンデマンドセルフサービス
  2. 幅広いネットワークアクセス
  3. リソースプーリング
  4. 迅速な弾力性
  5. 測定サービス

クラウドネスに不可欠と見なされることが多いものについては言及していないように見えます...

  • 展開するためにITリソースを必要としないUI。 (ブラウザやApp Storeなど)。 「セルフサービス」でそれを合わせることができます
  • マルチテナント共有データベース。一部の人々は、それがクラウドに不可欠であると誤って考えています。実際の答えは、アプリケーションと関連する規制によって異なります。リソースをプールする方法はたくさんあります。

ですから、この方法でそれを検討することをお勧めします...製品は、NISTの特性やあなたにとって重要なものを含む、クラウドアプリケーションの特性を提供しますか?そのUI特性は、常に私にとって非常に重要であることが判明しています。

また、特に会社を購入する場合、または従業員として参加する場合は、製品がクラウド向けにうまく設計されていれば、開発、セキュリティ、インフラストラクチャコストの問題が背後にあるかどうかを検討してください。

4
joshp

「クラウドネイティブ」アプリケーションは、クラウド環境で実行するためにゼロから設計されたアプリケーションです。

これを、クラウドで実行されるが、もともとは非クラウドコンテキスト用に設計されたアプリケーションと比較してください。たとえば、通常のWebサーバーまたはクラウド環境で実行できるWebアプリケーション。

実際の比較については、実際のクラウドサービスをご覧ください。 Amazon EC2などの環境は、動的にスケーラブルな非クラウド環境に似ていますが、 Salesforce などの製品は、適切なクラウド専用環境です。クラウドネイティブアプリケーションを実行することがSalesforceのすべてですが、EC2では区別が明確ではありません。

2
user22815

クラウドネイティブとは、オンプレミスで生まれ育ったアプリケーションとは対照的に、クラウドで生まれたアプリケーションを指します。クラウドネイティブアプリケーションは、クラウドコンピューティングアーキテクチャ用に特別に設計されています。 Cloud-Nativeは、疎結合のクラウドサービスで構成されるクラウドコンピューティングフレームワークを利用するように設計されています。

0
Techno