クラウドネイティブテクノロジーを使用して最新のアプリケーションを構築する方法

クラウドネイティブテクノロジーを使用して最新のアプリケーションを構築する方法

今日、クラウドとクラウド コンピューティング テクノロジーは企業に広く受け入れられています。クラウド、クラウド コンピューティング、クラウド ネイティブに関するトピックは数多くありますが、私が議論したいのは、すべてのクラウドの中で真の主役であるアプリケーションについてです。

エンタープライズ アプリケーションをクラウドに配置すると、これらのアプリケーションの高可用性はある程度向上しますが、まだ多くの問題が残っています。クラウド導入後のこれらのアプリケーションの運用・保守効率について議論すると、運用・保守はすべてインフラストラクチャに基づいており、クラウド コンピューティングは比較的大きなインフラストラクチャの変更であるため、大きな改善は見られない可能性があります。クラウド化後、アプリケーション全体の開発速度が大幅に向上したかを改めて問うと、多くの人が「いいえ」と答えるでしょう。

したがって、今日は主に、クラウド ネイティブ テクノロジーを使用してアプリケーションを最適化し、従来のアプリケーションから最新のアプリケーションに変換する方法について説明します。

非典型的な典型性 - クラウド内のあらゆる種類の人々

まず、個人から全体への形而上学的アプローチを取り、典型的な企業の事例を見てみましょう。

今日、クラウドとクラウド コンピューティング テクノロジーは企業に広く受け入れられています。クラウド、クラウド コンピューティング、クラウド ネイティブに関するトピックは数多くありますが、私が議論したいのは、すべてのクラウドの中で真の主役であるアプリケーションについてです。

エンタープライズ アプリケーションをクラウドに配置すると、これらのアプリケーションの高可用性はある程度向上しますが、まだ多くの問題が残っています。クラウド導入後のこれらのアプリケーションの運用・保守効率について議論すると、運用・保守はすべてインフラストラクチャに基づいており、クラウド コンピューティングは比較的大きなインフラストラクチャの変更であるため、大きな改善は見られない可能性があります。クラウド化後、アプリケーション全体の開発速度が大幅に向上したかを改めて問うと、多くの人が「いいえ」と答えるでしょう。

したがって、今日は主に、クラウド ネイティブ テクノロジーを使用してアプリケーションを最適化し、従来のアプリケーションから最新のアプリケーションに変換する方法について説明します。

非典型的な典型性 - クラウド内のあらゆる種類の人々

まず、個人から全体への形而上学的アプローチを取り、典型的な企業の事例を見てみましょう。

クラウドに移行した企業は、段階的な成功を収めているものの、まだ解決されていない問題が何であるかについて考える必要があります。したがって、企業がクラウドに移行したかどうかに関わらず、彼らは皆非常に不安を感じています。これは、急速なビジネス開発のニーズに対応するために、R&D サイクルを短縮する方法を全員が考えているという事実に反映されています。全体的な運用と保守の効率を改善し、IT 部門がプロセスを強力に制御できるようにする方法。全体的なクラウド移行の前後で、全体的な IT アプリケーション コストをより効果的に削減し、ソフトウェアの複雑さを軽減し、システム全体の高可用性を向上させることができます。これらの側面のほとんどは、アプリケーションの非機能特性に焦点を当てています。

1. 不安の根源

これらすべての不安の原因を、応用の観点から深く分析することができます。

ご存知のとおり、アプリケーションの場合、その中核となるのはアーキテクチャであり、これにはアプリケーションのビジネス アーキテクチャと技術アーキテクチャが含まれます。アプリケーションアーキテクチャの観点から、顧客のアプリケーション開発の要求を満たす必要があります。たとえば、データの生成。今日の IoT の普及に伴い、非常に大量のデータが生成され、このデータの処理に対する要件も高まっています。

より多くの人間の要求に応える従来のレスポンシブなデータ処理方法では、もはやビジネス ニーズを満たすことができません。 IoT デバイスの場合、モデルとメソッドは、そのようなイベントに対する要求と応答に基づいています。同様に、企業のビジネス開発には、エコシステム内のより多くの企業とのつながりが必要です。これらの多数のビジネス要求により、基盤となる技術アーキテクチャに対する要件も増加します。これらの要件は、基盤となる技術アーキテクチャが高度な冗長性、マイクロサービスと大規模なビジネス同時実行性、動的スケーリング、SLA の提供などをサポートできる必要があるという要件に反映されています。

