Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

マイクロソフトが提供する「クラウドネイティブ」に欠かせない技術で、より効率的な開発を実現しよう【デブサミ2019】

【14-B-7】★The DEMO Show★ Visual Studio & .NET Core の進化とクラウド ネイティブ開発

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2019/03/13 12:00

目次

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」も用意されている。

 「ソフトウェアはクラウド中心に動いている。そんな今こそ、まさにクラウドネイティブデベロッパーに向かっていくタイミングだ。その流れをマイクロソフトはこれからも支援していきたい」井上氏は会場の参加者に呼びかけ、セッションを締めた。

お問い合わせ

 日本マイクロソフト株式会社



  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

バックナンバー

連載:【デブサミ2019】セッションレポート

もっと読む

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5