Taste of Tech Topics

Acroquest Technology株式会社のエンジニアが書く技術ブログ

Elastic{ON} 2018 キーノートレポート Elastic goes more open! #elasticonjp

いよいよ始まりました、Elastic{ON} 2018 サンフランシスコ。キーノートセッションで開幕です。
日本では花粉症に悩まされ、サンフランシスコに来たら治るのかなと思ったら全く症状が変わらず、風邪ひいてるのかも知れない @ です。もしかして風邪ひいてても気づかないタイプ?

さて、昨年まではPier 48という桟橋の上にある倉庫で行われていたElastic{ON}ですが、今年はMarriott Marquisというホテルで開催され、人権を取り戻した感じの 以前にも増して豪華なイベントとなりました。さらにキーノートはThe Masonicというイベント会場で行われます。まずはこのキーノートのレポートをお送りしたいと思います。

f:id:acro-engineer:20180228181220p:plain:w700

盛りだくさんのキーノート

キーノートは2時間を(大幅に)超えるボリュームで、10以上のデモが行われました。

ツイッターのリアルタイム実況はこちらを見てください。
togetter.com

発表された内容をかいつまんで紹介すると、次のような感じです。

  1. Rollup API : 定期的に過去のデータを集計する
  2. Machine Learning : 未来予測もできるようになった(ビットコインの予測はできないよ!)
  3. Canvas : 感銘を与えるUI、そしてSQL
  4. Infra UI : Dockerやk8sの監視もできる
  5. APM : アプリの監視をすぐに始められる
  6. Security : セキュリティ問題の可視化とML。あと、Mr.ROBOTのハッキングがガチすぎる
  7. Geo : 地図をレイヤーとして扱って、ポイントを重ねられるのが便利そう(小学生並みの感想)
  8. Search : Swiftype App Searchは、Web UIで簡単に検索のカスタマイズができる
  9. Elastic Cloud : 用途別にノードの性能を変えられるようになった
  10. X-Pack : X-PackのコードもGithubで公開!!

このうち、特に印象深かった「Canvas」と「Infra UI」、そして「X-Pack」について紹介します。

Canvas meets SQL

Canvasは、Kibanaの新しいUIのひとつです。現在はTechnology Preview版が公開されています。
f:id:acro-engineer:20180228181308j:plain:w700
紹介でも「from realism to IMPRESSionism」と書かれていたように、単にデータを見せるだけではなく、印象を与えるためのUIと言えるでしょう。顧客や上位管理層へのプレゼンやデモで利用されることを想定しているのでしょう。とりあえず見た目がカッコイイと、それだけで説得されたような気分になります。

また、このデモではCanvasだけでなく、新機能であるSQLも利用されていました。
次の画像では、少し見づらいですが画面の下のほうにSQLがあり、その検索結果をチャートにプロットしています。
f:id:acro-engineer:20180228181317j:plain:w700
selectとgroup byを使って集計するクエリですね。

ふつうのselectだけのものもプロットしています。
f:id:acro-engineer:20180228181326j:plain:w700

SQLは使い慣れてるし、これがあればElasticsearchの独自クエリを学習しなくて良いし便利だよな」というぐらいに捉えていたのですが、このCanvasSQLのデモには、また別の可能性を感じました。
データの絞り込みや集計を直感的に書けるSQLを使い、その結果をリアルタイムで可視化することで、どのようなデータがどのように分布しているかがすぐに分かります。たとえばアクセスログなどに対しても、SQLで検索してすぐ可視化できるわけです。

これって相当のおおごとなんじゃないですかね。

実際にどこまでできるのか、またSQLがどれぐらい使えるようになるのかは分かりません。そもそもSQL機能のリリース時期も不明です。ただその可能性を感じずにはいられないデモでした。

k8sを監視できるとかヤバいでしょ

さらっとデモが始まったのに、衝撃的だったのがInfra UI。ツイッターで遊んでたら、いきなりkubernetes (k8s) のモニタリングが始まっていました。遊ぶなよって話ですが。
f:id:acro-engineer:20180228181030j:plain:w700
f:id:acro-engineer:20180228181051j:plain:w700
Infra UIは、k8sのpod(コンテナ的なやつ)の全体やリソース状況などを、リアルタイムにモニタリングできる機能です。もちろんk8sだけでなく、個別のサーバやサービスの状況、またDockerもモニタリングができるようです。
これまでインフラのモニタリングは、自分で構成や監視項目を考えて情報収集を行っていましたが、このInfra UIを利用することで、より早くモニタリング環境を構築できるようになりそうです。

また写真を取りそびれたのですが、このInfra UIとMachine Learning (ML) を組み合わせて、一部のコンテナで問題が起きていることを検出して、それを取り除くデモも行っていました。簡単にモニタリングできますよ、というだけでなく、MLとの連携で「異常検知も素早く始められる」ということが、Elasticsearchの強みなのだなと再認識させられました。

X-Packのソースコードをオープン化!

このキーノートで一番盛り上がったのは、CanvasでもSQLでも、Infra UIでもなく、最後にShay Banonが「X-Packのコードをオープン化する」と発表した時でした。
f:id:acro-engineer:20180228181548j:plain:w700

ElasticsearchはOSSのプロダクトですが、いくつかの有償版の機能(X-Pack)のソースコードは非公開でした。当たり前ですよね。むしろ「有償版の機能のソースを公開するバカがいるかよ!」という話ですが、そのバカがここにいたんです。

ソースコードを公開することで、X-Packの機能がより認知され、フィードバックやコントリビュートなども得られるようになる一方で、リスクやデメリットなどもあると思います。ただElasticsearchやX-Packを使っているエンジニアとして、この方針はすごくありがたいです。正直な話、X-Packのいくつかの機能はソースコードJavadocが公開されていないせいで、利用しづらいと感じたこともありました。

この件についてShay Banonがブログを書いているので、ぜひ読んでみてください。
Doubling Down on Open | Elastic
あくまでもソースが公開されるだけであって、これまで有償だった機能(Machine Learningとか)が無償利用できるわけではない、という事だけは強調しておきたいと思います。

キーノート全体の感想

今年のキーノートは、何か凄く目玉となる新機能があったわけではなく、初公開の機能と、出たばかりの機能やユースケースを、いくつか取り揃えて紹介するという内容でした。また全体を通じて「立ち上げのスピード感」と「Machine Learningの自然な利用」を強調してきたなと感じました。

「立ち上げのスピード感」とはElasticsearchを使って「すぐに」監視や検索を始められることです。Infra UIがk8sをすぐにモニタリングできるなどが良い例でしょう。これはElasticsearchがミドルウェアやプラットフォームから、「ソリューション」に近くなっている様子を感じます。

また「Machine Learning (ML) の自然な利用」とは、Infra UIやAPMなどで、MLを使った問題の自動検出を行っていたところです。とても自然な流れで行っていました。そうやって使えるように、MLをうまくコモディティ化していると感じます。

この辺りの戦略面については話すと長くなりそうなので、また機会を改めて書きたいと思いますね。


そんなわけで、大きな目玉はないものの、有償プロダクトであるX-Packのソースコードをオープンにするという爆弾が投じられたElastic{ON}ですが、まだ始まったばかり。残りの2日間も、積極的に情報を集めてきます。


Stay elastic,
see you!