ここで解決する必要がある根本的な矛盾をさらに深く掘り下げて探ってみると、クラウドへの移行とビジネスの複雑さが増すにつれて、IT の管理コストが増加するという事実に根本的な矛盾があることがわかります。このコストは、すべてのマイクロサービスと高可用性を解決するには高度なシステム冗長性が必要であるという事実に反映されています。同時に、ビジネスの急速な発展により、IT システム全体が頻繁な変化に対応する必要があります。根本的な矛盾は、システムの高い冗長性とシステムの頻繁な変更との間の矛盾にあります。すべての分散システムは、この大きな矛盾を解決しようとしています。

たとえば、当初のスタンドアロン時代に、1 台のマシンを管理するのに 1 人の担当者しか必要でなく、1 台のマシン上のソフトウェアが自社のビジネス開発の要件を満たすことができれば、明らかにそれほど多くの競合は発生しなかったでしょう。 1 人の人間が数十人、数百人になり、そのようなマシンが 1 つのノードではなく数十、数百、さらには数千のノードで実行されるようになった場合にのみ、IT 全体が対処する必要がある複雑さは 1 から 1、1、1、1、N へと頻繁に変化します。したがって、全体的な複雑さは大幅に改善されましたが、これは私たちが話している矛盾の根本的な原因でもあります。

2. 迅速な解決と深い解決

では、この矛盾を解決する方法は何でしょうか?クラウド時代の今日、迅速な解決策とより多くのリソースを必要とする深い解決策をまとめました。

迅速な解決策には、アプリケーションの動作環境を従来のオフライン IDC からクラウド環境に移行する再ホスト モデルが含まれます。このモデルでは、アプリケーションのアーキテクチャは変更されず、アプリケーションのリスクは比較的低いですが、価値の収益性は高いとしか言​​えません。対応するもう 1 つのソリューションは、プラットフォームを再構築することです。これは、アプリケーション全体の配信と運用および保守を変更することですが、アプリケーションのソフトウェア アーキテクチャは変更されません。

例えば、コンテナを使用して、ソフトウェア全体の保持と全体的な運用および保守の保持を変更します。このモデルでは、アーキテクチャの変更の範囲は比較的小さく、実装リスクは中程度であり、比較的高い価値リターンを得ることができます。

しかし、上記の問題を完全に解決したい場合は、ソフトウェア全体を再構築するアプローチを採用するか、ソフトウェアの重要なモジュールをリファクタリングする必要があります。これらのモードではソフトウェア アーキテクチャの変更が伴うため、実装のリスクも非常に高くなりますが、同様に高い投資と高いリスクには高いリターンももたらされます。変更されたアプリケーションにより、競合をより適切に解決できます。

すべてのソリューションはクラウド ネイティブと密接に関連しています。クラウド ネイティブが提案された主な理由は、企業がクラウドに移行した後、多くのアプリケーションがクラウドの特性をうまく活用できないことに気付いたためです。そのため、多くのアプリケーションはクラウドネイティブ アプリケーションではないと考える人もいます。そこでクラウドネイティブが提案されました。

クラウドネイティブの重要な意味

最初にクラウド ネイティブの定義については説明しません。ただし、クラウド ネイティブの 3 つの重要な意味合いを具体的に提示します。これら 3 つの意味合いを理解することは、クラウド ネイティブを使用して最新のアプリケーションを構築する方法を理解する上で非常に役立ちます。

クラウド ネイティブ テクノロジー:今日のクラウド ネイティブ テクノロジーには、クローズド ソースと多数のオープン ソース テクノロジーが含まれます。クローズド ソースは通常、アプリケーションに対して比較的透過的なクラウド ベンダーのインフラストラクチャに反映されます。同様に、すべてのアプリケーションがこれらのオープンソースのクラウドネイティブ テクノロジ スタック上に直接構築されるため、多数のオープンソース テクノロジはアプリケーションにとって非常に重要です。ただし、これらのアプリケーションが基盤となるクラウドネイティブ テクノロジーをより有効に活用したい場合は、通常、これらのシナリオのアプリケーションで多数のクラウドネイティブ製品を採用することをお勧めします。

クラウドネイティブ製品:一部の顧客のテクノロジー スタックは、オープン ソース テクノロジー スタックに基づいて構築されています。オープンソースのテクノロジー スタックは、多くのテクノロジー、機能、安定性において問題はありませんが、保守性や基盤となるインフラストラクチャとの調整において問題が生じる可能性があります。したがって、アプリケーションは可能な限りクラウドネイティブ製品上に構築することをお勧めします。

