日本語版
最新ニュース
科学&テクノロジー

モノリシック アプリをマイクロサービスに移行するための 4 つの戦略

DevOps チームは、モノリシック アプリケーションを分散コンテナ化アーキテクチャに移行するという、信じられないほどのプレッシャーにさらされています。 Kubernetes ソフトウェア配信ライフサイクル (SDLC) を最適化します。 彼らは、リリース サイクルを短縮し、展開の変更を容易にし、依存関係による脆弱性を軽減しようとしています。 これらの要求により、モノリシック アプリケーションからの移行が推進されています。モノリシック アプリケーションでは、1 つの変更でスタック全体を再構築する必要があるため、最新の要件に対応するのが困難です。 Cloud Native Computing Foundation によると (CNCF) 2022 年年次調査、 組織の 79% チームが個々のサービスを簡単に反復できるようにするマイクロサービス アーキテクチャに移行しています。 多くの組織にとって、リフトアンドシフト アプローチを採用することは、モノリシック アプリケーションを Kubernetes およびマイクロサービスに移行するための最初のステップです。 これには、クラウドでホストされているハードウェアにモノリスを直接持ち上げてから、アプリを徐々にマイクロサービスに分割することが含まれます。 ただし、組織はモノリスをクラウド向けに最適化するためにリファクタリングする必要があるため、リフトアンドシフトの哲学には課題があります。 したがって、多くの場合、アプリケーション サービスをサービスごとにコンテナ化されたアーキテクチャにリファクタリングする方がコスト効率が高くなります。 以下は、DevOps チームが効率的に移行するために従うことができる 4 つのベスト…

モノリシック アプリをマイクロサービスに移行するための 4 つの戦略

1709449931
2024-02-25 15:15:24

DevOps チームは、モノリシック アプリケーションを分散コンテナ化アーキテクチャに移行するという、信じられないほどのプレッシャーにさらされています。 Kubernetes ソフトウェア配信ライフサイクル (SDLC) を最適化します。 彼らは、リリース サイクルを短縮し、展開の変更を容易にし、依存関係による脆弱性を軽減しようとしています。

これらの要求により、モノリシック アプリケーションからの移行が推進されています。モノリシック アプリケーションでは、1 つの変更でスタック全体を再構築する必要があるため、最新の要件に対応するのが困難です。 Cloud Native Computing Foundation によると (CNCF) 2022 年年次調査、 組織の 79% チームが個々のサービスを簡単に反復できるようにするマイクロサービス アーキテクチャに移行しています。

多くの組織にとって、リフトアンドシフト アプローチを採用することは、モノリシック アプリケーションを Kubernetes およびマイクロサービスに移行するための最初のステップです。 これには、クラウドでホストされているハードウェアにモノリスを直接持ち上げてから、アプリを徐々にマイクロサービスに分割することが含まれます。 ただし、組織はモノリスをクラウド向けに最適化するためにリファクタリングする必要があるため、リフトアンドシフトの哲学には課題があります。 したがって、多くの場合、アプリケーション サービスをサービスごとにコンテナ化されたアーキテクチャにリファクタリングする方がコスト効率が高くなります。

以下は、DevOps チームが効率的に移行するために従うことができる 4 つのベスト プラクティスです。 モノリスからマイクロサービスへ コンテナ化されたKubernetes環境で。

1. モノリスを理解する

モノリシック アプリケーションは、多くの場合、複雑で脆弱な依存関係の網を破壊することで簡単に破壊されてしまいます。 その結果、モノリスをクラウドやコンテナに移行する際、特に DevOps チームが明確な計画を持たずに作業を進めた場合には、突然の予期せぬ中断がほぼ避けられません。 予期せぬ事態を避けるために、移行プロジェクトの前にモノリスの依存関係とビジネス機能を完全に計画してください。

モノリスの依存関係を手動でマッピングする場合、その複雑さを考慮すると、人的エラーのリスクが高くなります。 したがって、アプリケーションのバックエンド コンポーネントとフロントエンド コンポーネント間の関係を理解するには、アプリをリアルタイムで視覚化できる自動化されたソリューションを使用することが役立ちます。 トランザクション追跡からのテレメトリ データを使用するアプリケーション トポロジ マッピングは不可欠であり、チームがモノリシック アプリケーションとそのコンポーネントの正確な視覚的表現を構築できるようになります。

