[51CTO.com クイック翻訳] ガートナーのリサーチディレクターであるRaj Bala氏は、サーバーレス製品の最も優れた点の1つは、「これまでにないほどプログラミング言語とフレームワークを組み合わせることができる」ことだと述べています。つまり、たとえば、function-as-a-service (サーバーレス) プラットフォームを使用して、Python ライブラリを呼び出す Java アプリケーションを作成できます。 本当にクールですね。 しかし、これはまた、構造化されていない、保守が難しいコードであるスパゲッティ コードの新しい時代を意味する可能性もあります。モノリシック コードに別れを告げたからといって、「展開、通信、監視などに影響を与える分散システムの問題」に置き換わらないということではありません。従来のソフトウェア開発と同様に、保守が容易なマイクロサービスを開発するには、慎重かつ思慮深いアプローチが必要です。 マイクロサービスへの愛を広める Bala 氏は、サーバーレスと「単一目的のマイクロサービス」の主な利点の 1 つは、「1 つの言語、1 つのフレームワーク、さらには 1 つのデータベースに縛られることなく、適切なツールを適切な作業に使用できる」ことだと指摘しました。これにより、開発者は、ワークロードが急増し、潜在的に使用率が低下するモノリシック アプリケーションを作成する代わりに、一時的なサーバーレス関数に関連付けられたマイクロサービスを作成できるようになるため、作業が大幅に軽減されます。システムがアイドル状態のときはシャットダウンし、コストはかかりません。誰もが勝者です。 これにより、コードの保守も容易になります。モノリシック アプリケーションでは、すべての依存関係を最新の状態に保つことが難しいため、コードの更新が負担になる可能性があります。 Ophir Gross 氏は次のように指摘しています。「スパゲッティ コードには、使用されているインターフェイスのバージョンを確認し、正しいコードが実行されていることを確認するためのチェックが満載です。このコードは整理されていないことが多く、コードの変更によって開発段階では予測が困難だった領域の機能が影響を受けるため、メンテナンスに多大な労力がかかることがよくあります。」 対照的に、マイクロサービス ベースのアプローチでは、マイクロサービス内のコードはビジネスの 1 つの機能に限定されるため、理解しやすくなります。チームは、好みの実装手法とフレームワークを使用して、互いに独立して作業できます。 ただし、マイクロサービスには独自のリスクがないわけではありません。皮肉なことに、こうしたリスクの 1 つは、開発者が回避するために積極的にマイクロサービスを採用したスパゲッティ コードそのものかもしれません。 分散スパゲッティコード その他の複雑さ (より複雑なデバッグ、進化する API の課題、サービスで使用される API が最新の状態に保たれていることの確認) とは別に、マイクロサービスに関する 1 つの問題は、開発者がモノリシック アプリケーションを構築するのと同様の方法でマイクロサービスを構築したくなることです。 マイクロサービスは独立している必要があることに気付いていない人が多いです。たとえば、さまざまなサービスが作成されていても、単一のデータベースが共有されていることがよくあります。もう 1 つの問題は、人々がモノリシック アーキテクチャで慣れ親しんだ方法でプログラミングしているため、サービス間の同期呼び出しのチェーン (ネットワーク経由) が長くなりすぎることです。また、さまざまなサービスが互いに競合することによって生じる可能性のあるスパゲッティ構造にも注意が払われていません。 マイクロサービスを設計する上で重要なのは、「マイクロサービスの境界と接続方法を正しく定義することです。疎結合のサービスでは、関連する動作が 1 か所にまとめられ、連携するシステムの残りの部分についてはほとんど認識されません。」疎結合が重要です。限られた数のエンドポイントと非同期に通信し、共有データベースを持たないサービスを希望します。 もちろん、これによって「スパゲッティ コード 2.0」の可能性が排除されるわけではありません。そのパワーと利便性により、開発者はサーバーレス関数に対して多種多様な API 呼び出しを作成することになり、状況がすぐに混乱してしまう可能性があります。ただし、サービスが疎結合されていることを確認すると役立ちます。 原題: マイクロサービスを分散スパゲッティコードに変えるのを避ける方法、著者: Matt Asay [51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください。 |
<<: 全国の中小企業の業務再開に無料のクラウドリソースを提供するUCloudの防疫支援プランがアップグレードされました
>>: ビジネスに最適なクラウド プラットフォームを選択する方法
少し前に、私のブログがトップページから追い出され、百度上のすべてのキーワードが検索できなくなり、数日...
[51CTO.com クイック翻訳] Kubernetes は現在最も人気のあるテクノロジーの 1 ...
コンテンツは王様であり、外部リンクも王様です。これは SEO 業界の古典的な格言であり、実際の応用に...
投稿者のように、自分のウェブサイトを通じて中国の夢(家、車、家族)を実現することを夢見ている個人ウェ...
テクノロジーは光の速さで発展していると言っても過言ではありません。クラウド データ センター市場に遅...
今日、ますます多くの組織がビジネスをクラウドに移行しています。データ センターのライフサイクルの終わ...
朝早くからワクワクするニュースを見ました。Frontrangehosting が WireSix に...
デジタル ビジネス時代では、IT 運用、デジタル サービス、収益創出の間に直接的なつながりが生まれま...
現在、社会、メディア、消費者はいずれも変化しています。企業がそれに追いつきたいのであれば、それに応じ...
淘宝牌牌とは、淘宝と牌牌でのコンバージョン率を頼りにお金を稼ぐウェブマスターを指します。このタイプの...
運用をクラウドに移行することは、IT とビジネスの俊敏性を高めるための課題であることは広く認められて...
Justhost は一昨日、モスクワ データライン データセンターの VPS がネットワークの最適化...
現在最も人気のあるオンライン クラウド ストレージ サービスは、Google Drive、Dropb...
edgenat は 8 月に最新のプロモーションを実施します: 500 以上のチャージで 100 を...
インターネットの発展の歴史の中で、ブログはフォーラムの発展を覆し、Weiboはブログの発展を覆し、そ...