皆さんこんにちは。虎の穴ラボのY.Fです。
4月から虎の穴ラボにアーキテクトチームが新設されました。今回の記事では新設されたアーキテクトチームがどのようなお仕事をしているか紹介してみたいと思います。
成り立ち
アーキテクトチームは、以下の目的のために設立された新しい部署になります。
- 虎の穴ラボの技術ブランディング
- 新規システム構築時の技術選定
- 新規システム構築時の全体的な設計の確認
- 継続的な技術レベルの向上
- インフラ等のコスト削減
- 全般的なセキュリティ強化
端的に言うと、虎の穴ラボの技術向上及び、セキュリティ関連を担う部署になります。
歴史
4月から新設されたと書きましたが、実際にはもっと前から活動はしていました。
月 | 活動内容 |
---|---|
2021/9 | 内部組織として発足 |
2021/9 | 社内勉強会開始(Deno、Go) |
2021/10〜2021/12 | 新規システムをGo+gRPCで作成 |
~2021/12 | システムのバックアップ環境整備、セキュリティアップデート対応など |
2022/1 | 新規サービスチームから1人正式合流(筆者) |
2022/2 | アプリケーションレベルのセキュリティ対応見直し |
2022/3 | セキュリティ情報キャッチアップ体制の構築 |
2022/4 | 通販開発チームから1人合流、正式な組織として新設 |
といった形で、現在は主に新規サービス時の技術選定や、セキュリティの向上を行っています。
次からは具体的に何を行ってきたか紹介していきたいと思います。
社内勉強会の開催(Deno、Go)
タイトル通り、社内勉強会の主催を行っています。会社として技術ブランディングにつながる技術や、積極的に利用して行きたい技術としてDenoとGoの勉強会を実施しました。
実施方法としては、
- 月一回1時間開催
- 担当者が各言語で与えられたテーマに沿って調べて来てハンズオン形式で発表する
- 例:DenoでのRDBの利用方法について
- ハンズオン形式なので、発表資料とともに実際に動くサンプルソースも必要
として実施しました。DenoとGoにしたより詳しい理由は以下になります。
- Deno
- toranoana.denoといった外向け勉強会も開催していてそれなりに取り組んでいる人がすでにいる
- TypeScript、JavaScriptランタイムなので同時にそれらの言語も学べる
- Go
- すでにいくつかのシステムで採用されているので使える人を増やす
- 今後APIなど作る時の候補としたい
などでした。今後、勉強会は様々なテーマで行っていく予定です。
新規システムをGo+gRPCで作成
筆者が開発したシステムになります。これは実際にはアーキテクトチーム所属前のタスクですが、関連が強かった仕事になります。
アーキテクトというからには技術選定や設計などにも関わることになります。ただし、トップダウンではなく、作るシステムに最適な技術を担当者に選定してもらい、その上でアーキテクト上の要望や改善を出していく形になります。
今回作ったシステムに関しては、以下からGoとgRPCを採用することにしました。
- データが大きくなることが予想できたのでRDBを分けたい
- マイクロサービスでまるごと切り分け
- マイクロサービスにする場合API連携なのでRails等である必要がない
- Go言語を採用
- 連携方法がサーバー間通信かつある程度速度が必要
- RESTである必要がないかつ、速度も早そうなgRPCを採用
細かい話については、1月に開催された「とらのあなラボTech Day#3」で発表していますので、以下資料を御覧ください。
www.slideshare.net
このように、作りたいシステムを見て、最適な技術やアーキテクチャを選択していくのも仕事の一つになるかと思います。
各種セキュリティ強化
アーキテクトチームとして実施しているのは、システム的なセキュリティ対策になります。
- 定期的なシステム脆弱性情報のキャッチアップ
- それにともなうソフトウェア及びライブラリアップデート
- Nginx等のWebサーバーの設定見直し
- 各種クラウドサービスの設定見直し
- ゼロデイ脆弱性があった場合の緊急対応
- 脆弱性検知のための仕組み導入
などを行っています。
まとめ
今回の記事では、虎の穴ラボで新設されたアーキテクトチームについて紹介してみました。虎の穴ラボを技術面から下支えする部署だと思いますので、今後も頑張っていきたいと思います。
P.S.
採用情報
■募集職種
yumenosora.co.jp