クラウドネイティブアプリへの道標 第1回
クラウドネイティブアプリ開発の基礎から実践まで
クラウドネイティブでいこう!マイクロサービスの実践解説連載、始まります
2019年02月08日 14時00分更新
クラウド上のネイティブアプリケーション開発では、マイクロサービス化を図っていくことが重要だと言われます。確かにビジネス的にこのようなアーキテクチャを採用して企画・開発・運用を進めていく必要がある事業領域は間違いなくあるでしょう。そこでは躊躇なくマイクロサービス化を図る必要があります。
しかしながら、実際には、どのようにしたらよいのか、最初の具体的な一歩が踏み出せないことが多いと思います。それは、Webや書籍などで調べても、大規模かつ必然の採用事例だったり、サンプルとして作成された最新技術てんこ盛りのリファレンス実装だったり、ということで、どうにも自分事として身近に感じられないことが多いからではないでしょうか?MSDN アーキテクチャーセンター内を見ても、コンピューターサイエンス領域に近い抽象的な記事から、ソリューションアーキテクチャー的な配置図まで、さまざまなレベルかつ粒度の技術情報が、含まれており、これだけでは理解が難しいところもあるでしょう。
そこで本稿では、実際にシンプルかつ単純なアプリを、モノリシックなものから、機能拡張・追加を経て、マイクロサービス化されたものにしていくという過程を示したものを、AzureにASP.NET Core MVCを使用して、少しずつ進めていければと思っています。
筆者のバックグラウンド
少々長くなりますが、自己紹介させてください。
鈴木章太郎と申します。2018年9月から、FIXERでジェネラルマネージャー(広報PR・教育事業統括)兼エバンジェリストをしています。エバンジェリストとしては、Microsoft技術を中心に、Cloud、AI、Mixed Reality(拡張現実)等、最新のテクノロジーに関する講演や、記事・ブログ執筆等による技術啓蒙を担当しています。また、広報PR部門および教育・トレーニング事業を統括しています。技術エバンジェリズム・マーケティング・ブランディング活動、および法人向けクラウド開発トレーニングコース・子供向けプログラミング教室の企画・コンテンツ開発・実施を行うのがミッションです。
2017年から2018年夏まで、アクセンチュア株式会社 テクノロジーコンサルティングシニアマネージャーとして、最先端技術・将来の技術という観点で顧客である国内海外大手金融機関の諸プロジェクトへの導入促進を行い、案件化とデリバリーの技術アドバイザーを担当していました。AIソリューション導入、AWS/Azure/GCPなどの各種クラウド導入、DevOpsコーチング、マイクロサービス設計、コンテナ環境構築、API基盤連携、そして XR(VR/AR/MR) のソリューション提案等をしていました。
2016年から2017年夏頃までは、デルジャパン CTO 室エバンジェリストとして、新生デルテクノロジーズの製品や技術、ソリューションをエンタープライズ企業を中心に訴求していました。VR/AR/MR(Windows Mixed Reality, Wokstation), Hybrid & Multi Cloud (Azure Stack, VMware on AWS, Pivotal Cloud Foundry, Pivotal Container Services(GCP)) 等がその対象です。
そして2003年から2016年まで、マイクロソフトのテクニカルエバンジェリストとして、C#、Visual Studio、ネイティブ・クロスプラットフォームモバイルアプリ開発、Microsoft Azure アプリケーション開発、.NET 及び関連技術、OSS、アーキテクチャーデザイン、クラウドデザインパターン、DevOps 等の技術啓発を担当しました。早稲田大学、中央大学、等での非常勤講師業務も10年以上担当しました。
開発者としては、長らくC#がメインで、xRアプリ用にUnityも使いましたが、マイクロソフトがOSSに舵取りしたころから、クロスプラットフォームモバイルアプリをXamarinで実施するデモが多く、最後3年間は、Mac上でJava、Swiftを使うことも多かったです。AIプロジェクトで Pythonをいじるもの好きです。
連載の構成
シンプルかつ単純な Web アプリを、モノリシックなものから、機能拡張・追加を経て、マイクロサービス化されたものにしていくという過程を少しずつ進めていきます。
技術的な要素としては、C#、ASP.NET Core MVC 2.x、Entity Framework、Visual Studio、Microsoft Azure、Azure SQL Database、microservices アーキテクチャ、Container、Docker、Azure Dev Ops、Kubernetes 等となります。
以下は一応予定ですが、書きだしてみますね。
- 第一回
- クラウドネイティブアプリケーション構築に必要なビジネスバックグラウンドと技術要素
- 第二回
- サンプルアプリの紹介とクラウドネイティブ化に向けての方針、 IaaS/PaaSへのデプロイ
- 第三回
- サンプルアプリへの BI 機能・AI 機能等の追加と他サービスとの連携
- 第四回
- CDP、Reference Architecture の参照とサンプルアプリへの適用
- 第五回
- microservices / container /k8s の採用とサンプルアプリへの適用・k8s へのデプロイ
お楽しみに!それでは今後よろしくお願いします。次回の連載でお会いしましょう。