---
# System prepended metadata

title: Understanding Envoy
tags: [CNCD2019]

---

# Understanding Envoy

###### tags: `CNCD2019`

## 資料
https://speakerdeck.com/taiki45/cloudnative-days-tokyo-2019-understanding-envoy

## envoy以前
- 言語の乱立
- kubernatesから独立させる（AWSのELBとか）
- 独自ライブラリの乱立とメンテ工数の肥大

## envoy何が嬉しい
- proxyのnetwork周りはお任せ
    - 言語に依らない
- API経由での設定変更
    - 動的な変更ができる
    - xDS == * Discovery Service
    - gRPC or JSON/YAMLで設定
    - 初期の設定ファイルがあれば良い

## なぜこんなに採用されてる？
- 高クオリティ＆実運用済みの安心感
- 開発が盛ん
    - envoycon
    - googleが一番PR多い

### ただのメモ
確かにデファクト感がある。
結局gRPC proxy用に入れたというのもあるし。

## smart stackからenvoyへの移行
- HAProxy運用の手間が大きい
    - 自作フェイルオーバー等
- proxy部分を置き換えた(HAProxy → envoy)
- envoyの一部分の機能を使いたいから置き換え、もできる。いいこと

## HardwareLBからSoftwareLBへの移行
- SoftwareLBをenvoyへ
    - L4は別のソフトウェア
    - L7にenvoy
- Cacheストアとしてのenvoy

## envoy自動更新
- GitHubにpushしたものをjenkinsでS3へ
    - S3からDLして展開するサーバーがいる(itacho)

## envoy on VM
- サードパーティ提供のものがある
    - https://getenvoy.io
- カスタムフィルターが欲しい場合は自分でビルドしなさい
- VMベースでもサービスメッシュは可能だよ