tjun月1日記

なんでもいいので毎月書きたい

2019年を振り返る

今年はいろいろあったので、書いておく。

仕事

2019年の前半はかなり頑張ったと思う。2018年4月にメルペイに入社してからSREとしていろいろ準備してきて、今年2月にメルペイをリリースできた。この1年、SREのエンジニアTech Leadとしての仕事とEMとしての仕事を両方やっていたので、それぞれ書いてみる。

SRE

リリースが近づく前は設計したインフラをコード化して仕組みを作る作業と、リリースまでに必要なことをいろいろ整理してつぶしていくということをひたすらやっていた。Microservices Platform teamと協力してやることもあった。技術的な部分だけでなく、マイクロサービスの運用のための組織的な仕組みづくり、会社としての情報統制などいろいろなことをやってた。このときにいろいろ仕組みを作っておいてよかったと思う。

2018の年末から2月のリリースまではいろいろあってめちゃくちゃ大変だった、リリースのためにかなり働いた気がする。 しかしSREはリリースしてからが本番みたいなところがあり、当時はいろんなものが属人化してて自分しかわからないみたいな部分がかなりあったので、なにかあったときは自分が見るしかないかなという感じがありリリース後も安心して休める日はあまりなかった。

GW以降は少し落ち着いてきた。人が少しずつ増え、自分がやらなくても回る部分が増えてきた。 それまでは、まわりの要望に応え、問題に対応するだけでいっぱいいっぱいであまり新しい仕込みができなかったが、少しずつ未来のための仕事ができるようになってきた。

今は自分で手を動かしてなんとかしなきゃならない、みたいな部分はほとんどなくて、課題や改善点を見つけて他の人に対応お願いしたり、要所で設計に入ったりレビューしたり、インシデント対応のフォローしたり、自分が作った仕組みを他の人も触れるようにしたり、という感じで基本誰かと働くことが増えた。属人化を減らすために、自分しか把握してなかったものもドキュメント書いたり一緒に作業したりしながらメンバーに渡すみたいなこともいろいろやった。

Tech Leadの役割としては、作ってきた仕組みを外れないようにレビューしてチームを正しいと思う方向に導く仕事と、次の道を作る仕事があると思っている。今の自分たち(会社やSREやDeveloper)ができてないこと、やらなきゃいけないことにはどんなことがあって、何をいつやるべきか、そのためには何が必要か、そんなことをずっと考えてる。去年まだリリースしてなかったころと比べると大きな変化だなーと思う。

EM

Engineering Managerとしての仕事は去年はほとんどできてなかった。チームも人がほとんどいないし、自分がPlayerとしてタスクをこなす必要があった。リーダーっぽいことを少しやっていたくらい。

今年になってからメルペイのリリースもあって、EMとしても変化がでてきた。 まず、採用のための仕事をいろいろやった。マイクロサービスが増えていく中でSREとしてやるべきことやりたいことがいっぱいあるので、優秀なチームメンバーを採用していく必要がある。 その中でNon-japaneseなメンバーが入ったことも大きな変化だった。英語を日常的に使うようになった。 そして、人が増えてきた。去年までは2-3人のチームだったのが、今では8人になった。 4人までのときは、SREに来る仕事を分担しながら捌いていればよかったが、8人になるともう少し計画的にやっていく必要がでてきた。なかなか計画どおりにうまく行かず試行錯誤しながらやっている。

また、EMとしてSREのチームだけじゃなくて会社の組織に向けて働くみたいなことを考え始めた。 SREの考え方(例えばSLOを使った開発・運用)を実際に実践していこうと思うと、技術だけやっていてもダメだしSREチーム内だけでやっていてもだめで、エンジニア組織や会社全体に理解してもらう必要がある。 幸い周りの人や今の会社はかなり理解があるので、いろいろやっていくチャンスがある。

まとめると、年のはじめはSREのプレイヤーとしてメルペイリリースをやってきたけど、チームが成長してきて自分のやるべきことが少し変わってきたという2019年でした。

登壇など

今年はいろいろやりました。 LTを除いて覚えているものは以下です。

出張・旅行

今年は海外行ける機会が増えてよかった。 ここ数年、旅行が国内か近いアジアに偏りがち。

