fbpx

[和訳] ビデオシリーズ: 開発者のための.NETアプリのモダナイゼーション #docker

この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。

本稿は VIDEO SERIES: MODERNIZING .NET APPS FOR DEVELOPERS (2018/2/20) の和訳です。

Docker Enterprise Edition(Docker EE)は、既存のアプリケーションをモダナイズし、クラウドまたはオンプレミスで実行するためのコンテナプラットフォームです。モノリスのコードを変更せずにコンテナで実行することで、ポータビリティ、セキュリティおよび効率性が向上します。

Docker内でコードを実行することは、アプリケーションのアーキテクチャをモダナイズする素晴らしい出発点でもあります。モノリスを小さく独立したコンポーネントに分割すると、アップデートのデプロイ、スケーリングの管理、新しいテクノロジの導入が容易になります。

この新しいビデオシリーズは、.NETの開発者や設計者向けに、アプリのモダナイズを網羅しています。Dockerプラットフォームを使用してすべてを接続し、Dockerエコシステムの優れたオープンソースソフトウェアの機能を追加することで、モノリシックなASP.NET 3.5アプリを複数のコンテナにまたがる分散アプリケーションにまで進化させます。

このシリーズは、1年がかりのプロジェクトのような大規模な.NETアプリケーションのための、マイクロサービスへの完全な再構築を行うものではありません。このシリーズでは、モノリスの主要機能を使用してパフォーマンスの問題を修正し、新しい機能を追加し、高速なアプリケーションのアップデートをサポートする、機能主導のアプローチを採用しています。

パート1では全体を紹介し、「モダナイゼーション」の意味と始め方を説明します。このシリーズはデモ中心のビデオシリーズですので、たくさんのコードをご覧いただけます。パート1では、Dockerを使って.NET Frameworkアプリをコンパイルしパッケージ化する方法と、Docker Hubなどのレジストリでアプを共有する方法を通して、Windowsのコンテナでアプリを実行する方法を学習します。

デモアプリケーションは、SQL Serverをストレージに使用するASP.NET WebForms アプリです。パート2では、Windows上のDockerコンテナでSQL Serverデータベースを実行する方法と、既にデータベースをデプロイしたコンテナのスキーマをパッケージ化する方法を説明します。また、.NETアプリのデプロイ用にDockerfileを最適化する方法と、コードを変更せずにDockerプラットフォームでロギングと設定を統合する方法についても説明します。

パート3では、アプリケーションアーキテクチャのモダナイズを開始し、Webアプリケーションの保存機能を独自のコンテナに取り込みます。Webアプリは、ユーザーがデータを保存すると同時にメッセージキューにイベントをパブリッシュし、メッセージハンドラはそのイベントを待ち受けてデータをSQL Serverに保存します。モノリスは、Dockerコンテナで動作するすべてのコンポーネントを備えたイベントドリブンアーキテクチャを採用しており、さまざまな機能に対して独立したスケーリングと更新をサポートしています。

パート4では、新しいイベントパブリッシュメカニズムを活用し、オープンソースのElasticsearchスタックを利用して、ユーザー向けのセルフサービス分析を追加しています。新しいレポートデータベースと分析UIはDockerコンテナで実行し、Elasticsearchにデータを格納する新しいメッセージハンドラが存在します。Docker EEを使用して、このような機能をゼロダウンタイムで本番環境に追加リリースする方法を学びます。

シリーズはパート5で完了します。パート5では、Web UIの分割をご覧いただけます。アプリのホームページを別のコンテナで実行すると、ホームページのUIとUXの変更をモノリスのレグレッションテストなしで公開することができます。UIコンポーネントを分割し、Dockerがどのように迅速かつ安全なアプリケーションリリースを可能にするかを学びます。

既存の.NETアプリケーションをコンテナ内で実行し、Docker EEを使用してアーキテクチャをモダナイズする方法を紹介します。このアプリのソースコードはGitHub上にあり、そのソースコードを Windows 10のDocker for Windows または Windows Server 2016のDocker EE で追随するだけです。

このシリーズ全体で、ローカルの開発環境でのアプリケーションを実行する方法を紹介し、クラウド内に高可用性Docker EEクラスタをデプロイするための本番環境への方法もご覧にいただけます。シリーズすべてをご覧頂くと、Dockerを使用して独自の.NETアプリケーションをモダナイズする準備が整います。

Docker EEで従来のアプリケーションをモダナイズする方法の詳細:

新規CTA