AKSでコンテナの管理を容易に
井上氏が最後に紹介したのはコンテナサービスだ。Cloud Native Computing Foundation(CNCF)という団体では、「クラウドネイティブとは何か」を定義している。それを簡単にまとめたのが、次の図だ。
クラウドネイティブとは「コンテナ」「オーケストレーター」「サーバーレス(PaaS)」「CI/CD」「自動化(DevOps)」「マイクロサービス」といった技術要素からなる、「回復力」「管理力」「弾力性」「疎結合」「監視・問題検知力」を持ったアプリケーションを、クラウドのサービスとして作っていくことだ。「もちろん、これらすべての要素が含まれる必要はない」と井上氏。この中の要素を一部でも使い、クラウドのリソースをより有効活用して、遅くならない、止まらない、スケーラビリティを持ったアプリケーションを作ることを指す。
こうしたアプリケーションを作る際、重要となるのがコンテナである。ASP.NET Coreでは、LinuxベースのDockerコンテナを容易に作ることができる。しかし複数作ったコンテナをオーケストレーションするには、Kubernetesなどのシステムが必要になる。
だが、Kubernetesの環境整備は意外に手間がかかる。それを解決するのが、「Azure Kubernetes Service(AKS)」だ。「AKSを使えば、コンテナの管理が容易になる」と井上氏は説明する。
マネージドなKubernetesクラスタをチームで共有し、共同作業ができるようになるサービスも提供されている。それが「Azure Dev Spaces」だ。まだプレビュー版だが、これを使えばAKS上でのコンテナの実行とデバッグの実行が並行してできるようになる。
「チームで共有して開発する場合、開発者同士のオーケストレーションを考えなければならないが、このサービスを使えば、ほかの人に影響を及ぼさないように自分のコードを分離した上で、開発・デバッグすることが可能となる」
そのほかにも、マイクロソフトのAIソリューション「Azure Cognitive Services」や機械学習フレームワーク「ML.NET」も紹介。Azure Cognitive Servicesの活用例として、「Vision」(画像や動画の読解、顔認識、感情判別、OCR)を利用した、麺類の種類を判別するAIアプリ「Noodle Lens」のデモも実施した。
クラウドネイティブの時代はそこまで来ている。だが、どのようにアーキテクチャを作り、サービスを組み合わせればよいのか、迷うことも多い。
「そうした疑問に答えられるよう、マイクロソフトではAzureアーキテクチャに関するさまざまなリファレンスを用意している。ぜひ、参考にしてほしい」
また、Azureの基礎を学べる「Microsoft Learn」も用意されている。
「ソフトウェアはクラウド中心に動いている。そんな今こそ、まさにクラウドネイティブデベロッパーに向かっていくタイミングだ。その流れをマイクロソフトはこれからも支援していきたい」井上氏は会場の参加者に呼びかけ、セッションを締めた。
お問い合わせ
日本マイクロソフト株式会社