ツナワタリマイライフ

日常ネタから技術ネタ、音楽ネタまで何でも書きます。

LEARN ENVOY - Service Mesh

blog.chaspy.me

はい。Service Mesh 編ですね。読んでいきましょう。

  • east-wast traffic と呼ばれる internal call をすべて Envoy 経由にすることによって、load balancing や resilience strategies を適用できる
  • sidecar として、すべての network は localhost に向けて Envoy へ proxy される

Envoy as a Sidecar

  • Kubernetes での設定例。Envoy の Container を Pod にいれればよい

Sidecar Configuration

すべてのトラフィックを Internal network がやってることと同じように扱えば良い。

  • Expose a single listener for your services to send outbound traffic to
  • Serve the full route table in all sidecars
  • Consider using dynamic configuration for instance discovery in the first iteration

Observability

Service Mesh の最大の利点の1つ。 - Pick metrics that relate to customer experience - Segmentation of simple metrics, not more types of metrics - Add tracing in Envoy

Tracing もここでできるんだ。

Multiple Regions

Data Center ごとに Front Proxy が必要だよ。

ふむ!という感じでした!流し読みでよさそう。

LEARN ENVOY - Front Proxy

www.envoyproxy.io

One of the most powerful ways to deploy Envoy is as a front proxy

ふむ。

Front Proxy、つまり自分たちのネットワークに入ってくる入り口のところに Envoy を立てるパターンの話。

いまのところこれに相当するのは Nginx が立ってるし、まぁ参考程度にみた感じ。

実際には NLB だとかの後ろに Front Proxy としての Envoy が立つ感じなんかな。

LEARN ENVOY - Routing Configuration — RDS

www.envoyproxy.io

ROUTING WITH A CONTROL PLANE

とあるのでやはり Control Plane のことを考えねばならんのか。


  • Large Scale に Envoy を Production で展開するには Control Plane が便利
  • Single Source of Truth として Configuration を管理できるので便利
  • Serving Routes via RDS
    • RDS は何かというと Route discovery service
    • Control Plane が API として RDS を実装して、それを Envoy から呼んで Routing Configuration を Dynamic に設定するんだろう
  • Best Practices for Routing Definitions
    • In order to scale out a single system for routing definitions, there are three key principles to follow:
      • Treat routes as data, not config
      • Distribute control to teams with ACLs
      • Design for changes with audit logs and rollbacks
  • 1: Treat routes as data

    • 言いたいことがイマイチわからないなー
    • バージョンコントロールとかにのせて Routing を 1つの yaml でみんなで管理しようとするのがよくないと言っている?
    • 何かしらの api 経由で更新するようにして、正しく動くことを保証して整合性を保つようにしろと言っている?
  • 2: Distribute control to teams

    • トラフィックのルーティングをサービスチームができるようにする
    • その場合、権限も一緒に渡す
    • それはそう
  • 3: Design for change

    • route の変更履歴は残そう
    • 誰がいつやったのか
    • ロールバックもできるようにしよう
    • それはそう

やっぱり Control Plane を扱ったことがないとイマイチつかみきれない展開が続いてつらい。

Boracay Island

現地でスマホからいくつか Twitter にはあげていたが、持っていった一眼でもいくつか撮っていて、見返すと美しかったので載せておく。

f:id:take_she12:20200201160737j:plainf:id:take_she12:20200201160807j:plainf:id:take_she12:20200201160811j:plainf:id:take_she12:20200201160820j:plainf:id:take_she12:20200201160829j:plainf:id:take_she12:20200201160921j:plainf:id:take_she12:20200201160930j:plainf:id:take_she12:20200201160928j:plain

年に1回は南の島のプールつきのホテルに泊まってビーチで「何もしない」をしないとダメだと強く思った。

SRE NEXT 2020 の運営と登壇をしてきた

してきた。

sre-next.dev

SRE Lounge の運営メンバーで、やろーぜ、と手探りではじめた、日本ではじめての SRE のカンファレンスが無事開催された。

運営のコアスタッフとして

主にコンテンツという点で、CFP の選定のリードを行いました。

外から見ると非常に楽しそうには見えますが、やってみるとかなりしんどかったです。

選定に関わった7人のコアスタッフのそれぞれの意見を。正解も基準もない中で、基準を作りながら、有限の枠数に納めなければなりません。

SRE Lounge への信頼もあったおかげで、たくさんの Proposal が集まり、非常にレベルの高い選定となり、嬉しい悲鳴でした。

ちなみに自分も Proposal を出したんですが、「自分の Proposal には一切意見ができない」という制約でやりましたので、フェアであることは一応書いておきます。ネガティブな意見に対してのコメント・言い訳もなしです。(だって他のひとは Proposal だけで判断されてるからね!)