クラウド ネイティブ コンセプト:テクノロジーと製品は生産ツールであるため、テクノロジーと製品だけでは、上記のアプリケーションが直面するすべての問題を解決することはできません。生産ツールの変更は、多くの場合、企業全体の IT 文化、つまり生産関係の変化につながります。

IT 文化全体において、最も重要な役割を果たすのは、企業全体の生産プロセスと、生産プロセスにおける人々の協力関係です。クラウドネイティブのテクノロジーや製品はツールレベルで変化をもたらすため、必然的に生産ライン全体、つまり企業の生産プロセスにも変化をもたらします。

たとえば、既存のポジションの要件が変更された場合や、既存のポジションが存在しなくなった場合は、新しいポジションが作成されることがあります。このプロセスでは、人と人の間の協力関係を含め、人々が最も影響を受けます。したがって、クラウドネイティブを有効活用するためには、クラウドネイティブの技術や製品が企業全体の生産プロセスや生産ラインにもたらす変化、特に人や組織に必要なアップグレードに特に注意を払う必要があります。

1. クラウドネイティブはクラウドコンピューティングのアップグレードである

クラウド ネイティブは、誰もがクラウドをより適切に構築、使用、管理するのに役立つだけでなく、クラウド コンピューティング全体のアップグレードにもなります。

これはクラウド インフラストラクチャ レベルのアップグレードに反映されるだけではありません。つまり、クラウド コンピューティング プロバイダーは、現在提供されているインフラストラクチャではアプリケーションの要件を十分に満たすことができず、効率的な配信と運用および保守の面でアプリケーションのニーズをよりよく満たすために継続的にアップグレードする必要があることに気付くことになります。

同様に、アプリケーションの弾力性、回復力、および監視性を向上させるには、アーキテクチャの面でアプリケーションを徹底的にアップグレードする必要もあります。インフラとアプリケーションのアップグレードにより、研究開発全体の効率向上をさらに追求していきます。これには、サーバーレスなどの新しいコンピューティング形式を採用して、アプリケーションの全体的な配信と運用の効率を向上させること、そしてさらに重要なことに、頻繁に変更される IT システムにおける迅速な反復とシステムの安定性の間の矛盾を解決することが含まれます。

したがって、クラウド ネイティブはクラウド コンピューティングの全体的なアップグレードであると言えます。

2. モダンアプリケーションとは何ですか?

最新のアプリケーションとは何ですか? また、従来のアプリケーションとどう違うのですか?

最新のアプリケーションには、弾力性、可観測性と測定、ステートレス性、セキュリティなどの一般的な機能が含まれています。全体的なコンピューティング構造では、最新のアプリケーションはクラウドネイティブ アプリケーションと多くの類似点があることがわかります。両者の違いは、最新のアプリケーションは必ずしもクラウド上で実行する必要がないことです。

名前が示すように、クラウド ネイティブ アプリケーションは確かにクラウドに関連していますが、多くの共通の特性を持っています。これらすべてにおいて、アプリケーション全体をクラウドネイティブ テクノロジー製品上に構築する必要があります。これらのテクノロジーと製品は、アプリケーションがクラウドネイティブ アーキテクチャを採用するときに真に反映され、全体的な実装プロセス中にクラウドネイティブ開発コンセプトを徹底的に実装する必要があります。このようなアプリケーションだけが、さまざまなインフラストラクチャ上でより適切に実行できます。

アプリケーションをホスティングする際の重要な要素としてアーキテクチャが挙げられますが、クラウドネイティブ アーキテクチャの特徴は何でしょうか?

クラウドネイティブアーキテクチャ

クラウド ネイティブ アーキテクチャは、一連のアーキテクチャ原則、設計パターン、および設計方法の組み合わせです。この組み合わせは、伝統的な建築とは異なる非常に明白な特徴を持っています。

クラウド ネイティブ アーキテクチャは、アプリケーションから非機能的なコードを削除するのに役立ちます。従来のアプリケーションでは、多くのコードで非機能的な問題に対処する必要があります。クラウド ネイティブ アーキテクチャでは、この部分のコードは削除され、クラウド ネイティブ インフラストラクチャ、製品、テクノロジに配置されます。基盤となる PaaS プラットフォームと IaaS プラットフォームが顧客アプリケーションの非機能的な問題を処理するため、開発者はビジネス コードの作成に集中できるようになります。

