alterbooth Engineer blog

オルターブースエンジニアブログ

マイクロソフトのハックフェストに参加して感じたサーバーレスアーキテクチャの重要性

約2年前にオルターブース公式ブログを開設して以来、2つ目の記事になります。 皆さんこんにちは。野球シーズンが終わってしまい、どこか寂しさを感じている@tsubakimoto_sです。

さて久しぶりに投稿する記事は、弊社にとって転機となるであろうイベントに関する内容です。

去る2017年10月30日からの3日間、マイクロソフト社と共同で「ハックフェスト」というものを行ってきました。
ハックフェスト自体の説明は割愛しますが、要するにマイクロソフトの技術力ハンパない人たちと一緒に、アーキテクチャを構築したりコードを書いたりする、ガチDeepなイベントです。

今回は「サーバーレス」をテーマにしたハックフェストでした。
弊社のサービスであるマイソースファクトリーを、サーバーレスの技術を使ってより良くしようという目的で参加しました。
我々のチームに加わってガチハックをやって頂いた牛尾さん、中村さん、Osvaldo、Thiago、ちょまどさん、大田さん、アドバイスを頂いた安納さん、畠山さんには大変感謝しています。この場を借りて御礼申し上げます。すげー楽しかったです!!

f:id:alterbooth:20171105225452j:plain

ハックフェストの様子とか何をやっていたかというのは書けない部分もあるので、同じチームだったちょまどさんのツイートを見て頂ければと思います。
twitter.com

ハックフェストに参加して感じたことが、Microsoft Azureのサーバーレスの仕組みがかなり進化していることです。
昨今、サーバーレスという仕組みは大変盛り上がっており、使ったほうが良い、使うと幸せになれると言われています。
もちろん私もFunctionsのようなサーバーレスの仕組みを活用したほうが良いと思っているし、業務における開発でも利用しています。

Azureで提供されているサービスのなかで「サーバーレス」に分類されるのは、次の3つのサービスです。

今回のハックフェストおよび11月3日に開催されたServerless Conf Tokyoで見た、Azureでのサーバーレスの実現にはアーキテクチャが非常に重要になると感じました。

この図はServerless Conf Tokyoのキーノートで使われたデモの構成です。

f:id:alterbooth:20171105223823p:plain

Azure-Samples/customer-car-reviews

これを見たとき、私はサーバーレスを活用するには「アーキテクチャを考えられる力」が重要であるととても感じました。
それぞれのFunctionsがもつ機能は小さく、コードはシンプルになると思います。しかし各サービスがどう連携し、どのようにデータを伝搬し、ゴールにたどり着くのかをイメージできるかどうかが、サーバーレスの良さを最大限発揮できるかどうかに繋がるのではないでしょうか。

ではサーバーレスアーキテクチャを考える力をどう養うか。やはり「真似る」ことから始めるのが良いと思います。
デモを見たりドキュメントを読むだけでは自分の知識に落ちてきません。プログラミング言語の勉強も同じですが、やはり手を動かすことで理解に努めるのが良いでしょう。

Azureには多くのサンプルが用意されており、コードも資料もGitHubでたくさん公開されています。

github.com

今回はAzureについての話に終始しましたが、もちろんAWSも同じです。
どのようなアーキテクチャのなかでLambdaを使うのか、しっかりイメージすることが大事です。

こういったアーキテクチャを勉強することをテーマとした勉強会とかをやってみるのも面白そうですね。それでは。


同じ日程でハックフェストをしていた楽天さんのレポートはこちら。

road-to-king.hatenablog.com