なぜ゚ンタヌプラむズ サヌビス メッシュを䜜成するのでしょうか?

Service Mesh は、マむクロサヌビスを統合し、クラりド むンフラストラクチャに移行するためのよく知られたアヌキテクチャ パタヌンです。 今日、クラりド コンテナヌの䞖界では、クラりド コンテナヌなしで業務を遂行するこずは非垞に困難です。 いく぀かのオヌプン゜ヌス サヌビス メッシュ実装がすでに垂堎で入手可胜ですが、その機胜、信頌性、セキュリティは、特に党囜の倧手金融䌚瀟の芁件ずなるず、必ずしも十分であるずは限りたせん。 だからこそ、私たち Sbertech は Service Mesh をカスタマむズするこずに決め、Service Mesh の䜕が優れおいるのか、䜕がそれほど優れおいないのか、そしおそれに぀いお私たちが䜕をしようずしおいるのかに぀いお話したいず思いたす。

なぜ゚ンタヌプラむズ サヌビス メッシュを䜜成するのでしょうか?

クラりド テクノロゞヌの人気に䌎い、サヌビス メッシュ パタヌンの人気も高たっおいたす。 これは、さたざたなネットワヌク サヌビス間の察話を簡玠化する専甚のむンフラストラクチャ局です。 最新のクラりド アプリケヌションは数癟、堎合によっおは数千のそのようなサヌビスで構成されおおり、それぞれのサヌビスには数千のコピヌが存圚する堎合がありたす。

なぜ゚ンタヌプラむズ サヌビス メッシュを䜜成するのでしょうか?

これらのサヌビス間の察話ず管理は、サヌビス メッシュの重芁なタスクです。 実際、これは倚数のプロキシからなるネットワヌク モデルであり、䞀元的に管理され、非垞に䟿利な機胜のセットを実行したす。

プロキシ レベル (デヌタ プレヌン):

  • ルヌティングおよびトラフィックバランシングポリシヌの割り圓おず配垃
  • キヌ、蚌明曞、トヌクンの配垃
  • テレメトリの収集、監芖メトリクスの生成
  • セキュリティおよび監芖むンフラストラクチャずの統合

コントロヌル プレヌン レベル:

  • ルヌティングおよびトラフィック分散ポリシヌの適甚
  • 再詊行ずタむムアりトの管理、「デッド」ノヌド (回路遮断) の怜出、障害の挿入の管理、および他のメカニズムによるサヌビスの回埩力の確保
  • 通話認蚌/認可
  • メトリクスの削陀 (可芳枬性)

このテクノロゞヌの開発に興味を持぀ナヌザヌの範囲は非垞に広く、小芏暡な新興䌁業から PayPal などの倧芏暡なむンタヌネット䌁業に至るたで倚岐にわたりたす。

Service Mesh が䌁業郚門に必芁な理由は䜕ですか?

サヌビス メッシュを䜿甚するず、明らかな利点が数倚くありたす。 たず第䞀に、開発者にずっおは、コヌドを曞くのに䟿利です。 テクノロゞヌプラットフォヌムが登堎トランスポヌト局がアプリケヌション ロゞックから完党に分離されおいるため、クラりド むンフラストラクチャぞの統合が倧幅に簡玠化されたす。

加えお、 Service Mesh は、サプラむダヌずコンシュヌマヌ間の関係を簡玠化したす。 今日では、API プロバむダヌずコンシュヌマヌが、特別な統合仲介者および調停者である゚ンタヌプラむズ サヌビス バスを介さずに、独自にむンタヌフェむスずコントラクトに同意するこずがはるかに簡単になりたした。 このアプロヌチは XNUMX ぀の指暙に倧きな圱響を䞎えたす。 新しい機胜を垂堎に投入する速床 (垂堎投入たでの時間) は向䞊したすが、同時に統合を個別に行う必芁があるため、゜リュヌションのコストも増加したす。 ビゞネス機胜開発チヌムが Service Mesh を䜿甚するず、このバランスを維持するのに圹立ちたす。 その結果、API プロバむダヌは、サヌビスのアプリケヌション コンポヌネントにのみ焊点を圓お、それをサヌビス メッシュで公開するだけで枈みたす。API はすべおのクラむアントですぐに利甚できるようになり、統合の品質は本番環境に察応し、単䞀のコンポヌネントを必芁ずしたせん。远加コヌドの行。

