2021 年ゆくインフラくるインフラ
こんにちは!
株式会社POL テックカレンダー Advent Calendar 2021 23 日目担当の山田です。前回の記事はこちらで、我らがゲバさんによる AWS Amplify のコントリビューションのための記事でした。
今日は年末ということもありまして、2021 年のインフラ観点での振り返りと、現在・今後の取り組みについてお話したいと思います。
1 年間の振り返り
Kubernetes 環境
POL で提供しているサービスは AWS EKS もしくは AWS Amplify 上で動いています(AWS EKS へ移行した際の話はこちらを、Amplify 関連は我らがゲバさんの note をご確認ください)。
EKS 上では本番環境のアプリケーションはもちろん、動作確認のために開発環境(いわゆる DEV 環境)のアプリケーションも動いています。DEV 環境はプルリクエストごとに EKS 上に環境が用意されるようになっているため、開発者同士が干渉せず DEV 環境上で動作確認やデザイン確認を実施することができます。こちらについての詳細は以前、社外 LT にて詳細を話させていただいたので、その時のスライドをご確認ください。
この 1 年間でエンジニアの数も増えており、2021 年では 600 以上もの DEV 環境が作成され 2000 回以上のデプロイが実施されておりました。
この DEV 環境ですが、何の不具合もなかったわけではなく、利用者である開発者の方に少なからずともご不便をおかけしていたこともあります。例えば、DEV 環境が大量に作成されるようになった結果として、VPC 上のプライベート IP アドレスが枯渇してしまうようになり、DEV 環境が作成されなかったときがありました。最終的にはサブネットを拡張することで対応しました。
Datadog の導入
POL では先程紹介したとおり、AWS を全面的に利用しております。各サービスのログは AWS CloudWatch だったり、Athena だったり、はたまた Grafana Loki だったりと散らばっていました(自分が好き勝手に散らかしてしまいました)。
そこで統一したログモニタリング環境を用意するために、@nkgさん による Datadog の導入をしていただきました。
Datadog はログ収集以外にも、RUM (リアルユーザーモニタリング) も利用しており、ユーザーアクティビティの理解はもちろん、アプリケーション上のエラーの捕捉(どの画面でどんな操作でエラーが発生しているのか)にも利用しています。
Algolia の導入
全文検索エンジンとして Algolia を導入しました。詳細は書くことができないのですが、今まで利用していた MySQL ベースの全文検索機能にて課題が出ていたこと、検索機能の体験向上をしたいということで、全文検索エンジンを導入しました。全文検索エンジンとして Algolia を選択した理由や、実際に使ってみてどうだったのかについては自分の note をご確認ください
インフラギルド
14 日目やアドベントカレンダーで紹介されているとおり、POL では「ギルド活動」という制度があります。Google の 20%ルールみたいなもので、普段の業務とは異なる取り組みを実施できます。
具体的な活動内容としては、サービスの機能には直接関わらないが解決したい課題だったり、手作業による運用(SRE の文脈における「トイル」)などを解消したりしています。19 日目のアドベントカレンダーがギルド活動の具体的な内容となっているのでご確認ください。
今後の取り組みについて
こちらの note でも紹介されている通り、POL では現在マイクロサービス化を推進しております。今後の取り組みとして、マイクロサービスが複数立ち上がる際に、開発者が素早くデプロイできるようにフローなどを整えたり、新たな仕組み作りを検討中です(DMM さんのこちらの記事のイメージです)。また、今まではバックエンドサービスにて HTTP API を用意していましたが、こちらでも紹介されている通り、gRPC も利用していきたいと思っています。マイクロサービスや gRPC などを導入していく過程でネットワーキングや、 Datadog を用いたモニタリングについても再考していく必要があると思っています。
全文検索については、現在は一部本番環境にて Algolia を用いた全文検索機能を提供できるようになりましたが、やっと入り口に立てたという感覚です。これから Algolia の機能をフル活用していきたいと思っています。(個人的は Personalization など ML 系機能はもちろん、GIS データを用いた検索機能も導入していきたいです)。また、他のサービスでも全文検索機能を利用したい場面があり、Algolia の導入に必要な手順・障壁をなくしてくかについても実施してきたいと思っています。
まとめ
上記の内容についてもう少し詳しく聞きたい方や、一緒に取り組んでいきたい方を募集しておりますので、お気軽にカジュアル面談にお申し込みください!
明日のアドベントカレンダーはバズりの伝道師こと @ReiTamura さんです!