2020年振り返りと、今年の抱負的なもの
はじめに
ogadyです。
今年はいろいろありましたが、自身の備忘もかねて2020年を振り返っていこうと思います。
(振り返りが年越してもまあええやろって思ってる)
2020年の振り返り
ざっくり
- 1月〜2月:コアシステムのデータ移管、EPUBチェックツールの開発、運用、SRE NEXT 2020開催
- 3月〜4月:コアシステムのデータ移管、SRE部に兼任メンバーとしてJoin
- 5月〜6月:コアシステムのデータ移管、コアシステムのクラウド化検討、SRE Lounge #12開催
- 7月:コアシステムクラウド化にあたり、Terraformをキャッチアップ
- 8月:AWSインフラ設計、TerraformによるAWSインフラ構築、GoでAWSサービスをラップするAPIの開発
- 9月:Angular(フロント)、Go(バックエンド)で新規サービスをフルスタック開発
- 10月~11月:PHPを7系へバージョンアップ対応、PHP新規機能実装
- 12月:コアシステムクラウドデータ移行試験
1月〜6月
コアシステムのデータ移管
やったこと
- マイグレーションシステムの開発(Go、AWS、OracleDB、PostgresDB)
- マイグレーション作業
- 電子書籍形式(EPUB)チェックツールの開発
- PMOとの移管作業調整
今年の前半は、昨年から引き続きコアシステムの移管案件をメインにやってました。特に自身としては、属人化防止、ツール開発による作業の効率化に関心を向けて取り組んでいました。
案件自体に途中から参加したので、案件の前提やタスクのハンドリングはリーダーがメインにやっていただき、自分は作業の手順を明記したり、アセット(EPUB)を並列でチェックできるツールを作成したことでチーム全体の生産性をあげることに注力していました。
SRE NEXT 2020開催
SRE NEXT 2020のイベントに運営として参加しました。詳細は別の記事でまとめているので是非!
SRE Lounge #12開催
SRE Loungeのイベントに運営として参加し、初のオンライン開催を行いました。
自分は動画配信方法の検証・計画や、当日のオブザーバーとしてZoomに入りコメントや意見などを差し込んだりしていました。
オンラインイベント経験が少ないメンバーでしたが、なんとかいい感じにできたんじゃないかなと思ってます。次やるときは懇親会含め、参加者全体がコミュニケーションできる形で、エンジニア同士がつながっていけるようなオンラインイベントにしたい。
社内のSREチームに兼任メンバーとして参加
SRE NEXTやSRE Loungeで得た知見を社内Slackで共有していたら、「ちょうど社内でSREチームが発足するから是非入ってくれないか」と声をかけていただき、自分としても是非やらせてくださいということで、兼任としてSREチームに参加することとなりました。(やりたいことアピールするのはマジで大事)
途中でメインの案件が忙しくなってしまい手伝えなくなってしまいましたが、荒れ果てたAWSアカウント管理や、クラウドセキュリティ周りの整備、SLI/SLOの普及活動、Datadog導入検証などいろんなことをやらせてもらいました。
7月~12月
コアシステムのクラウド化
今年の7月あたりからは弊社のコアシステムのクラウド化対応が本格的に始動しました。
案件の体制としては、既存オンプレの保守チームとクラウドリフトチームが主に開発し、SREにセキュリティやモニタリングの設計のサポートに入ってもらう感じで、僕はクラウドリフトチームとして、AWSインフラ設計・構築だったり、新規サービスや内部APIの開発をガリガリやっていました。
もとのオンプレシステムがいわゆるレガシー化しており、技術的な課題が沢山あったものの、チームメンバーに前職の同僚をリファラルで召喚したりして、いろいろ手伝ってもらいました。おそらく開発当時ではベストプラクティスだったのだとおもいますが、そこから何年も経過した結果レガシー化して行ってしまったのかなぁ、って感じです。できればクラウドリフトするにあたって、既存のアプリケーションはすべてコンテナ化してFargateにホスティングしたかったのですが、どうしても解決できない課題があり、一部はIaaSにて運用することとしました。
また、クラウドリフトにあたりS3やSESを使用する部分は、クラウドリフトチームがAWSサービスをラッピングする内部APIをGoで作成し、既存オンプレ保守メンバーにそのAPIを使用する部分をPHPで実装してもらうことにしました。この方針は結構うまく行ったと思っていて、メール送信やアセットファイルの操作箇所を既存オンプレ保守チームの人海戦術でガンガン修正していくことができました。
下期はほとんどをこのクラウドリフトに張り付いていたのですが、いろいろ詰まったことが多く学びもあったので、どこかのタイミングで登壇したいなーと思ってます。
技術的なインプット
-
Web基礎技術
- ネットワーク
- これまでなぁなぁで触ってたHTTPヘッダーや、パケットの流れ方と真面目に向き合う必要があり、体系的に学び直した
- ブラウザ技術
- Cookie、ローカルストレージの各属性や使い分け、セキュリティ課題などの知識を再整理
-
インフラ
- AWS
- Fargate、Lmabdaの新機能をガンガン使った作成(機能全盛りLambdaとかも作る羽目になった)
- EFSのアクセスポイント設計
- SQS、Lambdaを利用したイベント駆動バッチフローの作成
- NLBの仕様、ユースケースを整理、実装
- IaC
- Terraformのモジュール設計、実装(ディレクトリ構成、実運用時のいろんなつらみに遭遇した。。。)
- コンテナ
- Dockerの再学習
- コンテナロギング手法の検討、設計
-
バックエンド
- Goを使用したAPI開発
- Swaggerスキーマ作成
- PHP7系へのバージョンアップ
-
フロントエンド
- Angularを使用したフロント開発
技術的なアウトプット
アウトプットは、基本弊社のテックブログで業務で扱った技術要素について記事を書くことが多かった。(合計4本)
あとは、技術書典ではTech Do Book #4にも2本寄稿しました。
イベント登壇については、あまり進展はないものの弊社主催の外部向けイベントに「aws-sdk-go-v2入門」というテーマで登壇するという実績を開放しました。
ただ、この登壇直後aws-sdk-go-v2
に破壊的なアップデートが入ったため、この登壇内容は一瞬で過去のものとなってしまった。。。
趣味とか
相変わらずアニメをみまくっていた
僕はもともとアニメが好きなので、懲りずに毎クールごとにアニメを追いかけたりしてるのですが、今年も旧作から新作まで60作品くらいみてたと思う。
完全個人の感想としては、テレビシリーズは「映像研には手を出すな」、「ドロヘドロ」、「BNA」あたりの上期にやってたアニメが最高だった。劇場版アニメは「羅小黒戦記」一択。
あと、社内のアニメ・漫画好きの人たちといろいろ会話してく中で、そもそも「オタク」という呼び方やレッテルに対して違和感を抱くことが多かったのでこの辺ちゃんと言語化してnoteでも書いてみようかなど思いました。
VRの世界に再び
VR機器自体はもともと持っていて、1年ほど前にVRChatを楽しみつつ、自分のオリジナルアバターを「Blender」を使って作るなどしていたのだけど、周りにやってる人が全然いなくて、そのうち放置してしまっていた。
そしたら今年、「Oculus Quest 2」の発売で周りにVR人口が増え始めたなーとおもっていたら、友達の@Takashi NarikawaがVRChatにどハマりしたらしく、自分も再びVRの世界に戻ってみた。
最初に思ったのが、スタンドアロンで動くHMDがめっちゃ楽ということと、新型コロナの影響かオンライン上での空間体験に力を入れた企画が増えていたこともあり自分が触っていた時とは、VRChatがすごい進化してるなと感じました。
VRは映像コンテンツとしてだけでなく、全く新しいエンタメ体験を得ることができる可能性があるなーと小並感のある感想を持ちました。日本人向けの初心者コミュニティとかも充実しているので、このタイミングで始めるのめっちゃいいと思います!
2021年の抱負
業務内のこと
クラウドリフト後の運用、監視の充実をまずはしっかりやっていきたい。ここはSREチームと協力しながら自分の得意領域にしていきたいと思ってます。
その後は、自分の興味領域に対して社内でできることを探しつつ、深堀りしていく年にしたい。
業務外のこと
アウトプット量を増やしたい思いはあるものの、あくまで自分のペースでやっていくのが向いてるなーと最近気づいたので、あまりストイックに考えすぎずにやっていこうと思います。
とはいえ、イベント登壇や執筆系はある程度定期的にやりたいので、ネタは都度都度ストックしていかないと。
趣味のこと
アニメ・漫画は何も言われなくても観るので、そのことについて何か記事書いてみるとか、VRまわりのアバターモデリングとかをやってこうかなと。モデリングはとりあえず自分のリアルアバターでも作ってみようかな。VRChatでWorld作るなら羅小黒戦記の世界を再現してみたいなぁと思ってます。