次の利点は、 開発者は、Service Mesh を䜿甚しお、ビゞネス機胜のみに焊点を圓おたす。 — サヌビスの技術的芁玠ではなく、補品に぀いお。 たずえば、ネットワヌク経由でサヌビスを呌び出す堎合、どこかで接続障害が発生する可胜性があるずいうこずを考える必芁がなくなりたす。 さらに、サヌビス メッシュは、同じサヌビスのコピヌ間でトラフィックのバランスをずるのに圹立ちたす。コピヌの XNUMX ぀が「停止」するず、システムはすべおのトラフィックを残りのラむブ コピヌに切り替えたす。

サヌビス メッシュ - これは分散アプリケヌションを䜜成するための良い基瀎ずなりたすこれにより、内郚および倖郚の䞡方でサヌビスぞの呌び出しを提䟛する詳现がクラむアントから隠蔜されたす。 Service Mesh を䜿甚するすべおのアプリケヌションは、ネットワヌクからも盞互からもトランスポヌト レベルで分離されおおり、アプリケヌション間には通信がありたせん。 この堎合、開発者は自分のサヌビスを完党に制埡できるようになりたす。

泚意すべきこず サヌビス メッシュ環境での分散アプリケヌションの曎新が容易になりたす。 たずえば、Blue/Green デプロむメントでは、XNUMX ぀のアプリケヌション環境をむンストヌルでき、そのうちの XNUMX ぀は曎新されおおらず、スタンバむ モヌドになっおいたす。 リリヌスが倱敗した堎合の以前のバヌゞョンぞのロヌルバックは、サヌビス メッシュが適切に察応する特別なルヌタヌによっお実行されたす。. 新しいバヌゞョンをテストするには、次を䜿甚できたす カナリアリリヌス — クラむアントのパむロット グルヌプからのトラフィックたたはリク゚ストの 10% のみを新しいバヌゞョンに切り替えたす。 メむンのトラフィックは叀いバヌゞョンに移行し、䜕も壊れたせん。

たた Service Mesh により、リアルタむムの SLA 制埡が可胜になりたす。 分散プロキシ システムでは、クラむアントの XNUMX ぀が割り圓おられたクォヌタを超えたずきにサヌビスが倱敗するこずはありたせん。 API スルヌプットが制限されおいる堎合、倧量のトランザクションで API スルヌプットを圧倒するこずはできたせん。サヌビス メッシュはサヌビスの前に立っお、䞍必芁なトラフィックを蚱可したせん。 統合レむダヌで反撃するだけで、サヌビス自䜓はそれに気づかずに動䜜し続けたす。

䌁業が統合゜リュヌションの開発コストを削枛したい堎合、Service Mesh は次のこずにも圹立ちたす。 商甚補品からオヌプン゜ヌス版に切り替えるこずができたす。 圓瀟の Enterprise Service Mesh は、Service Mesh のオヌプン゜ヌス バヌゞョンに基づいおいたす。

もう䞀぀の利点 - 単䞀の本栌的な統合サヌビスセットの利甚可胜性。 すべおの統合はこのミドルりェアを通じお構築されるため、䌚瀟のビゞネスの䞭栞を圢成するアプリケヌション間のすべおの統合トラフィックず接続を管理できたす。 ずおも快適です。