このようなクラウドネイティブ アーキテクチャにより、アプリケーション内の多数の本来の非機能的機能を引き継ぐことで、本来は非機能的問題によって引き起こされる業務の中断を回避できると同時に、アプリケーションをより軽量で俊敏かつ高度に自動化することができます。

1. クラウドネイティブアーキテクチャの原則

クラウド ネイティブ アーキテクチャから、最も重要な 7 つのクラウド ネイティブ アーキテクチャの原則を抽出しました。

1. サービス指向の原則: マイクロサービスの粒度により、顧客アプリケーションの特性をより適切に満たすことができます。

2. 弾力性の原則: 仮想マシンからコンテナ、さらにはアプリケーション レベルまで、さまざまな弾力性が存在します。

3. 回復力原則: 高可用性原則をさらに改善し、さまざまな状況下でアプリケーションが顧客にサービスを継続的に提供できるようにします。

4. 観測可能性の原則:監視とは異なり、観測可能性モデルはログからリンク追跡まで大量の有効な情報を事前に提供できるため、システムの潜在的なリスクを積極的に発見できます。

5. 自動化の原則: 基盤となるハードウェアからソフトウェア、コンポーネントに至るまで、大幅な改善が行われていることから、自動化の原則を導入して、より効果的な運用と保守を実現し、運用と保守のコストを削減したいと考えています。

6. ゼロ トラスト原則: クラウド ネイティブ アーキテクチャはさまざまなアーキテクチャ上で実行できるため、セキュリティに対する新たな要件が提示されます。実行環境に関係なくすべてのアプリケーションが信頼されるわけではなく、実行中の各リクエストの正当性が検証される必要があります。

7. 継続的進化の原則: 企業の特性に基づいて、各段階で適切な進化目標を採用することができ、長期にわたる反復を経て、各目標は最終的に最新のアプリケーションに進化します。

2. 主なクラウドネイティブアーキテクチャパターン

下の図に示すように、クラウドネイティブ アーキテクチャ モデルは多数あります。詳しい情報については、最近公開された「Alibaba Cloud クラウドネイティブアーキテクチャプラクティス」を参照してください。

3. Alibaba Cloudのクラウドネイティブアーキテクチャアプローチ

クラウドネイティブアーキテクチャアプローチに関しては、ACNAアーキテクチャアプローチを提案しました。 Alibaba Cloud が開発したクラウドネイティブアーキテクチャ向けのアーキテクチャ設計手法です。クラウドネイティブアーキテクチャの評価システムと成熟度測定システムが含まれています。また、Alibaba Cloud が顧客のアプリケーションにクラウド ネイティブ テクノロジの変革を実装する過程で蓄積してきたベスト プラクティス、製品システム、テクノロジも含まれます。その中には建築的な視点もいくつかあります。私たちは、各企業が自社のビジネス状況に合った技術アーキテクチャ機能を選択し、最終的にビジネス開発や企業戦略の策定に役立つことを願っています。

4. Alibaba Cloudのクラウドネイティブアーキテクチャのクローズドループ

建築アプローチ全体は、複数の視点を含む複合体であり、その中で建築の継続的な進化を通じて閉じたループを形成することを望んでいます。

建築の閉ループ全体には、最も重要な 8 つの段階が含まれます。ビジネスの問題点の特定からアーキテクチャ目標の決定、リスク評価プロセスにおける適切なテクノロジの選択、反復計画の策定、実装計画の推進に至るまで、クラウドネイティブ アーキテクチャの実装中に全体的なリスクを確認する専門組織を企業に設置し、プロセス全体がクローズド ループを形成するようにすることをお勧めします。このプロセスでは、アーキテクチャ ガバナンスの観点に特別な注意を払う必要があります。これには、反復プロセス中にアプリケーションがアーキテクチャ ガバナンスを実行できるように対応する組織または担当者が支援することが必要です。

5. クラウドネイティブアーキテクチャの成熟度を測定する方法

ACNA では、クラウド ネイティブ アーキテクチャを測定するための成熟度モデルを提案しました。このモデルには 6 つの主要な次元があり、これを略して SESORA と呼んでいます。

これら 6 つの側面の機能は、現代のアプリケーションにおける最も重要な 6 つの主要指標でもあります。各指標は 0 から 3 までの 4 つのレベルに分かれており、各レベルには対応するスコアがあります。評価後、クラウド ネイティブ アーキテクチャ上のアプリケーションのスコアに関するスコアを取得できます。現在、Alibaba Cloud が提案する SESORA モデルは、業界の多くの機関や企業に採用されており、企業のクラウドネイティブ アーキテクチャ変革の成熟度の向上に役立っています。

