ホームページ > ウェブフロントエンド > jsチュートリアル > ローカルからグローバルへ: 効率とセキュリティを向上させた Azure の移行

ローカルからグローバルへ: 効率とセキュリティを向上させた Azure の移行

Linda Hamilton
リリース: 2025-01-11 07:03:43
オリジナル
882 人が閲覧しました

コンテキスト: 元のシステムの概要

私の仕事の 1 つで、私は Java で開発され、RabbitMQ および PostgreSQL と統合された堅牢な管理システムに取り組みました。その使命は、大規模な電子商取引プラットフォームの支払い、配送、在庫を制御することです。元のシステムはオンプレミスのデータセンターでローカルに運用されていましたが、スケーラビリティと信頼性に対する高まる需要を満たせなくなりました。このシステムは、重要なトランザクションでの高いレイテンシ、メンテナンスの困難、ワークロードの増大に伴う運用コストの増加などの課題に直面していました。

この移行の目的は、システムをクラウドに移行するだけでなく、アーキテクチャを改善してスケーラビリティ、復元力、効率性を高めることでもありました。 Azure をクラウド プラットフォームとして選択したのは、「Azure Well -Architected Framework」で説明されているように、セキュリティ、ガバナンス、コスト最適化のベスト プラクティスをサポートしながら、最新の堅牢なアーキテクチャの特定のニーズを満たす能力によって決定されました。

システムのコンテキスト: Azure の新しいモデル

概要

新しいシステムは、Azure Well-Architected フレームワークの原則を使用して、拡張性、回復力が高く、管理が容易になるように設計されています。このアーキテクチャは、増加するトラフィックを処理し、高可用性を確保し、運用コストを削減するように設計されています。 Azure への移行は、既存のコンポーネントを移動するだけでなく、システムの機敏性、安全性、効率性を確保するためにアーキテクチャを見直し、最新化することも意味しました。

アーキテクチャは、コンテキスト、コンテナ、コンポーネント、コードの明確なビューに重点を置いて、C4 モデルの 4 つのレベルで計画されました。これにより、エンジニアからマネージャーに至るすべての関係者が、新しいシステムの拡張性と信頼性の目標に関して足並みをそろえることができます。

コンテキスト (コンテキスト図)

コンテキスト図は、支払い、配送、在庫管理システム全体を示しています。このシステムは、顧客、支払いシステム、輸送プラットフォームなどのさまざまな外部コンポーネントと対話します。この図は、ユーザーと外部システムがシステムとどのように対話するかに焦点を当てています。

Do Local ao Global: A Migração para Azure que Aumentou Nossa Eficiência e Segurança

新しいシステムは 3 つの主要なビジネス領域に分かれています:

  1. 支払い管理: 支払いゲートウェイやその他の外部金融サービスとの統合を使用して金融取引を処理します。
  2. 貨物管理: 物流プロバイダーと連携して、注文の配送状況を計算および監視します。
  3. 在庫管理: 在庫レベルを監視し、品目が不足に近づくと自動アラートを生成します。

これらの各領域は個別のマイクロサービスとして扱われ、独立したスケーラビリティと簡素化された管理が容易になります。コンテキスト図は、これらのサービスと、支払いシステム、配送システム、ユーザー サービスなどの外部プラットフォームとの間の相互作用に焦点を当てています。

コンテナ (コンテナ図)

コンテナ図は、アーキテクチャ内の主要なソフトウェア コンテナに焦点を当てています。各サービスは、Azure 上の Kubernetes のコンテナ化機能を活用して、個別のアプリケーション コンテナーに変換されました。 RabbitMQ は非同期通信を改善するために Azure Service Bus に置き換えられ、PostgreSQL は Azure Database for PostgreSQL に移行され、可用性とスケーラビリティが向上しました。

Do Local ao Global: A Migração para Azure que Aumentou Nossa Eficiência e Segurança