最終的にはいい経験ができたし、自分も出すことでレベルの底上げができたと思うので出してよかったと思います。

当日の役割

RoomA のリーダーをやっていました。

これだけは後世に伝えておきたいんですが、「インカムをつけた状態で発表を聴くのは不可能」です。まじで。

Room のリーダーは「なんかあったときに・なんもないようにいい感じによろしく」みたいなポジションなので、基本的には RoomA にいるんですが、司会の @muziyoshiz さんが完璧な司会をし、当日スタッフのみなさんが自律的に動いてくれたことで用無しで無事に終わりました。

登壇

登壇もしました。登壇の時間と前後30分は時間をもらい、持ち場を離れてスピーカーとしての役割に集中しました。

なおここで運営スタッフである水色のTシャツからスピーカーの黒のTシャツに着替えました。

20分では全然足りず、早口になってしまい聴きにきたひとには認知負荷の高い発表になってしまったことは反省しています。

来たひとが追体験できる、あるいは来れなかったひとが話した内容を学べるよう、補足する記事を会社のブログで書く予定です。

嬉しいことに満員御礼(立ち見も出てました)でして、何か1つでも持って帰るものがあれば幸いです。

「SLOっていう言葉は知ってる。でもそれどうやって使うの?」って思うひとはきっと多かったんだろうと思います。そういうひとたちに向けて、僕が地道にやってきた半年間を語りました。

懇親会

@EGMC さんとメンテモードのときの 503 出た時の SLO の扱いどうする?って話をしたり、repro の @exxyan さんにちょうどこれから SLO 策定しようとしてるところだったので今度ゆっくり話しましょうって言ってもらえたり(Quipper と Repro は Shared Channel があるので優勝)、@hokkai7go さんに連れられてはてなの若者に「やればいいじゃん!やれるよ!」と雑ながらもきっと意味があったであろう言葉をかけたり、追いかけたい背中の1人である @rrraaayyy さんに「よかったよ」って背中叩かれて感激したり、@deeeet さんに「疲れたときは犬を飼え。そのときは相談しろ」と人生のアドバイスをもらったり、終了間際に@toshanan さんに一方的にファンコールをしたりしてとても楽しかった。

運営チーム

最高のチームでした。最高のチームでした。

このチームだからこそできました。

参加した方で、いいカンファレンスと思ったら、運営スタッフに会ったときに、「ありがとう」「最高だった」と伝えてあげてください。

スタッフ卒業

理由はいろいろあるんですが、卒業しました。あとはまかせました。

帰りの電車から翌朝にかけてコアスタッフにメッセージを書いて、いきなり挨拶して、スッっと抜けました。解散ライブをせずに解散発表するタイプのミュージシャンなんで、ごめんなさい!

12月の頭に抜けることを決めてから、本当に過ごす時間1つ1つが愛おしく、寂しく思いながらスタッフの仕事をやってました。みんな本当に、こんな適当で雑な僕を仲間に受け入れてくれてありがとうね。

おわりに

僕の SRE としてのキャリアは SRE Lounge / SRE NEXT とともにありました。きっとこれからもそうだと思います。

また何かの形でコミュニティに恩返しができるといいな。

そのために、追いかけたい背中を追いかけていこうね。

願わくば誰かにとっての追いかけたい背中になれますように。

英語進捗 2020 Jan.

とりあえず継続することができるようになってきたので、質と量を少しずつ伸ばしたい。

アメリカ人がなぜ英語喋れるかって1日中英語使ってるからやで理論に従うと、1日25分じゃ死んでも追いつけない。いや追いつけないんだろうけど、成長のスピードは遅い。3時間ぐらいにどうにか持っていきたい。

これ毎日捻出するの結構キツいな。

abceed は隙間時間と通勤電車といっても60分は行かないので、もっと隙間時間作るか、意図してやらないといけない。

シャドーイングに関しては、散歩しながらやる。痩せる気はしないけど一応健康意識が 1mm ぐらいはある。

最後技術学習と合わせてやらないとなので、まぁこれは英語というよりは普通に勉強と思えばできなくはない。

とにかく歩きと隙間時間を使って1時間ぐらい今まで浮いていた時間を活用しつつも、家で向き合ってやる時間はどうしても必要になってくる。たった3時間確保でもこれだけ難しいの厳しいな。

でも abceed すごい楽しいので TOEIC 受けるの楽しみになってきた。

シャドーイングの課題が、やっぱりいきなり聞くだけだとなかなか理解できないので、最初に script を読んでだいたい中身を理解してから聴くというのをやりたいが、それをやる前に移動してしまいできてないという状態になっていてよくない。なんとかしたい。