EnvoyCon 2018 Seattle で登壇しました

f:id:aladhi:20181217091426p:plain

こんにちは、Taiki です。先日、Envoy proxy のためのカンファレンスである EnvoyCon 2018 がシアトルで開催され、参加・登壇してきたので、私の発表内容や他の登壇者の内容をいくつかこの記事では紹介できればと思います。また、EnvoyCon は KubeCon + CloudNativeCon North America 2018 の co-located event として開催されたのもあり、KubeCon + CNCon にも参加してきたので、そちらのほうからも Envoy 関係の発表をいくつか紹介します。

クックパッドの発表

クックパッドではおよそ1年前から Envoy をサービスメッシュの data plane proxy として利用しています。クックパッドは Amazon ECS を使用しているのもあり、サービスメッシュの構築にあたり、自分たちの requirements や環境に合う製品が見つからなかったので、自社で control plane を開発するアプローチを採用しました。事前に生成した Envoy proxy 向けの xDS response を Amazon S3 を用いて配信する、という設計は Envoy ユーザーの中でもユニークなものであり、その設計の詳細や運用の側面について紹介しました。

EnvoyCon での発表

時系列順にいくつかご紹介します。

まずは Google の Harvey から、Envoy 開発の統計をもとに Envoy の開発状況について誰がどのように開発しているのか、という内容のトークがありました。OSS のユーザーとして、利用している OSS の開発状況やコミュニティは、その OSS プロダクトの将来性に関わることもあり関心があるので、興味深いセッションでした。クックパッドからも私がパッチを送っているのもあり、スライドに少し登場しています。

f:id:aladhi:20181217091530p:plain

次に eBay から Bala と Qiu が、 edge proxy としての Envoy 利用事例の発表をしました。eBay の PoP の中で動いていたハードウェアロードバランサーを、visibility の強化やより柔軟なトラフィックルーティングを実現するために、Envoy で置き換えるというチャレンジングな内容でとても楽しめました。

次に Yelp の Ben と John から、Yelp でのサービスメッシュの進化と data plane の Envoy への置き換えについてセッションがありました。Yelp では以前より HAProxy ベースのサービスメッシュを運用していて、そのサービスメッシュの改善・進化についての発表でしたが、”小さく始める” ポリシーやプロダクトの開発に集中するといった考え方がクックパッドでの考え方に近く、親近感を持ちながらセッションを聞きました。

次に、Google の Alyssa から、 Envoy のセキュリティ面での強化(hardening) について発表がありました。Google では全てのトラフィックを受け持つ frontend proxy での Envoy 利用が進んでいるようで、そのために Envoy のセキュリティ面、特に攻撃に対する耐性の強化についての発表でした。こちらは個人的に興味関心がある分野で興味深く聞きました。

他にも非常に興味深い発表が盛りだくさんでした。Twitter の #envoycon ハッシュタグ でも様子を少しつかめるのでぜひご覧ください。

KubeCon + CNCon での発表

Lyft から Daniel が、 database traffic に Envoy を利用している事例について発表しました。主な目的はメトリクスの確保です。Envoy はすでに Redis, DynamoDB, MongoDB への通信に対応したフィルターを実装しており、それを利用してどのような利点があったか、という内容でした。クックパッドでは MySQL, PostgreSQL の利用が主であり、Envoy のフィルターの実装を待つか手伝う必要があるのですぐには実現は難しいのですが、今後導入を図りたいと個人的に考えています。

Keynote, Envoy Update: Lyft から Matt, Constance, Jose の3人が Envoy の近況についてキーノート発表をしました。今回の KubeCon + CNCon での Envoy の盛り上がりを感じられるセッションかなと思います。

KubeCon + CNCon はすでにある程度 YouTube にセッション動画がアップロードされています。EnvoyCon も録画をしている様子があったので、そのうちアップロードされるのではないかと思います。

終わりに

Envoy やサービスメッシュに関連する事例を共有しあったり、現在の課題や実現を目指していることなどをお互いに話し合える場は大変貴重で、とても楽しみ、また数々の学びがありました。

クックパッドという会社はこのような海外登壇であっても強力にバックアップしてくれます。また、先進的な領域で問題に取り組み成果を出しやすい環境があります。興味のある方はぜひ下記のリンクよりコンタクトください。

https://info.cookpad.com/careers

We’re hiring!

/* */ @import "/css/theme/report/report.css"; /* */ /* */ body{ background-image: url('https://cdn-ak.f.st-hatena.com/images/fotolife/c/cookpadtech/20140527/20140527163350.png'); background-repeat: repeat-x; background-color:transparent; background-attachment: scroll; background-position: left top;} /* */ body{ border-top: 3px solid orange; color: #3c3c3c; font-family: 'Helvetica Neue', Helvetica, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, Osaka, 'MS Pゴシック', sans-serif; line-height: 1.8; font-size: 16px; } a { text-decoration: underline; color: #693e1c; } a:hover { color: #80400e; text-decoration: underline; } .entry-title a{ color: rgb(176, 108, 28); cursor: auto; display: inline; font-family: 'Helvetica Neue', Helvetica, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, Osaka, 'MS Pゴシック', sans-serif; font-size: 30px; font-weight: bold; height: auto; line-height: 40.5px; text-decoration: underline solid rgb(176, 108, 28); width: auto; line-height: 1.35; } .date a { color: #9b8b6c; font-size: 14px; text-decoration: none; font-weight: normal; } .urllist-title-link { font-size: 14px; } /* Recent Entries */ .recent-entries a{ color: #693e1c; } .recent-entries a:visited { color: #4d2200; text-decoration: none; } .hatena-module-recent-entries li { padding-bottom: 8px; border-bottom-width: 0px; } /*Widget*/ .hatena-module-body li { list-style-type: circle; } .hatena-module-body a{ text-decoration: none; } .hatena-module-body a:hover{ text-decoration: underline; } /* Widget name */ .hatena-module-title, .hatena-module-title a{ color: #b06c1c; margin-top: 20px; margin-bottom: 7px; } /* work frame*/ #container { width: 970px; text-align: center; margin: 0 auto; background: transparent; padding: 0 30px; } #wrapper { float: left; overflow: hidden; width: 660px; } #box2 { width: 240px; float: right; font-size: 14px; word-wrap: break-word; } /*#blog-title-inner{*/ /*margin-top: 3px;*/ /*height: 125px;*/ /*background-position: left 0px;*/ /*}*/ /*.header-image-only #blog-title-inner {*/ /*background-repeat: no-repeat;*/ /*position: relative;*/ /*height: 200px;*/ /*display: none;*/ /*}*/ /*#blog-title {*/ /*margin-top: 3px;*/ /*height: 125px;*/ /*background-image: url('https://cdn-ak.f.st-hatena.com/images/fotolife/c/cookpadtech/20140527/20140527172848.png');*/ /*background-repeat: no-repeat;*/ /*background-position: left 0px;*/ /*}*/