Unipos engineer blog

Uniposの開発者ブログ

de:code2018 に参加しました #decode2018

Fringe81エンジニアの小紫@petitvioletです。

2018年5月22日、23日に開催されたde:code2018にエンジニアの森本と共に両日とも参加してきました!

de:codeとは?

Microsoft社(以下MS)が開催するイベントで、MSが提供する最新技術や実際の活用事例を紹介する、日本では最大級のイベントになります。 AI/MR(Mixed Reality)、クラウド、開発ツール全般と技術範囲も広く、MSの提供する技術に興味がある人には参加必須のイベントです。 私は今回が初参加で主にクラウド領域、つまりAzureの最新技術に興味があり参加しました。

de:code (decode) 2018 | 開発者をはじめとする IT に携わる全てのエンジニアのためのイベント

以下、Keynote及び印象に残ったセッションについて紹介したいと思います。

Keynote

今回のKeynoteでは「Transforming Intelligence」と題し、AI/クラウド、開発環境、最後はMR(Mixed Reality)の3つのトピックをそれぞれのSpeakerが話すスタイルで、講演時間はなんと3時間!

最初に日本MSの伊藤かつらさんから今後の技術動向とそれがビジネスとどう関わっていくかの話がありました。今回が初参加の為、知りませんでしたが、この方は毎年de:codeのホスト役をされているとのことで、さすがの話術で、この時点で講演に引き込まれていきました。

次にJulia WhiteさんによるAzure Stackのお話。IOT周りをサポートする為のサービスを特に強調していた印象でした。 特に興味を惹かれたのが、Cosmos DBのお話で、グローバル規模でレプリケーションを実現する機能は素晴らしいと思います。 ライブデモとして、Cosmos DBを利用したお絵かきサイトの紹介がありました。日米でほぼレイテンシなしで双方書き込むデモで、こちらも面白かったです。

PxDraw - Microsoft

2番目のSpeakerはJulia Liusonさん。主にMS Stackにおける開発環境の最新技術のお話でした。 弊社はC#等のMS Stackを利用していない為、ところどころ分からない箇所がありましたが、Visual Stadio Codeを利用したライブコーディング(こちらもリモートでの共同での作業機能!)等、大変面白かったです。 特にCI/CD周りの「Azure DevOps Projects」や「DevOps project with AKS」は機会があれば、是非利用したいと思いました。

最後のSpeakerはLorraine BardeenさんによるMRのお話。 弊社の昨年度の開発合宿のテーマがAR/VR/MRであった(社内にはHololensもあります!)為、少し知識がありましたが、Hololensが既に産業領域で利用されている事例の紹介があり、驚きました。日本でも建設分野での導入が進んでおり、現場での工数削減に活躍しているそうです。

Keynoteの締めくくりとして、日本MSの社長である平野拓也さんが登場されました。 こちらも興味を引く語り口で、りんなを始めとする日本MS独自の取り組みやそれらの学術分野やNPOとの連携のお話等、最後を締めくくるに相応しいお話でした。

講演を聞く前は途中で集中力が途切れそうだなと思っていましたが、それぞれのトピックが興味深かったこと、またそれぞれについて、ライブデモやライブコーディングがあり、終わってしまえばあっという間の3時間でした。

ワタシハ Azure Functions チョットデキル

www.slideshare.net

MS 牛尾 剛さんによるAzure Functionsの概要から内部構造、コントリビュート方法までと、このセッションを聞けばFunctionsに関するほぼ全てのことが把握できるのではないかと思う程の内容で、今回のNo1セッションというのも頷きです。

Serverlessの利用は、従来の開発に比べて比較にならない程の開発速度を提供してくれる一方、ベンダーロックインの危険性が伴います。 上記の状況をコントロールにするには、内部構造を把握すること、最終的には開発者になってしまえば良いのではないかという趣旨のもと、痛快にFunctionsの内部構造を説明し、とても面白かったです。

またFunctionsと連携する機会が多いQueue・Pub/Subサービスにおけるそれぞれの特徴・使い分けの説明があり、Azureについて、あまり知識がなかった為、非常に参考になりました。

最後にはFunctionsがGitHub上で開発されていることを牛尾さんの実際のPRを元に紹介してくれました。 Functions等のクラウドサービスがGitHub上で開発されていることをこれまで知らなかった為、これは驚きました。 コードも公開されている為、内部実装を理解するのにとても役に立つと思います。

github.com

※実際には複数のrepositoryに分かれており、それぞれの役割は上記のスライドに説明があります。

牛尾さんの話術もあり、とても面白くかつ為になるセッションで非常に満足度が高かったです!

Cosmos DB performance Tuning

Principal Software development engineerのDavid Makogon氏によるチョークトーク

github.com

内容はCosmos DBのRead/Writeに使用するRequest Unit(RU)の観点でのチューニングについてでした。

Cosmos DBはグローバルスケールでクロスリージョン、マルチマスタ書き込みにマルチデータモデルなど、かなり高機能なフルマネージドNoSQLデータベースで、可用性だけでなくレイテンシにもSLAが設定されている使いやすいサービスです。

そのCosmos DBを実運用するにあたって避けては通れないRUの設計に非常に重要な話をいくつも聞くことが出来ました。

参考になるドキュメントも公式から提供されています。

docs.microsoft.com

クエリの内容によって消費するRUがどの程度違うかというのをわかりやすくデモしていました。
他にも、RUを節約するためのテクニックとしてクエリに使用しないプロパティからindexを削除することや、アプリケーションが要求するデータの整合性に合わせてCosmos DBの整合性レベルを調整することでパフォーマンスが変わる、といった話もありました。

高機能なCosmos DBではありますが、ちゃんと設計せずに使用するとそのパフォーマンスを活かしきれないばかりか費用も嵩んでしまう可能性もあるため、開発するアプリケーションに応じた使い方をする必要があるという認識を強めるいいきっかけとなりました。

内容はもちろんですが、英語も聞きやすい上に逐次通訳がついていて満足度の高いセッションでした!

まとめ

2日間、主にクラウド領域のセッションを中心に参加してきましたが、Azureの最新の技術に触れることができ、とても楽しかったです。 またセッション以外でもミスタードーナツの食べ放題コーナー、MSのステッカーシートが貰えるスタンプラリー等、展示ブースでの企画も盛りだくさんでした。

AzureはGartnerのレポートでも既にAWSに次いでLEADERSの位置にあるため、Serverless、Container Service等の充実についても、他のクラウドベンダーに引けをとらないレベルに達していると思います。

特にCosmos DBは他のクラウドベンダーが提供するサービスに比べて、一歩先を行っている印象で、是非利用したいと思いました。