せてぃーずノート

Javaのイベント参加レポートとかを書いたりします。

JSUG勉強会 2016年その3.5に行ってきました

イベントページはこちら

JSUG勉強会 2016年その3.5 - Kenny Bastani来日特別講演 - 日本Springユーザ会 | Doorkeeper

SpringBootを中心とした、マイクロサービスについてのセッション。
テーマ自体が難しいことに加えて、QAを含めて通訳なし100%英語というハードコアなセッションでしたが、ためになるお話でした。

最大の敵は開始前のピザとビール・・

セッション概要

  • 開始前の会場アンケート。 SpringBoot使ってる人はたくさん挙手があった。
    逆にSpringCloudを使ってる人はほぼいなかった。

  • ApacheTomcatMySQLで構成されるモノリシックなアプリケーションから、SOAを経てマイクロサービスになる。
    マイクロサービスは、各サービスで共有するShered Cacheとそれぞれのサービスの特性に応じたDBMS等のリソース。
    サービスごとにリソースを分けることで、1つのサービスがダウンしても全体はダウンしない。

  • インフラストラクチャもスケールアウトが難しいモノリスな構成から、スケールアウトが容易なコンテナへ。
    マイクロサービスはコンテナ単位で依存関係を持つ。 依存関係の解決はServiceDiscoveryがおこなう。

  • SpringBootのMavenダウンロード数は、2015年12月に225万を突破

  • SpringBootは「フレームワークのためのフレームワーク
    SpringFrameworkがケーキの材料だとしたら、SpringBootは完成したケーキ。 ケーキを作成するキッチンがSpringInitializr。 SpringBootがケーキだとしたら、SpringCloudはケーキが並んだショーケース。

デモ

マイクロサービスで構築したショッピングサイト。
ソースは↓。

github.com

  • 何がすごいって、モノリシックな普通のWebアプリケーションにしか見えないくらいサクサク動く
    しかも動いているだけじゃなく、メトリクスもキチンと取っている。
    「WebAPIを使いまくると遅い」と決めつけるのは間違いだった。

  • ソースはまだあまり見てないけど、サービスの単位は思っていたよりも小さい

  • ただ、メモリは全体で8.5GBくらい使っているっぽい
    モノリシックに比べれば、大きくなりそう

Q&A

QAもほとんど英語。
あまり聞き取れなかった。。。

質問の傾向としては、マイクロサービス構築時のベストプラクティスやガイドラインについて聞いているのが印象に残った。
回答としては、ケース・バイ・ケースと言った感じ?

反省点

  • やっぱり終わる前にお酒を飲んではいけない。
    後半はマッタリしてしまった・・・。

  • 英語で質問出来るようにならないとまずいなぁ・・・。

  • 他の人の質問を聞いてて思ったことは、最初に質問内容をバーンと言ってから、細かい事情や背景を説明したほうが良さそう。
    詳細を先に話し始めると、説明が難しくてそこで詰まってしまう。
    聞いてる方もどこから質問なのか判別が難しくなりそう。

  • 今年度(not 今年)は勉強会に行ったらブログを書く。

いじょ!