クラウドから「エッジ」への動きが加速:Build/de:code 2019レポート 第14回
de:code 2019でFIXERの社内カフェアプリの全貌を紹介
PWA、ML Ops、マイクロサービス――最も”今どき”なスマホアプリ開発を実演
2019年06月20日 11時00分更新
CI/CDを利用した継続的な開発
さて、PWAを用いたアプリ実装の裏で、その処理の実態はAPIとして実装されたバックエンドが担います。
昨今注目されているマイクロサービスについてのメリット・デメリットを踏まえ、FIXER Cafeアプリのバックエンドは、小規模からのスタートと機能追加に適したマイクロサービスの構成を採用し、AKS(Azure Kubernetes Service)上にコンテナとして実装することにしたとのこと。
ここで、アプリへリコメンド機能を追加するデモ。しかし、なんとリコメンドのボタンが表示されないハプニング(?)が発生!急遽壇上でデバッグを試みます。実際にVisual Studio Codeでデバッグ実行し、修正をリポジトリにpushする。ここでも連携されたAzure Pipelinesによるビルド・リリースが行われ、晴れて機能追加が成功したのでした。
Automated MLを用いた継続的な機械学習の実現
ところで、このFIXER Cafeアプリのリコメンド機能は、ユーザーの購入履歴をもとに機械学習で推測しているのだそうです。
機械学習を行うには、データサイエンティストが持つ専門の知識と経験をもとにアルゴリズムの選定やハイパーパラメータのチューニングを行う必要があります。しかし、昨今ではこの専門的な知識を自動で調整してくれる仕組みが確立されてきています。例えば、Azureの機械学習サービスAzure Machine Learning Serviceには「Automated machine learning(Automated ML)」という自動機械学習機能があり、Azure Notebooksと組み合わせることで統合的に開発ができます。
Azure Notebooksは、Azure上にホストされたJupyter notebookのSaaSであり、Azure Machine Learning Serviceと連携できるほか、Azure上で計算リソースを調達して計算を実行することもできます。また、Automated MLを実装するには、Azure Machine Learning SDKを用い、たった十数行のコードで実装できるそうです。
FIXER Cafeのシステムでは、こうして作成した学習モデルをAzure Machine Learning Serviceでコンテナイメージとして保存しておき、Azure Pipelinesを使って前述のAKS上のバックエンドに組み込みリリースすることができるCI/CDを構築しています(これはMLOpsと呼ばれます)。
Automated MLの詳細は、今回のスピーカーの一人である千賀さんの解説ブログ記事「【de:code 2019連動】ML最前線!MLOpsとAutomated MLによる機械学習モデルの自動開発 | cloud.config Tech Blog」をお読みください。
* * *
フロントエンドからバックエンド、そして機械学習までの多くの要素が詰め込まれた盛りだくさんのセッションでした。マイクロソフトだけにとどまらず、適材適所で技術を採用していくことは、短期間かつ継続的にアイディアを実現するために有効な手段であり、今ではその材料が出そろってきていると感じました。うまく活用できるようキャッチアップしていきたいものです。
なお、同セッションのVue.js+Nuxt.js+Firebaseのアプリの作り方詳細については、今回のスピーカーの一人である市岡さんが登壇するこちらのイベント(6月27日開催)で紹介されるそうです。

この連載の記事
-
第13回
クラウド
クラウド化は不可避な流れ、.NETアプリをクラウドネイティブへ移行するには -
第12回
TECH
「Internet of Human」の未来を体験――de code 2019のEXPOエリアで衝撃を受けた -
第11回
TECH
C#ライブコーディング対決!Blazor Web開発バトルが面白すぎた -
第10回
クラウド
なぜ日本語の機械翻訳や音声認識は精度が低いのか -
第9回
クラウド
デモで解説!「Visual Studio 2019」の新機能 ~GitHub、Azureと華麗に連携~ -
第8回
クラウド
WindowsにLinuxカーネルが入るとWeb開発が変わる――de:code 2019基調講演で「WSL2」をデモ -
第7回
クラウド
アーキテクチャ図でみる、Azureブロックチェーンを使ったスタバの珈琲豆トレーサビリティ -
第6回
クラウド
ソニーも注目したマイクロソフトの「Game Platform」とは -
第5回
TECH
Build 2019でのFluent Designの発展 -
第4回
クラウド
Build 2019でKubernetesのサーバーレスフレームワーク「KEDA」発表 - この連載の一覧へ