O'REILLY Velocity 2015 Santa Claraが2015年5月27日から29日まで開催されました。ハートビーツからも松鵜と滝澤の二人が参加しました。
前編に引き続き、この後編では5月28日と29日のセッションの一部を紹介します。
なお、内容については紹介している資料を確認してください。聞き間違えたり、認識が違っているかもしれないためです。
※会場であるSanta Clara Convention Centerの前にあるライトレールの駅の写真です。
レポート、その1
まずは、松鵜のレポートです。
Operating Docker security for speed and profit
- Operating Docker security (slideshare)
Dockerにおけるセキュリティの諸問題(Dockerイメージは信用できるのか、ホストの安全性はどう確保するのか)について、その対策を紹介したセッションでした。Dockerにかぎらず、OSイメージに対するセキュリティの考え方や役立つツールなども紹介されていて、とても参考になる資料だと思います。
How LinkedIn used RUM to drive optimizations and make the site faster
LinkedInが自社で構築しているCDN(PoP; Point of Presence)とJavaScriptベースのパフォーマンス計測ツール(RUM; Real User Monitoring)を組み合わせて、本当に最適なCDN拠点(PoP)の割り出しやanycastの割り当て、どこに新しいCDN拠点を設置すべきかを決定するアプローチが紹介されてました。とても興味深い内容です。
Continuous security - the DevOps way
- Continuous Security - The DevOps Way (slideshare)
DevOpsによる進化と同様に、セキュリティも進化している。継続的なセキュリティチェック、構成管理ツールに組み込めるセキュリティソリューション、コンプライアンス監査の自動化、自動防御などで単純にDev/Sec/Opsをそれぞれ実施するよりも相乗効果を狙うのがセキュリティにおける継続的アプローチだと説いています。最近日本でも継続的セキュリティチェックについてはいくつかのソリューションがありますが、そこからさらに踏み込んだセキュリティ対策による効率化が今後重要になってくると感じました。
Crafting performance alerting tools
- Crafting Performance Alerting Tools (Speaker Deck)
すべてを指標をグラフ化してモニタリングしたけども、小規模や緩やかな性能劣化の把握、原因調査やチューニングが難しく、また単純な閾値によるアラートはアラート疲れを引き起こす。そこで、よりきめ細やかな監視(Nagiosなど)を導入した。閾値はグラフを見ながら決定すれば設定ファイルを出力するツールを作成。監視のアラートにも関連するコンテキスト(例えばグラフ、関連する数値、チーム名、最新コミット、アラート履歴など)を追加したり、チャットへの通知やデプロイしたユーザへの通知なども行うことでわかりやすく迅速な対応が可能になる。コンテキストを追加することがとても大事といった内容です。これ必見です。
osquery: Approaching security the hacker way
- osquery: approaching security the hacker way (Speaker Deck)
osqueryが生まれた経緯(MIDASの失敗からの教訓)から、開発のすべてをオープンにして見通しを良くすることでセキュリティも担保することができる趣旨です。セキュリティの話がメインでしたが、私個人としてはMIDASの失敗からosqueryの誕生とSQLを利用することのメリットがとても興味深く感じました。
New ways to deploy and manage applications at scale
現時点でプレゼンは公開されていない模様です
Ansibleなどの構成管理ツールによるアプリケーションレベルの制御は難しいことのデモ、OSとアプリケーションで分断し、アプリケーションの制御にはKubernetesのようなツールが向いていることとそのデモを行う内容でした。Kubernetesによるローリングアップデートのデモにその可能性を感じました。
レポート、その2
ここからは滝澤のレポートです。
Visualizing performance data in engaging ways
SpeedCurve社のMark Zeman氏によるパフォーマンスデータの表現の仕方についての話です。
様々なグラフの善し悪しについて説明がありました。 残念ながら本記事の執筆時点では資料が公開されていませんが、次のサイトに今時のビジュアル化の例があります。
- Visualisation Experiments (SpeedCurve LAB)
Preparing for CDN failure: Why and How
CDN(Contents Delivery Network)を利用しているときに、CDNの障害にどのように備えるかというお話しです。
CDNの障害の検知にはRUM(Real User Monitering)の手法により行っているとのことでした。ページ取得時にonloadで実行されるJavaScriptにおいてassetファイルを取得させ、取得に一定時間以上経過するようであればCDNがfailであると判断する、といったようなことをやっていると言っていました。 さらに、CDN障害への対策としては複数のCDNを利用するMulti-CDNを紹介していました。
資料は公開されていないのですが、話の中で言及があったMobify社のブログ記事を参考サイトとしてあげておきます。
- CDN RUM and Eggnog (Mobify Developer Blog)
Database reliability engineering, modernizing the DBA role
- Database Engineering (slideshare)
Pythian社のLaine Campbell氏によるデータベース・エンジニアリングについてのお話です。
DBA(データベース管理者)からDBE(データベースエンジニア)へとパラダイムシフトが起きているという話でした。とくに、"virutalization and cloud", "infrastructure as code", "depops cultures", "continuous delivery", "polyglot persistence"という、ここ数年DEVOPSの領域でよく聞くキーワードを取り上げ、DBEの領域はDEVとOPSとオーバーラップしている、という興味深い内容でした。
Consul as a monitoring service
- Consul as a monitoring service (Velocity 2015 Santa Clara)
HashiCorp社のSeth Vargo氏によるConsulの紹介の話です。
VagrantやSerfなどで有名なHashiCorp社が2014年にリリースしたソフトウェアがConsulです。Service Discovery, Health Checking, Key/Value Store, Multi Datacenterといった特徴を説明し、特にメンバーノードの取得にHTTP APIだけでなくDNSを利用できるという話をしていました。
弊社ハートビーツでもConsulを利用している案件があり、特に注目しているプロダクトです。
滝澤が参加したセッションの中では一番質問が多かったセッションです。セッション終了後もスピーカーの周りに人が集まっていました。みんな興味津々といったところでしょうか。
Box Weather Station: Open source tools for MySQL performance and monitoring
Box社がオープンソースソフトウェアとして開発しているMySQL向けのツールAnemometerとRain Gaugeのお話しです。
Anemometerはスロークエリのログデータを集計してビジュアル化するツールで、Raingaugeは問題の解析に利用できるツールです。それぞれ詳細はツールのサイトをご覧ください。
- Anemometer (GitHub)
- Rain Gauge (GitHub)
TCP and the lower bound of web performance
Pinterest社のJohn Rauser氏によるTCP Congestion Controlの話です。
インターネットやTCPの歴史から始まり、TCP Congestion Controlがどのように変わってきたかのお話を聞くことができました。とても面白い内容です。
なお、資料は公開されていませんが、Velocity 2010で発表された資料は公開されているのでそのセッションのページへのリンクを張っておきます。
- TCP and the Lower Bound of Web Performance (Velocity 2010)
その他
Velociyでは同時に7つの部屋でセッションを行っており、興味があっても観ることができないセッションがありました。
後評判で面白そうだったセッションのページへのリンクを張っておきます。資料へのリンクがあるのでご覧ください。
最後に
最後に全体的な所感を述べてみます。
松鵜より
DevOpsはもう当たり前で、そこから生まれる諸問題やカルチャー、またDevOpsを発展して他の仕組みとどう連携するかなどに焦点をあてた内容が多く感じられました。 また、セッションでよく聞かれた単語としてempathy(共感)が盛んに取り上げられていたのが印象的でした。
滝澤より
スポンサー企業の影響もあるとは思うのですが、RUM(Real User Monitoring)というキーワードをよく目にしたり聞いたりしたのを感じました。Webサイトのパフォーマンス測定に利用するのはもちろんのことなのですが、滝澤が聞いたセッションではCDNの障害検知にもRUMを使っていました。何か他の用途にも使えないかなとちょっと考えてみたりしています。