クラウドでマイクロサービスをデバッグする方法

クラウドでマイクロサービスをデバッグする方法

[[390478]]

マイクロサービスのデバッグは作業者にとって困難に思えるかもしれませんが、適切なツールと戦略を導入することで作業が楽になります。

情報アーキテクチャの成長により、多くの組織がクラウド サービスを導入し、時間の経過とともに成長してきました。マイクロサービスはこの点で先頭に立っており、さまざまなアプリケーションを独立して展開可能なサービスとして設計する手法として急速に人気が高まっています。

O'Reilly の調査では、回答者の 50% 以上が、組織内の新規開発プロジェクトの 50% 以上でマイクロサービスが使用されていると回答しました。

シングルチップ システムでは、モジュール内の 1 つのエラーが原因でアプリケーション全体が失敗する可能性があります。独立したモジュールを使用すると、開発者は独立したモジュールへの影響を心配することなく、カスタマイズ可能なコードを編集および展開する柔軟性が高まります。

ただし、このアプローチでは、エラーが誤って発生した場合に特有の課題が生じます。クラウドでのマイクロサービスのデバッグは、情報アーキテクチャの複雑さと、開発フェーズから運用フェーズへの移行により、困難な作業になる可能性があります。

いくつかの課題と、それらをシームレスに対処する方法について見てみましょう。

マイクロサービスのデバッグの課題

(1)追跡と観察が不十分

マイクロサービス要件の増加に伴い、インフラストラクチャの複雑さも増しています。各クラウド コンポーネント、モジュール、サーバーレス呼び出しでは、インフラストラクチャの複雑さが隠れていることが多く、DevOps チームや運用チームが出力に基づいてマイクロサービスの内部状態を追跡および観察することが困難になります。独立して実行されるマイクロサービスでは、非同期モジュールに存在するユーザー要求を追跡することが困難であり、エラーの連鎖複製につながる可能性があります。これは、相互に検出して対話するサービスがこれらのバグの影響を受ける可能性があることも意味します。これらの要因により、バグやエラーの根本原因を特定することは開発者にとって困難な作業になります。

(2)複雑な環境下での状態監視

多くのマイクロサービスが集まってシステムを構築すると、それらのステータスの監視が複雑になります。システムにマイクロサービス コンポーネントが追加されるにつれて、各モジュールが独立して動作する複雑なサービス メッシュが進化します。これにより、他のモジュールの動作に影響を与えることなく、いつでも任意のモジュールが故障する可能性も生じます。

開発者は、特定のマイクロサービス内のエラーをデバッグするのが難しいと感じるかもしれません。これらはそれぞれ異なるプログラミング言語でコーディングでき、独自のログ記録機能を備えており、他のコンポーネントからほとんど独立しています。

(3)開発から生産への移行は予測不可能である可能性がある

コードを開発環境から本番環境に移行する場合、パフォーマンスや状態のエラーも予測できません。統合および単体テストを行った後でも、分散サーバー間で何千ものリクエストを処理するときにコードがどのように実行されるかを予測することはできません。コードが適切に拡張されなかったり、データベースがリクエストを処理できなかったりすると、開発者がシステム内の潜在的なバグを検出することはほぼ不可能になります。

クラウドでマイクロサービスをデバッグする方法

ここでは、組織が以下の課題に対処するのに役立つ、マイクロサービス固有のデバッグ アプローチをいくつか紹介します。

(1)非侵入型デバッグオプション

従来のデバッグ方法とは異なり、サードパーティのツールを使用すると、DevOps チームはサービスを中断または一時停止してデバッグ プロセスの実行に影響を与えないブレークポイントを設定できます。これらの方法は非侵入的であり、開発者はグローバル変数とスタック トレースを表示できるため、エラーをより効果的に監視および検出できます。また、開発者はコードを停止したりコードベースを再デプロイしたりすることなく、発生する可能性のある問題をテストすることもできます。

(2)可観測性向上ツール

多数のマイクロサービスを持つシステムでは、リクエストを追跡するのが困難になります。この問題の解決策として、可観測性のためのカスタム プラットフォームを構築することが考えられるかもしれませんが、開発プロセス中に多くの時間とリソースが消費されます。

幸いなことに、多くの最新のサードパーティ ツールはリクエストを追跡するように設計されています。マイクロサービスに広範な可観測性を提供します。これらのツールは、分散コンピューティング機能やサーバーレス コンピューティング機能など、多くの機能を提供します。