顧客事例

最後に、典型的なケースを2つ見てみましょう。最初の事例は、Alibaba Cloud 上のアプリケーションがクラウドネイティブ製品を通じてシステムアーキテクチャ設計における安定性リスクを効果的に防止する方法です。当社ではマイクロサービスアーキテクチャモデルを採用しており、大量のデータはMongoDBに保存されます。このアーキテクチャでは、お客様は PTS、ARMS、AHAS を組み合わせて使用​​することで、システム内に潜在的なリスクがあるかどうかを積極的に検出し、安定性のリスクを防ぐことができます。

2 番目のケースは、マイクロサービス アプリケーションをクラウドに迅速に移行できるようにするという問題を解決する Serverless に関するものです。このプロセスでは、多くの問題を解決するためにアプリケーションが必要になることが多く、サーバーレス モードでは、これらの基盤となるデプロイメントの複雑さが大幅に軽減されます。

顧客のアプリケーションでトラフィックが急増すると、Serverless はそれを検出し、新しいトラフィックにタイムリーに対応できるように新しいリソースを積極的に要求します。突然のトラフィックがなくなった場合、Serverless はコストを削減するためにリソースを積極的に解放します。

オリジナルリンク: http://click.aliyun.com/m/1000282968/

<<:  エッジコンピューティング: 最速のデータ処理を支えるテクノロジー

>>:  フォレスターの最新データフロー分析レポート:アリババクラウドが強力なパフォーマンスを発揮する企業として選出

推薦する

百度が「熊張浩SEOガイド」をリリースし、検索の新時代を切り開く

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています最近、百度...

SEO品質の外部リンク:リンクを取得するのが難しいほど、価値が高くなります

みなさんこんにちは。Smelling the Roseです。 SEO 最適化を行うほとんどの人は、外...

racknerdはどうですか?米国中部データセンター、シカゴ AMD Ryzen 9 3900X シリーズ VPS レビュー

racknerdはどうですか? Racknerd は米国中部にダラスとシカゴの 2 つのデータセンタ...

CCTVニュースがXcodeGhost事件を報道

CCTVニュースチャンネルは本日正午、ニュースライブルーム欄でAppleのXcodeGhost事件を...

Baiduのホットワードを使ってオリジナル作品を簡単に作る方法

偽オリジナリティに対する私の嫌悪感は長年続いている。自分のウェブサイトを持つ前は、検索エンジンで検索...

疑似オリジナリティとは実際には何を意味するのでしょうか?

ウェブマスターの友人にとって、「疑似オリジナリティ」という言葉は馴染みのない言葉ではありませんが、す...

ブログコメントのメリットを最大限に活用する

何かをうまくやりたい、最短時間で終わらせたい、いわゆる高効率を求めるには、通常、何らかのコツや方法が...

クラウドコンピューティングの10年:序章、転換点、生死を賭けた戦い

2009年、第1回「中国クラウドコンピューティングカンファレンス」が北京で開催されました。 「中国」...

中国の海賊版ソフト王の地位を回復: 海賊版ディスクを販売していたが、クラックの方法を知らなかった

黄元「今年初めに記者から電話インタビューを受けるまで、私は彼について全く印象を持っていませんでした。...

リンク取引からの脱却についての簡単な議論

ご存知のとおり、検索エンジンはサイトが獲得したリンクの数と質を分析し、サイトを評価します。これは、最...

小紅書における美容業界のマーケティング動向の分析

小紅書の公式報告によると、2019年5月時点で、小紅書の登録ユーザー数は2億5000万人を突破した。...

クラウドへの移行を簡素化する新しいクラウドネイティブ オープンソース プロジェクト

エンタープライズ開発者は忙しいです。顧客の期待はかつてないほど高まっており、情報への高速かつ安全なモ...

企業ウェブサイトの重量を改善する秘訣:製品ページの内部リンクとエクスペリエンスを強化する6つの方法

多くの企業は多くの製品を持っていますが、製品ページの内容は非常に薄く、多くの場合、写真と数行のテキス...

強力で顧客中心の内部ページコピーを書くにはどうすればよいでしょうか?

以前お話しした4Pと4Cを覚えていますか?それぞれの特徴は主に4Pが製品中心、4Cが顧客中心であるこ...

dreamhost-50% オフプロモーション/無料ドメイン名 + 初年度無料

Dreamhost は、子供たちが学校に戻る前に半額プロモーションを開始します。当初月額 8.95 ...