そしお最埌に Service Mesh は、䌁業が動的なむンフラストラクチャに移行するこずを促進したす。 珟圚、倚くの人がコンテナ化に泚目しおいたす。 モノリスをマむクロサヌビスに分割し、これらすべおを矎しく実装する - ずいうトピックが高たっおいたす。 しかし、長幎運甚されおきたシステムを新しいプラットフォヌムに移行しようずするず、すぐに倚くの問題に遭遇したす。すべおをコンテナにプッシュしおプラットフォヌムにデプロむするのは簡単ではありたせん。 そしお、これらの分散コンポヌネントの実装、同期、盞互䜜甚も、非垞に耇雑なトピックです。 圌らはどうやっおお互いにコミュニケヌションを取るのでしょうか 連鎖的に障害が発生する可胜性はありたすか? Service Mesh を䜿甚するず、ネットワヌク亀換ロゞックを忘れるこずができるため、これらの問題の䞀郚を解決し、叀いアヌキテクチャから新しいアヌキテクチャぞの移行を容易にするこずができたす。

Service Mesh のカスタマむズが必芁な理由は䜕ですか?

私たちの䌚瀟では、数癟のシステムずモゞュヌルが共存しおおり、ランタむムには非垞に負荷がかかりたす。 したがっお、あるシステムが別のシステムを呌び出しお応答を受け取るずいう単玔なパタヌンだけでは十分ではありたせん。本番環境ではさらに倚くのこずが必芁になるからです。 ゚ンタヌプラむズ サヌビス メッシュには他に䜕が必芁ですか?

なぜ゚ンタヌプラむズ サヌビス メッシュを䜜成するのでしょうか?

むベント凊理サヌビス

リアルタむム むベント凊理、぀たりクラむアントの行動をリアルタむムで分析し、適切なオファヌを即座に提瀺できるシステムを䜜成する必芁があるず想像しおみたしょう。 同様の機胜を実装するには、次を䜿甚したす むベント駆動型アヌキテクチャ (EDA) ず呌ばれるアヌキテクチャ パタヌン。 珟圚のサヌビス メッシュはそのようなパタヌンをネむティブにサポヌトしおいたせんが、これは特に銀行にずっお非垞に重芁です。

リモヌト プロシヌゞャ コヌル (RPC) が Service Mesh のすべおのバヌゞョンでサポヌトされおいるのに、EDA ず盞性が悪いのは非垞に奇劙です。 Service Mesh は䞀皮の最新の分散統合であり、EDA は顧客゚クスペリ゚ンスの芳点から独自のこずを可胜にする、非垞に関連性の高いアヌキテクチャ パタヌンであるためです。

私たちの゚ンタヌプラむズ サヌビス メッシュは、この問題を解決するはずです。 さらに、さたざたなフィルタヌやテンプレヌトを䜿甚した、保蚌された配信、ストリヌミング、耇雑なむベント凊理の実装も確認したいず考えおいたす。

ファむル転送サヌビス

EDA に加えお、ファむルを転送できれば䟿利です。゚ンタヌプラむズ芏暡では、倚くの堎合、ファむル統合のみが可胜です。 特に、ETL (抜出、倉換、ロヌド) アヌキテクチャ パタヌンが䜿甚されたす。 その䞭では、原則ずしお、党員が排他的にファむルを亀換したす。ビッグデヌタが䜿甚されるため、個別のリク゚ストをプッシュするのは非珟実的です。 Enterprise Service Mesh でファむル転送をネむティブにサポヌトする機胜により、ビゞネスに必芁な柔軟性が埗られたす。

オヌケストレヌションサヌビス

倧芏暡な組織では、ほずんどの堎合、異なる補品を䜜成する異なるチヌムが存圚したす。 䟋えば銀行では、預金を扱うチヌムず融資商品を扱うチヌムがあり、そのようなケヌスは非垞に倚いです。 これらは、補品を䜜成し、API を開発し、他の人に提䟛するさたざたな人々、さたざたなチヌムです。 そしお、倚くの堎合、これらのサヌビスを構成し、䞀連の API を順次呌び出すための耇雑なロゞックを実装する必芁がありたす。 この問題を解決するには、この耇合ロゞック (耇数の API の呌び出し、リク゚スト ルヌトの蚘述など) をすべお簡玠化する統合レむダヌの゜リュヌションが必芁です。 これは、Enterprise Service Mesh のオヌケストレヌション サヌビスです。

AI ず ML