主なコンテナには以下が含まれます:

  1. フロントエンド Web (アプリ): ユーザーと対話して注文、支払い、配送、在庫を管理する Web アプリケーション。このアプリケーションは Azure App Service に移動されました。
  2. API ゲートウェイ: 特定の支払い、配送、在庫のマイクロサービスへのリクエストのルーティングを管理するサービス。 Azure API Management を使用して、セキュリティ、認証、トラフィック制御を管理します。
  3. 決済マイクロサービス: 金融取引の処理と検証を担当します。支払いゲートウェイと通信し、安全に取引を実行できるように再構築されました。これは Azure Kubernetes Service (AKS) でホストされていました。
  4. 配送マイクロサービス: 送料の計算と配送状況の監視を担当します。このサービスは、RESTful API を介して外部の物流プロバイダーと通信し、AKS 上のコンテナーでホストされていました。
  5. 在庫マイクロサービス: 在庫管理、在庫不足アラートの発行、販売システムとの通信を担当して、顧客が製品を確実に利用できるようにします。このサービスも AKS に移行されました。
  6. PostgreSQL データベース: データベースは Azure Database for PostgreSQL に移行され、高可用性と自動バックアップが提供されます。移行は、Azure Database Migration Service ツールを使用して実行されました。
  7. Service Bus (RabbitMQ は Azure Service Bus に置き換えられました): マイクロサービス間の非同期メッセージ キューを管理し、トランザクションとビジネス プロセスが効率的かつ回復力のある方法で実行されるようにします。

コンポーネント (コンポーネント図)

コンポーネント図は、各マイクロサービスの内部アーキテクチャに焦点を当てています。各コンポーネントは、自律的で簡単に拡張可能なソフトウェア ユニットとして表されます。

決済マイクロサービス

Do Local ao Global: A Migração para Azure que Aumentou Nossa Eficiência e Segurança

主要なコンポーネントには次のものが含まれます:

  1. 支払い処理コンポーネント: 支払いゲートウェイとの通信、支払いの検証と処理を担当します。 Azure Key Vault を使用して、資格情報と機密情報を安全に保存します。
  2. 通知コンポーネント: 支払いステータスに関する通知を顧客と管理者に送信します。

配送マイクロサービス

Do Local ao Global: A Migração para Azure que Aumentou Nossa Eficiência e Segurança

主要なコンポーネントには次のものが含まれます:

  1. 送料計算コンポーネント: 外部 API と対話して、重量、目的地、その他の変数に基づいて送料を計算します。 Azure Logic Apps を使用してサードパーティのサービスと統合するように調整されています。
  2. 追跡コンポーネント: 注文の配送ステータスを監視し、Azure Functions 経由で顧客を自動的に更新します。

インベントリマイクロサービス

Do Local ao Global: A Migração para Azure que Aumentou Nossa Eficiência e Segurança

主要なコンポーネントには次のものが含まれます:

在庫管理コンポーネント: 在庫レベルの監視と調整を担当します。販売システムと統合されており、再入荷予定なしで商品が在庫切れになることはありません。
アラート コンポーネント: レベルが最低値に達したときに、在庫補充の責任者にアラートを生成します。

コード (コード図)

決済マイクロサービス:

Do Local ao Global: A Migração para Azure que Aumentou Nossa Eficiência e Segurança

配送マイクロサービス:

Do Local ao Global: A Migração para Azure que Aumentou Nossa Eficiência e Segurança

インベントリマイクロサービス:

Do Local ao Global: A Migração para Azure que Aumentou Nossa Eficiência e Segurança

結論: 移行の改善と結果

Azure へのシステム移行により、いくつかの重要な改善がもたらされました。

  1. スケーラビリティ: Azure Kubernetes Service (AKS) と Azure App Service を使用することで、各マイクロサービスがワークロードに応じて個別にスケーリングできるようになり、システムがトラフィックの急増に問題なく対処できるようになりました。
  2. 復元力: 非同期メッセージングに Azure Service Bus を使用し、高可用性を備えた Azure Database for PostgreSQL を使用することで、システムの障害や停止に対する復元力が向上しました。
  3. コストの最適化: クラウドへの移行により、物理サーバーのインフラストラクチャとメンテナンスのコストが削減されるだけでなく、従量課金制モデルを通じてコストの最適化が可能になりました。
  4. セキュリティ: 資格情報を安全に保管するために Azure Key Vault を使用し、多要素認証 (MFA) や厳密なアクセス制御などのセキュリティ実践を実装することで、システム全体のセキュリティが向上しました。

Azure Well-Architected Framework のベスト プラクティスを使用し、C4 モデルを実装することにより、移行によりアーキテクチャが最新化されただけでなく、より信頼性が高く、スケーラブルで安全なシステムが確保されました。

以上がローカルからグローバルへ: 効率とセキュリティを向上させた Azure の移行の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート