[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の防疫支援プランがアップグレードされました
>>: ビジネスに最適なクラウド プラットフォームを選択する方法
fastervm は新年のプロモーションを提供します: C3 データセンターの VPS、KVM 仮想...
この記事は、書籍『ビッグデータの時代』の第 7 章「リスク」の内容に基づいた著者の見解をまとめたもの...
世界のモバイルライブストリーミングアプリケーションの収益は、2020年以降2年連続で急成長を遂げてい...
レインボーネットワーク(imidc)の香港・台湾の専用サーバーやVPSが最近とても人気です。特別価格...
みなさんこんにちは。私は徐丹丹です。今日は口コミによるマーケティング手法をいくつか紹介します。3W ...
6月以来、百度は大規模なKステーションを実施し、多くの中小企業のウェブサイトランキングが一夜にして解...
検索エンジンのアルゴリズムが継続的に変更され、特にGreen RadishやPomegranateな...
百度はここ2日間でアップデートされ、多くのウェブサイトに含まれる外部リンクの数が急増しました。多くの...
近年、SEO 業界がますます多くの企業に評価されるようになり、SEO 業界はますます人気が高まってい...
最近では、主要なウェブマスターフォーラムのすべてに、48時間以内にBaiduでトップ3にランクインす...
かつてインターネットの「エース」だったヤフーの中国における領域は再び「縮小」している。 Yahooフ...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています今日、イン...
ウェブサイト運営のSEOは、1.専門性、つまりレイアウトと基盤2.コンテンツ3.外部最適化に分かれて...
新しいタイプのクラウド サービス モデルである統合プラットフォーム (iPaaS) は、さまざまなサ...
私の性格によるのかもしれませんが、しばらく仕事をしていると、混乱期に陥ってしまいます。私はいつも、自...