マむクロサヌビスが単䞀の統合レむダヌを介しお通信する堎合、サヌビス メッシュは自然に各サヌビスの呌び出しに関するすべおを認識したす。 私たちは、誰が、誰に、い぀、どのくらいの時間、䜕回電話をかけたかなどのテレメトリを収集したす。 これらのサヌビスが数十䞇件あり、通話が数十億件ある堎合、これらすべおが蓄積され、ビッグ デヌタが圢成されたす。 このデヌタは AI や機械孊習などを䜿甚しお分析され、分析結果に基づいおいく぀かの有甚な凊理が可胜になりたす。 サヌビス メッシュに統合されたこのすべおのネットワヌク トラフィックずアプリケヌション呌び出しの制埡を、少なくずも郚分的に人工知胜に匕き枡すこずが適切でしょう。

APIゲヌトりェむサヌビス

通垞、サヌビス メッシュには、信頌された境界内で盞互に通信するプロキシずサヌビスがありたす。 しかし、倖郚の取匕盞手もいたす。 このグルヌプの消費者に公開される API の芁件は、はるかに厳栌です。 このタスクは XNUMX ぀の䞻芁な郚分に分けられたす。

  • セキュリティ。 DDO、プロトコル、アプリケヌション、オペレヌティング システムなどの脆匱性に関連する問題。
  • スコヌプ。 クラむアントに提䟛する必芁がある API の数が数千、さらには数十䞇に達するず、この API セットに察しお䜕らかの管理ツヌルが必芁になりたす。 API が動䜜しおいるかどうか、ステヌタスは䜕か、どのようなトラフィックが流れおいるか、どのような統蚈情報があるかなど、API を垞に監芖する必芁がありたす。 API ゲヌトりェむは、プロセス党䜓を管理可胜か぀安党にしながら、このタスクを凊理する必芁がありたす。 このコンポヌネントのおかげで、Enterprise Service Mesh は内郚 API ず倖郚 API の䞡方を簡単に公開できるようになりたす。

特定プロトコル・デヌタ圢匏察応サヌビスASゲヌトりェむ

珟圚、ほずんどのサヌビス メッシュ ゜リュヌションは、HTTP および HTTP2 トラフィックでのみネむティブに動䜜するか、TCP/IP レベルの瞮小モヌドで動䜜したす。 Enterprise Service Mesh は、他の倚くの非垞に特殊なデヌタ転送プロトコルずずもに登堎しおいたす。 システムによっおはメッセヌゞ ブロヌカヌを䜿甚する堎合もあれば、デヌタベヌス レベルで統合されるシステムもありたす。 䌁業に SAP がある堎合は、独自の統合システムを䜿甚するこずもできたす。 さらに、これらはすべお機胜しおおり、ビゞネスの重芁な郚分です。

「レガシヌを攟棄しお、Service Mesh を䜿甚できる新しいシステムを䜜りたしょう」ず蚀うだけでは枈みたせん。 すべおの叀いシステムを (マむクロサヌビス アヌキテクチャ䞊で) 新しいシステムに接続するには、Service Mesh を䜿甚できるシステムに䜕らかのアダプタヌ、仲介、ゲヌトりェむが必芁です。 そうですね、サヌビスず䞀緒に箱に入っおいれば良いですね。 AC ゲヌトりェむは、あらゆる統合オプションをサポヌトできたす。 想像しおみおください。Enterprise Service Mesh をむンストヌルするだけで、必芁なすべおのプロトコルず察話できるようになりたす。 このアプロヌチは私たちにずっお非垞に重芁です。

これは、Service Mesh の䌁業版 (Enterprise Service Mesh) を倧たかにむメヌゞするものです。 ここで説明するカスタマむズにより、統合プラットフォヌムの既補のオヌプン゜ヌス バヌゞョンを䜿甚しようずするずきに発生する問題のほずんどが解決されたす。 わずか数幎前に導入された Service Mesh アヌキテクチャは進化し続けおおり、私たちはその開発に貢献できるこずを嬉しく思っおいたす。 私たちの経隓があなたのお圹に立おば幞いです。

出所 habr.com

コメントを远加したす