ホームページ > テクノロジー周辺機器 > IT業界 > クラウドの加速:クラウドネイティブへの投資

クラウドの加速:クラウドネイティブへの投資

尊渡假赌尊渡假赌尊渡假赌
リリース: 2025-02-09 10:20:18
オリジナル
127 人が閲覧しました

Accelerating the Cloud: The Investment to Go Cloud Native

この記事は、Ampere Computingの「Accelerating Cloud Computing」シリーズの2番目の部分です。最初のパート[こちら]を読むことができます(こちらのパート1リンクと交換してください)。

あなたが思っているよりも、アプリをクラウドネイティブコンピューティングプラットフォームをAmpereに移行する方がはるかに簡単です。これは、ARMベースのサーバーへのアプリケーションを再配置する作業のほとんどがすでにあなたのために行われているか、それを再コンパイルするためです。

要するに、AmpereのCloud-NativeプロセッサはARM命令セットアーキテクチャ(ISA)を使用しているため、ARMで実行されているソフトウェアもAmpereで実行できます。過去5年間、オープンソースコミュニティのARMに対するサポートは指数関数的に成長し、さまざまな新しいソフトウェアとサービスが出現しました。たとえば、Redis、Nginx、Memcached、MySQL、Cassandraなどのアプリケーションは、すでに実績のあるアームベースのバージョンを提供しています。

これは開発者にとって何を意味しますか?企業が使用するソフトウェアのほとんどは、すでにクラウドで実行されているか、クラウドネイティブ環境の準備ができている可能性があります。

オペレーティングシステム(OS):ほとんどすべての利用可能なオペレーティングシステムは、ARM ISAに移植され、アームベースのコアで実行されています。その結果、Ampereのクラウドネイティブプロセッサは、クラウドで使用される主要なオペレーティングシステムのリリースされたバージョンをサポートしています。

信頼性とパフォーマンスをさらに保証するために、アンペアクラウドネイティブプロセッサのオペレーティングシステムのパブリックイメージと事前にパッケージ化されたアプリケーションをテストおよび検証します。このようにして、開発者はアプリケーションがアンペアでシームレスに実行できることを確認できます。

事前梱包されたコード:通常、アプリケーションの大部分は、パッケージ化されたアプリケーションコンポーネントを使用して構築されます。これらのアプリケーションのほとんどのアームベースのパブリック画像(MySQL、PostgreSQL、Cassandra、Nginx、およびSquidからさまざまなアプリケーションへ)は、Ampere Cloudネイティブプロセッサでテストおよび検証されています。したがって、クラウドネイティブコンピューティングプラットフォームのアプリケーションを準備するこの部分は比較的簡単です。すでに提供されているアームベースのミラーを使用するだけです。複雑な移植やソフトウェアの書き換えは必要ありません。

言語のコンパイル:一般的に言えば、Ampereで実行するためにコンパイルする必要があるコードに起因するWebサーバーを再配置するときに発生する重要な問題のほとんど。 GO、C、C、C、Cなどの言語で記述されたコードの場合、既存のバイナリがX86環境用に構築されているため、再配置プロセスには追加のステップが必要です。プログラミング言語の大部分はARMおよびX86で利用可能であるため、ほとんどの再配置の問題は、正しいバイナリを生成するためにAmpereビルドノードでビルドスクリプトを実行する必要があります。

内部/カスタマイズ:カスタムアプリケーションは、解釈、高度、バイナリ、ハードウェア固有の4つのタイプに分けることができます。

  • 説明コード:JavaやPythonなどの解釈言語で記述されている補償コードは、クラウドネイティブのプラットフォームで非常に簡単に再展開できます。コードは解釈および実行されるため、コードを変更せずにクラウドネイティブコンピューティングプラットフォームで実行できます。代わりに、コードはx86の代わりにアーム用にコンパイルされたインタープリターで実行されます。通常、クラウドネイティブプロセッサの通訳を再配置することは、画像が存在しない場合に数分で実行できる簡単なプロセスです。
  • Advanced Code:クラウドネイティブプラットフォーム用のC/Cなどの高レベルの言語で記述されたコードを比較的簡単に準備することもできます。ほとんどの場合、ARM ISAのためにアプリケーションを再コンパイルする必要があります。通常、これは、x86の代わりにコンパイラをアームに構成するだけで管理されます。コンピレーションプロセス中に警告やエラーが発生した場合、これらの問題は通常簡単に解決したり、問題がないことを確認できます。
  • バイナリファイル:多くのアプリケーションで最も一般的な再展開の問題は、バイナリファイルの使用です。バイナリファイルは、アプリケーションに含まれるコード(通常はライブラリ)です。これには、アプリケーションの依存関係であるバイナリ形式でのみ利用可能な製品が含まれる場合があります。アプリケーションを構築する前に、コードの依存関係を確認し、使用するバイナリがX86ベースではなくARMベースであることを確認してください。
  • ハードウェア固有のコード:特定のプロセッサ向けに記述されたコード、またはパフォーマンス目的で特定のプロセッサ関数を使用するコード(グラフィックライブラリなど)には、制限された移植が必要になる場合があります。これは、利用可能な特定のアームバージョンがない場合にのみ発生します。とにかく、移植プロセスは通常簡単で、せいぜい数時間で完了することができます。

現実世界の再配置

アプリケーションをAmpere Cloudネイティブプロセッサに再デプロイするために必要なことを見てみましょう。開発者が自分で管理する必要がないため、大規模なキャッシュを管理するサービスを提供することに専念するMomentoを考えてみましょう。 Momento Serverlessキャッシュは、Twitterの特定のキャッシュニーズ向けに設計されたオープンソースキャッシュエンジンであるPelikanに基づいて構築されています。 Pelikanは最近Rustで完全に書き直されました。 Momentoは、GoogleがホストしたアンペアベースのTau T2A仮想マシンでPelikanを再デプロイしたいと考えています。

赤い展開は、ペリカンとモーメントサーバーレスのキャッシュをアップして実行するためにコードを変更することなく、高速でシームレスです。さらに、Momentoチームは、いくつかの簡単な最適化(コードの調整は不要)を実装することができ、スループットがすぐに3倍になりました。このシリーズのパート4で期待できるパフォーマンスの利点を詳細に見てみましょう。

再展開のもう1つの例はPleskです。 Pleskのソフトウェアにより、人々は中央のコントロールパネルを介してWebインフラストラクチャを管理できます。 Pleskのビジネス開発および戦略的同盟の上級副社長であるLukas Hertigは、再展開プロセスでの彼自身の経験について説明しました。 「最初はクレイジーなアイデアを持っていました。数週間後、私のエンジニアリングチームが戻ってきて、「ああ、今ははるかに速いです!」

PleskはSMBフィールドにサービスを提供しており、クラウドネイティブを選択することは明らかではありません。しかし、Hertigは、再配置の直後に、「私たちは生産において1,000の腕のインスタンスを超えています。アームとオープンソースコミュニティは、ARMクラウドエコシステムの開発と拡大において素晴らしい仕事をしました。もちろん、アプリケーションをクラウドネイティブコンピューティングプラットフォームに再配置する複雑さは、コードを入手する場所によって異なります。ただし、一般的に言えば、クラウドネイティブプロセッサへのほとんどのアプリケーションを再配置することへの投資は最小限であり、アプリケーションの80〜90%を再コンパイルするだけでよいです。

このシリーズの第3部では、クラウドネイティブの再配置プロセスをさらに調査します。

以上がクラウドの加速:クラウドネイティブへの投資の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート