JJUG CCC 2019 Springに参加してきました #jjug_ccc

はじめに

http://www.java-users.jp/ccc2019spring/

2016年の登壇からしばらく聴く側にいました。

この1年くらいずっとOpenCensusを触っていましたがJJUG CCCでは話してなかったのと、micrometerを使っているので、そちらもあわせてCfPに出してみました。

運良くOpenCensusの方が採択されたので、今回はカスタムメトリクスの取り方を調べつつ自分たちのアプリケーションに組み込む方法を勉強できればと思い、いろいろ検証内容を元に発表できればと思っていました。

発表

OpenCensusで始める分散トレーシングと監視

今回の発表のベースとなったのは、Stackdriver担当者の@ymotongpooさんの以下の記事でした。

オブザーバビリティ(可観測性)がなぜ必要だと考えるのか

その後、ajitofm 42: You must unlearn what you have learnedを聴いたときに感じた内容(ツイートでは43となっているが42の間違い)と、

入門 監視を読み終えたので、これらをふまえてOpenCensusを使って実現していく方法とStackdriverによる可視化までを繋げられないかと思い、 構成を練っていました。

途中でOpenCensus meetup vol.1 で話す機会が得られたので、これまでに得られたOpenCensusのJava実装についてを発表しました。

残りの期間は、OpenCensusのカスタムメトリクスの取り方とGCP上でStackdriverを利用したデモの作成に取り組んでいました。

デモで利用したソースコードはこちらにあります。

https://github.com/grimrose/JJUG-CCC-2019-Spring

GitHubにpushしたのをトリガーにCloud Buildを利用して、GAEへデプロイをするようにしました。

GAEは、Stackdriverをそのまま使える環境なのと併せて、Custom Runtimeでやってみたことで、ローカルのデモと同じDocker imageをそのまま利用できたのがとても便利でした。

opencensus-scala のStatsに関するラッパーが用意されていたので、とても簡単にカスタムメトリクスを作ることが出来ました。

盛り込んだ内容だったので、かなり駆け足で発表してなんとか収めた感じでした。休憩ポイントを入れることで整える時間が出来たので今後の発表でも継続できればと思います。

参加したセッション

今回は、以下のセッションに参加してきました。

  • Big Data Exploration with Spark SQL and Java
  • Cloud Native時代の開発環境とアプリケーション基盤
  • DevOps without Measurement is a Fail
  • Cloud (K)native Java Services – Deploying your Java services in Serverless World –
  • The 4 Rules of Simple Design In Functional Programming
  • Project Loom - 限定継続と軽量スレッド
  • Reladomoを使ったトランザクション履歴管理をプロダクトに適用した際のメリット/デメリット/課題など

特に DevOps without Measurement is a Fail はMonitoringについて気になっていたことがいくつかあったので、スライドが公開されたら見直してみたいと思いました。

その他のセッションも興味深い内容ばかりで楽しかったです。

おわりに

今回の懇親会もスポンサーのおかげで楽しい時間を過ごすことが出来ました。

楽しすぎて乾杯のビールしか撮ってなかったのが反省点です。

JJUGのスタッフの皆様、スポンサーの皆様、講演者の皆様、参加者の皆様、ありがとうございました。