たとえば、Thundra のようなツールを使用すると、組織は運用中のインフラストラクチャを通過するユーザー リクエストを監視し、開発者がコーディング環境を完全に可視化し、エラーの原因を特定して、迅速にデバッグできるようになります。

(3)自律例外追跡

システムにとって、まず認識すべきことは、エラーを見つけることは難しい作業だということです。システムは、発生した異常を自動的に追跡し、うるう年のバグ、ブラウザのバージョン固有のバグ、奇妙なスタック オーバーフローなどの繰り返し発生するパターンや破壊的な動作をシステムが識別できるようにする必要があります。

ただし、これらのエラーを見つけることは戦いの半分にしか過ぎません。また、システムでは、エラーがいつ、どのような条件で発生したかを調べるために、変数とログを追跡する必要があります。これにより、開発者はバグを排除するための最も効果的なソリューションを見つけることができます。包括的な監視により、運用時のデバッグ プロセスが大幅に簡素化されます。

クラウドでのデバッグは難しいことではありません

現代のマイクロサービスでは、デバッグは誰にとっても非常に複雑なプロセスです。ユーザーリクエストを追跡し、コードのスケーラビリティを予測する機能は複雑です。ただし、最新のツールを使用すると、開発者はエラーを簡単に監視、検出、解決できるようになります。

迅速にデプロイ可能なマイクロサービス アーキテクチャを設計し、適切なツールセットを使用すると、開発者によるデバッグがはるかに簡単になります。

<<:  SaaS の 4 つの不平等を理解していますか?

>>:  新たな勢い、新たなチャンス: SaaS ソフトウェア プロバイダー Zoho が 25 周年戦略をアップグレード

推薦する

エッジコンピューティングがメキシコのファーストフードの世界的リーダーであるタコベルのデジタル化を推進

タコベルは、顧客が注文を行うための複数のデジタル方法をサポートするためにエッジコンピューティングを積...

建国記念日65周年キックオフイベント!

今年のTフロアイベントは、ASフォーラム(私が設立)の水上エリアにて午後9時から開催される予定です!...

[速報] Google、コアアルゴリズムとSERP PCアップグレードのプレビューを開始

元旦の直後から、Google は仕事のリズムに入り、コア アルゴリズムのアップグレードと SERP ...

alpharacks - 安価、年間 4 ドルの VPS の簡単なレビュー

私は alpharacks.com の安い製品について決して楽観的ではありませんでしたが、なぜ多くの...

草の根の大口アカウントの離脱はWeiboのコンテンツエコシステムにとって良いことだ

内容の同質性が深刻で、Weiboを盗用し、広告を露骨に転送する多くの草の根アカウントは、実はウェブマ...

なぜWeiboマーケティングを行うのでしょうか?

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービス1. なぜWeiboを使...

Virmach: 今年のフラッシュセールが近づいています。VPS は年間 2.5 ドルで入手可能になるかもしれません

毎年恒例のビルマックがようやくやって来ました。少し遅れましたが、諺にあるように「遅くてもやらないより...

パスワード保護: zhujiceing.com、archive.org/web/

このコンテンツはパスワードで保護されています。アクセスするには、下のフィールドにパスワードを入力して...

河南新郷市とファーウェイが共同でクラウドコンピューティングとビッグデータオープン協力会議を開催し、クラウド産業の発展を促進

2017年11月10日、深センで「新郷国家自主革新実証区とファーウェイ・新郷クラウドコンピューティン...

Baidu とウェブマスター: ウェブサイトの登録と削除、SEO について

Baidu ウェブサイトの「Baidu とウェブマスター」セクションの内容が更新され、調べる価値のあ...

分析: データセンターに仮想化を導入する 10 のメリット

あなたの会社がホスト型データセンターへの移行を検討している場合、またはオンプレミスのデータセンターを...

老ウェブマスターの「本音の告白」 - SEO サービス プロバイダーを選ぶための 5 つのヒント

草の根ウェブマスターは、現在のウェブマスター人口の主体と言えます。誰の目にも、草の根ウェブマスターは...

IBM、次世代クラウドコンピューティング向けの初のマルチクラウド管理ソリューションを発表

[[249529]] IBM Watsonおよびクラウドプラットフォーム担当グローバルゼネラルマネー...