コキチーズのホームページ

2020年技術的に学んだこと

December 29, 2020

2020年技術的に学んだこと

家に引きこもってたら2020年ももう終わりますね。
今年はのきなみイベントがやれなかったのでほぼアウトプットなしだったなーと反省です。
僕はミートアップの懇親会と言う名のオフ会が好きなのであまりオンライミートアップにやる気がなかったのも理由の1つではあります。

AWS

去年の末に部署異動してセキュリティから社内システムの開発運用をする部署に行って、AWSでログ基盤作りましょう!と話をしたらやることになったので今年はわりとAWSを触っていました。

CloudWatchLogsとKinesis FirehouseとS3とAthenaとLambdaとなんかほか色々触っていました。
GCPは元々それなりに慣れているので、クラウドを使うこと自体の障壁というのは個人的にはなかったのですが、オンプレとのデータやりとりやオペレーターごとのIAMの権限設計などなどがつらかったです。何がつらいってAWSに詳しくないセキュリティチームのメンバーにAWSでこうするからここまでは保証できて安全で、リスクはこのくらいありますという話を延々していて消耗しました。

ちなみになんでAWSなのかというと、会社としてすでにAWSと契約をしていてアカウントマネージャーもついて会社としてAWSが最適なところはAWSを使いましょうという流れになってたからですね。GCPはいなかったので選択肢になかったです。GCPが使えるならCloud Loggingに流してBigQueryに保存、Datastudioで可視化でもうログ基盤完成しちゃうのであとは権限周りを詰めるだけの話だったんですが、あとAWSのAthenaってカラムベースの権限設定はできなかったりもするのも個人的には微罠でした。セキュリティ要件的にカラム単位の権限も欲しいみたいな後出しをされたときはどうしようか悩みもしましたがQuickSightでカバーすればいいよとなったのはよかったです。

Applying row-level and column-level security on Amazon QuickSight dashboards

まぁそんなわけで今年はだいぶAWSAWSしてました。
あと11月に参加したAWS Game DayはAWS版ISUCONって感じで楽しかったです。

Atlassian

これも本業での話ですが、会社ではJiraとConfluenceをめちゃめちゃ長いこと使っていて、プラグインもりもり権限もバチバチですごいです。(何がすごいかは何も言わない)

それを管理しているチームにいなきゃ得られなかった学びと経験という点ではとてもよかったです。

権限管理の自動化のためにConfluenceに足りない機能をPluginで作りAPI化したのはよかった。

Developing a REST service plugin

あとAtlassian Forgeというのも調査のために色々調べてみたのですが、JiraやConfluenceのPluginをセキュアにかつメインのインスタンスに負荷をかけにくい作りで提供できるプラグインシステムには感動しました。

Atlassian ForgeのUI KitはReactのreconciler部分をサーバーサイド用に再実装し、ReactでUIを作るのと同じようにJiraやConfluenceのカスタムUIを作れます。最近話題のReact Server Componentと似ています。

個人的にはAtlassian ForgeのPluginシステムは今後SaaS提供しているところはどんどんマネしていくんじゃないかと思うくらいエレガントだなと思いました。今年出会ったサービスの中で僕が一番感動したのはAtlassian Forgeです。

GCP

副業でGCPもかなり知見を多く得られました。
FirebaseのFirestoreとGoogle Analytics、
GCPだとGKEとBigQuery周りを色々と触っていました。

GKEはGPU付きクラスターを頑張って運用していましたが、ユーザー数の増加によるコスト問題をいかに解決していくかという観点での頑張りでGPUがついてるついてないでの違いで大きな運用面でのつらみは全然ありませんでした。

コスト観点で行ってもプリエンプティブルGPUをメインに使うことにしてコストを抑えられました。その代わりいつ落とされるかわからないのでそこはシステム設計でカバーする感じです。

あと余談ですが、iOSのサブスクリプション周りにも詳しくなれました。GAで拾えないイベントをサーバーでどう回収するかなどの知見が得られたのは大きい学びでした。

Measurement Protocol (Google Analytics 4)を使えばサーバーサイドからでもGAのイベントを送信することができます。

来年やりたいこと

MLとYouTuberをやりたい。英語は諦めムード(でもむしろ英語のが今必要に迫られてる)
MLはやってみたい題材があるけど、どう取りかかればいいかよくわからないので悩み中

直近の課題ベースだとCloud RunとAnthosをもっと使えればとHashicorp Vaultあたりで解決できないかなと思ってます。(これが最適かはわかっていない)

YouTubeは知見をブログにするだけじゃなくてYouTubeにして、動画制作のワークフローを理解して何か自分の得意なことを活かしていきたいなと思ってます。

フロントエンドはNext.js便利ーな感じでちょこちょこ触ってましたが、言うほど学びはなくただのホームページビルダーくらいしにしか使ってなかったのでここももうちょい使っていければいいなと思っています。

それでは良いお年を


コキチーズ
千葉県で暮らすエンジニア