海外

  • 4月 サンフランシスコ Google Cloud Next
  • 5月 香港、深セン 旅行
  • 6月 シンガポール SRECon Asia
  • 10月 台湾 旅行

国内

  • 9月 茨城(銚子)旅行
  • 10月 宮古島 旅行
  • 11月 大阪 CloudNative Days Kansai
  • 12月 兵庫(有馬温泉、神戸) 旅行

ゲーム

今年やったゲームはそんなに多くない。

  • Apex Legends
  • デス・ストランディング
  • ポケモン剣盾
  • Division2
  • Dead by daylight
  • Anthem
  • リングフィットアドベンチャー

時間的には Apexを結構やったけど、1つ選ぶならデス・ストランディングかな。

来年

いい感じにがんばりたい

CloudNative Days Tokyo2019で発表しました

メルペイのマイクロサービスの構築と運用というタイトルで発表してきました。

いろいろ苦労しながらなんとかやってますが、まだまだやることはいっぱいあるので興味がある方はご連絡ください!!

追記 ベストスピーカーに選んでいただきました、ありがとうございます!

Fastly meetup #2でLTしてきた

2019/04/16のFastly Meetup#2 でLTしてきました。枠が余っていたので、2つ。

一つは、Fastlyのメトリクスやログをどのように監視、調査しているかについて、もう一つはKubernetes上のNode.jsのmicroserviceアプリケーション with nginxで画像を配信したときに、404が意図せずFastlyでキャッシュされてしまった問題について話しました。

2018振り返り

年越したけど久しぶりに更新します。

書いてたら長くなっちゃんたんで、めっちゃ省略して書きます。

  • 4月 ソニーをやめてメルペイに転職
  • 5月 旅行で小豆島、豊島、徳島に行った、豊島よかった
  • 6月 上海行った
  • 10月 Engneering Managerになった
  • 12月 クソ忙しい

というわけで忙しいけど楽しくやってます。

技術的には、GCP, GKE, Terraform, Microservicesという感じで最近はGoよりyaml書いてます。

GAE/Goをdelveでデバッグする

AppEngine/Goでこれまで開発していて、必要な箇所はログを出していれば状態が取れていたのであまりデバッガが使いたくなることがなかったんですが、 最近ちょっとデバッガを使いたい状況があり、AppEngine/Go のローカルサーバに対してDelveをつないでデバッグしたので、やり方を書いておきます。

※基本的に以下はMacでのやり方になります。Linuxもそんなに変わらないと思う。

準備

Delveをインストールします。

go get -u github.com/derekparker/delve/cmd/dlv

GUIを提供する gdlvというのも入れてもいいかもしれません。

サーバを起動

AppEngine/Goのローカルのサーバを立ち上げます。このとき、オプションが必要です。

goapp serve -debug <PATH_TO_YAML_DIR>

または、

dev_appserver.py --go_debugging  <PATH_TO_YAML_DIR>

以前は、delveAppengineなどを使う必要があったみたいですが、今はdebugオプションがあるので不要になりました。

delveをアタッチ

まずアタッチするプロセスのpidを調べます。

$ ps au | grep _go_app

52613 ttys003    0:00.03 /var/folders/wn/xxxxxxxxxxxxxxxxx/T/tmptMHgJNappengine-go-bin/_go_app

アタッチします

dlv attach <pid>

ここは、sudoが必要かもしれません。 また、自分の環境では MacのOS のversionが古いせいか、以下のようにpathを指定する必要がありました。

dlv attach 52613 /var/folders/wn/xxxxxxxxxxxxxxxxx/T/tmptMHgJNappengine-go-bin/_go_app

delveでデバッグする

あとは、delveでブレークポイント貼ってデバッグしていく感じです。 ここでは解説しませんが、 bブレークポイント貼って、cで回して、nでステップ実行して、 sでステップインして、pで見たい変数見て、lで今いるところを確認する、くらい知っておけばとりあえず使えると思います。 delve/Documentation/cli

初めて使いましたが gdbっぽい感じで使えてあまり違和感なかったです。

その他

たぶん設定すればエディタと連携してもっと便利に使えると思います。

以上です。