FLINTERS Engineer's Blog

FLINTERSのエンジニアによる技術ブログ

PYXISインフラチームの軌跡

中途三年目、堀越です。

わたしはPYXISという広告代理事業のエンジニアです。アプリケーション開発をする傍らインフラチームという集団の一員でもあります。今日はそのインフラチームついて書いていきたいと思います。

メンバー構成

わたしを含め4人のメンバーから構成されています。

Name Description
K.I氏 課題解決マン、貧乏くさいメロディックデスメタルが好き
H.H氏 シェル芸人、ビールが好き、1児の父
T.K氏 Scalaテトリスが好き、千葉県在住(最近引っ越したらしい)
あたい ブロガー、弁当男子、筋トレと走ることが好き

インフラチームの定義

基本的にアプリケーションのインフラ構築・保守/運用は各開発チームに任せてあります。*1
上記を念頭に置いたうえで、結成当初、自分らの存在意義についてブレストを行いました。

f:id:t_horikoshi:20190724003006j:plain
インフラチームの定義ブレスト

大まかには下記のような感じにまとまりました。*2

  • 開発チームではカバーしきれない箇所のサポートや知見の共有
  • 管理されなくなったインフラのメンテナンス
  • インフラリソースのコスト管理
  • 新技術の検証・導入

インフラチームは上記のような活動を文字通り粛々と行っている集団です。

これまでの振り返り

これまでの活動について振り返っていきたいと思います。

AWSリソースのメンテナンスチェック業務

PYXISのインフラは主にAWSを利用していますが、利用中のリソースに対して更新イベントがスケジュールされることがあります。 基本的には性能が良くなったり、セキュリティ向上などの前向きな更新が多いものの、予期せぬタイミングでの再起動されるなど依存しているアプリケーションが停止するリスクがあるのも事実。これを回避するため自分らで再起動したり、各チームへの注意喚起などを行いました。

SSL証明書ACM化対応

以前はサードパーティより発行したSSL証明書をインポートして利用していたために、年一回の更新作業が発生していました。これをマネージドなACM証明書に切り替えまして更新作業を排除、人件費削減に成功しました。

docs.aws.amazon.com

どなたが立てたかわからないApacheサーバーに証明書が直に配置されてました。現状把握のために探検したのですが骨が折れるものがありました。

警察業務

我々は時に、おまわりさんに姿を変えます。

リソース警察

ご存知の通りインフラリソースは安いものではありません。未使用のEC2や、EIPを放置しておけば無限に利用料を吸われてしまいます。余計な請求は嬉しくないので日々パトロールを実施し、摘発した不要リソースを撲滅する作業を行いました。

IAM・キーペア警察

お恥ずかしい話ですが、退職者や不要なIAMユーザーやキーペアが放置プレイされておりましたので摘発後、無き者にしました。

コストカット施策

我々は時に、ドケチ野郎に姿を変えます。

少しでもインフラリソースを安く利用するためにさまざまな取り組みを行いました。

  • リザーブインスタンス購入
  • コストカッター開発
    • 土日祝日、営業時間外、稼働の必要のないインフラリソースの停止を自動化するサービス
  • neetchan開発
  • インスタンスタイプ修正
    • (新しいやつにするだけで安くなることがあった)

古文書作成

我々は時に、考古学者に姿を変えます。

はたから見ると明らかに不自然な構成をしていたり、不必要そうなリソースが存在がしているということはよくあると思います。その裏側には様々な歴史的背景があるものの、何の知らなければ永遠に解決しないモヤモヤが残ったり、不要な調査に時間を割いてしまったりという状況になってしまいます。

上記のような曖昧な状態を解決するために我々は 古文書 を作成しています。まだ作成途中ですが、これにはなぜそういう構成になっているのか、過去にどういった背景でそのような意思決定がなされたかなど、あとから来た人の なぜ? を解決する事項を記していきます。

注意喚起・啓蒙活動

互換性のないアップデートに対して手動パッチを適用するよう注意喚起を促したり、バージョンアップを促す啓蒙活動を行いました。直近では以下のような内容です。

Datadog 導入

モニタリングツールが散在している中で、機能やサポートが充実した Datadog を積極的に利用していき、将来的にはプロダクトを横断できるモニタリングの仕組みを作っていこうという動きがあります。

www.datadoghq.com

一部のプロダクトに導入して使い心地を検証するなどを行いました。Datadogの営業の方がとても親切で好印象でした。

BitBucket → GitLab移行

ある時、Git のリポジトリマネージャーを BitBucket から GitLab に移行する決断がありましたので、必要なリポジトリは担当チームに移動をお願いしたり、不要なリポジトリは断捨離するなど行いました。また担当の付いていないリポジトリは自分らが移動するなど行いました。

政治家活動

我々は時に、政治家に姿を変えます。

リザーブインスタンス購入やDatadogの請求周りなどお金が絡むと、経営陣の方とのネゴりが必要になります。非常に厄介ではありますがこのあたりの政治的活動も我々のお仕事です。

おわりに

いかがだったでしょうか?「意外と地味なことやっているなー」とか「思ってたのと全然違ったわー」なんて思われた方がいるのではないでしょうか?おっしゃるとおりです。

ですが、開発チームが気持ち良く作業を行える環境の裏では、こういった泥臭い作業を汗びっしょり*3にして頑張っているおじさん達がいるんだぞ、ということをご理解いただけたかと思います。他の会社さんでも少なからず同じような境遇のインフラエンジニアさんがおられるのではないでしょうか。

辛いこともたくさんありますが、技術者として学びのある機会もたくさんあるのでやりがいを感じています。引き続き頑張っていきたいです。

人材募集!!!

株式会社セプテーニ・オリジナルでは一緒に働いていただけるエンジニアを積極募集中ですのでどしどしご応募ください。おじさん達と一緒に汗をかいてくれる方、大歓迎です。

<中途採用サイト>

*1:良いこと。

*2:執筆時に見栄えを良くしているところはあります。

*3:ここでいう汗は冷や汗。