2. 段階的なアプローチをとる

コンテナ化された Kubernetes 環境用のモノリシック アプリケーションのリファクタリングは膨大な作業であり、多くの場合、再構築と最初からの再構築が必要になります。 これを念頭に置いて、移行を小規模で段階的な、より管理しやすいジョブに分割することが重要です。

モノリスをマッピングした後、 DevOps チーム コンポーネントを一度に 1 つずつマイクロサービスに置き換えることができます。 チームは個々のマイクロサービスを作成するときに、それらをテストしてモノリスと比較し、新しいサービスがパフォーマンスと機能にどのような影響を与えるかを確認できます。 その後、マイクロサービスがモノリスの機能を正常に複製すると、チームはそれぞれのコンポーネントのモノリスへの依存関係を削除して、次のコンポーネントに進むことができます。

3. マイクロサービスを疎結合にする

モノリシック アプリ内の依存関係は深く絡み合っています。 コンポーネント間のこうした緊密な関係は、柔軟な変更やデプロイメントを妨げるため、Kubernetes やマイクロサービスへの移行の背後にある原動力の 1 つとなっています。

アプリケーションをマイクロサービス アーキテクチャに移行する場合、チームはサービス間のすべての依存関係を理解し、それらの依存関係を可能な限り削減および合理化することが重要です。 非同期メッセージングが鍵となり、キューを使用してメッセージを送受信することでサービスが通信できるようになります。 非同期メッセージングを採用することで、マイクロサービス間の通信でボトルネックが発生しにくくなり、同時に個々のマイクロサービスの編集や置き換えもはるかに簡単になります。

4. エンドツーエンドの可観測性を実装する

モノリスから Kubernetes 上のコンテナ化されたサービスに移行すると、アプリケーションにはより多くのサービスとサポート テクノロジが互いに独立して実行されることになり、アプリケーションがより複雑になる可能性があります。 コンポーネントの数を考慮すると、DevOps チームがコンポーネント間のすべての依存関係を手動で追跡するのは困難な場合があります。 チームは移行前にモノリスのマップを作成する必要があるのと同様に、マイクロサービス環境のマップをエンドツーエンドの可観測性で維持する必要もあります。

実際には、これは、クラウド テクノロジー スタック内のコンポーネントからのログ、メトリクス、トレースなどの可観測性データを使用して、サービスの関係とアプリケーションの依存関係を理解することを意味します。 これ 可観測性も拡張する必要がある 各 Kubernetes クラスター、ノード、ポッドと、それら上で実行されているワークロードにアクセスします。 問題が発生した場合、DevOps チームは可観測性データを使用して問題の根本原因を特定し、問題を迅速に解決できます。

最も効果を発揮するには、チームはアプリケーション インフラストラクチャ全体からの可観測性データとセキュリティ データを統合するプラットフォームを使用する必要があります。 この統合プラットフォームは、環境の健全性について正確な回答を提供する AI 機能を活用して、チームが問題のトリアージ、説明、修復に関する作業の多くを自動化できるようにする必要があります。

Kubernetes ベースのマイクロサービスへの移行には最新の技術が不可欠

モノリスからコンテナ化されたマイクロサービスへのアプリケーションの移行は、複雑で時間がかかる場合があります。 ただし、移行が完了すると、DevOps チームはより自由に反復的かつ柔軟に行動できるようになり、同時にクラウド サービスを最大限に活用できるようになります。

移行を可能にするためにチームが完了する作業の多くは、将来にわたって恩恵をもたらします。 エンドツーエンドの可観測性や AI など、移行を促進する最新のテクノロジーを採用することで、チームはマイクロサービス環境を継続的に監視して最適化し、可能な限り最高のユーザー エクスペリエンスとビジネス成果を提供できるようになります。 これらの手法は、変革の取り組みを強化し、組織が永続的な競争上の優位性を達成するのに役立ちます。

グループ スケッチで作成されました。

#モノリシック #アプリをマイクロサービスに移行するための #つの戦略

執筆者について: nipponese

Nipponese News編集部は、国内外のニュースを日本語で分かりやすくお届けします。