技術広報室のkamikoです。突然ですが皆様、ピクシブのインフラ規模をご存知ですか?ピクシブでは20以上の自社サービスを開発運用していますが、約300台規模のサーバなどからなるインフラ基盤も自社で構築・運用を行っており、秒間10万リクエスト・30万クエリ以上の処理と、60Gbpsを超えるトラフィックを無理なく安定的にさばいています。よりインフラの詳細を知りたい方はこちらのブログを先にご覧ください。
システム設計や物理的な機器調達はもちろん、OSやミドルウェアのパフォーマンスチュニーングなどを日々行っているピクシブのインフラエンジニアは、何とマネージャー含めて8名(2022年11月現在)
精鋭たちは普段どんな目標に向かって、どんな業務に、どんな想いを持って取り組んでいるのか?本日はインフラ部のSREチームに所属するエンジニアのうち、参加できなかった1名を除く4名にインタビューしてみました。
自己紹介をお願いします
konoiz)2016年に新卒入社したkonoiz(このいず)です。大学時代はモバイルメッシュネットワークのルーティングプロトコルを研究したり、いろんなサークルではサーバー管理を担当していました。
入社してからインフラ部に配属になり、ブックマークを新しいサーバーへ移行作業をしたり、当時インフラ部で開発していたレコメンドエンジンを担当していました。その他にも様々なプロダクトと関わっていて、入社初年度にはpixivコミックのCM放送に合わせて、サーバーの増強を担当したりもしました。現在はSREチームのリーダーをしています。
詳しい自己紹介は、採用サイトに掲載されています。
kiridaruma)2020年に新卒入社したkiridaruma(きりだるま)です。大学時代はLoDやSemantic Web、オントロジーの研究をしていました。元々ピクシブでアルバイトもしており、当時はバックエンドエンジニアを担当していました。
正社員として入社してからはインフラ部配属になり、現在はサーバーの調達・設置・OSやミドルウェアの設定・チューニングまで一通り担当しています。趣味はDJとミリタリーです。
nojio)2017年4月に中途入社したnojio(のじお)です。前職では約三年ほど官公庁内のインフラ運用や構築を担当していました。その当時はかなり古い技術を使ってたため、モダンな技術を利用していてある程度の規模を持つ自社サービスの会社を探していて、ピクシブに入社しました。
namazu)2018年に新卒入社したnamazu(なまず)です。入社してからはpixivのWeb開発をしており、現在主務としてはpixivのWeb領域に関するテックリードを担当しています。
今年の8月よりインフラ部に兼務しており、インフラの修行もしています。今回はインフラの視点で話させていただければと思います。
ピクシブのSREチームとは、どんな役割を担っているのですか
konoiz)一般的に言うSREとしての役割も求められますが、いわゆるプラットフォームSREとしての側面が強いです。
勿論開発エンジニアと一緒に動くこともありますが、同じ部署に所属している訳ではなく、ひとつの独立した部署として存在しています。
SREにも色々と種類がありますが、ピクシブのSREはいわゆるPlatform SREに近いチームになります。もちろん、アプリケーションに対する助言なども行っていますが、プラットフォームであるインフラ基盤の整備が主な業務です。
ピクシブは多くがオンプレミスで運用されており、その上で動くミドルウェアなどもSREチームが整備しているため、その業務内容は非常に多岐に渡ります。
具体的には、ハードウェアの構成を検討し調達するところから、ミドルウェアなどの設計・構築はもちろん、それらのパフォーマンスチューニングやリソースモニタリング、開発チームに対するSRE視点でのアプリケーションレビューなども行っています。
役割を踏まえて各メンバーの業務内容を教えてください
kiridaruma)最近だとWebサーバの設定やネットワーク、データベースを扱うことが多いですね。検証環境をオンプレのネットワークの外に作って、オンプレのネットワークを繋ぐみたいなことをしたりとか今まさにやっています。
その他だと、去年僕と本日お休みされているSREチームのエンジニアdekovoko(でこぼこ)さんの2名で、pixivのブックマークに関わるデータベースの改修を行いました。 inside.pixiv.blog
それ以外に海外展開の拡大を進めているのですが、詳細はまた今後お伝えできればと思います。
nojio)他のサービスチームは常に機能の追加や変更を行なっていますので、それに合わせたサーバリソースの見積もり、必要であればスケールアップやスケールアウトの対応、設定のチューニングは日頃行なっています。最近では主に、各サービスが利用するオブジェクトストレージであるCephのパフォーマンス改善を目指した検証や、Datedogによるサーバモニタリングの強化などを担当しています。
namazu)自分は8月に異動したばかりなので今現在はオンプレミスのインフラを運用する上で必要な技術をメンバーに教えてもらいながら習得しています。具体的にはpixivの開発で必要となったサーバー等の構築を一部行ったり、データベースのバージョンアップなどに取り組んでいます。
SREチームに入ってどんなことが出来るようになりましたか
konoiz)技術面ですとMySQLの知識がかなり深まりました。チューニングするために何をするべきかも分かるようになりましたし、Linuxで問題が起こった時にソースコードを見て、どのような問題があるのか調べることも出来るようになりました。コードを書いたりものをつくる技術だけではなく、コードをみて色々調べる能力はあがったのかなと思います。
チーム特有のスキルですとハードウェアの知識が増えましたね。自社サーバーを持っていると費用面が抑えられることもあるのですが、ハードウェアレベルでも最適なものを選択できるし、そのハードウェアを合わせたらソフトウェアのチューニングもできるようになります。
世の中はクラウド開発が主流になってきたこともあり、オンプレミスでサーバーを持つ会社は少ないので触る機会はいまの日本企業だと少ないと思います。仮に大企業で物理サーバーを持っていても既に会社やシステムの規模が大きいこともあって細分化されているため、ピクシブのように様々なサーバーに触れることが出来るのは、珍しいと思います。
技術面以外だと交渉のスキルや経理知識が身につきました。
kiridaruma)新卒入社する前にはVPSを借りてサーバを立てたり、物理マシンにLinuxを入れて触ったことはあったものの、ハードウェアの知識はあまりありませんでした。
インフラ部に配属になってからサーバーを調達したり、ネットワークの設定等をして、その辺のハードウェアやその周辺知識はすごく触る機会が多かったこともあり、身についた知識も多かったです。事業部長やマネージャー、チームメンバーから色々教えていただきました。
nojio)前職では構築チームと保守チームが分かれていたり、サーバを調達する人と運用する人が別だったりしましたがここでは分かれていません。必要な要件からサーバサイジングを行い製品の見積もりを取り調達、データセンターのラックの契約、ネットワークスイッチの設定とラッキングからサーバの構築と日常的な運用、アラート対応、ハードウェアの保守などかなり広い範囲を扱うことができます。そのためインフラの広範な知識が付きました。原因不明の障害発生時、ハードウェアとソフトウェアの両面から見ることができるようになったと思います。
また一つのサービスがオンプレミスとクラウドのハイブリッド環境で稼働している場合もあり、ハイブリッド環境特有の知識も学ぶことができました。
namazu)大学の頃、学内のインフラをちょっと触っていたことがあり、Linuxのマシンを組んでクラスタを作ったりしていたことはありましたが、冗長化やトラフィックの量など一般に通用する基準で構築・運用を経験したのはインフラ部に異動してからです。ネットワークの知識やミドルウェアに関してはもともとそんなにわかっていなかったので、より知識を得ることができるようになったかなと思います。
またpixivの開発をしていたとき実際にユーザーのリクエストはどのように流れているか、現状のリソースの懸念点はどこか、あるミドルウェアの設定値はどうなっているかなど、見えにくかった点がありました。これらがインフラとして業務することで把握できたり、知りたければ自分で知りに行くことができるようになった良い点です。
普段社員同士でどのようなコミュニケーションが発生しますか
kiridaruma)サービス側で施策やイベントをやるとき、普段とは違う負荷がかかるため、サービスの開発チームから構成を変えたい等の相談がきます。
相談頻度は毎日なので、SREチームでは日替わりで相談担当を決めて、他部署と話し合いをしています。
SREチーム内のコミュニケーションですと、毎日全員で朝会・夕会・共有会をやっていて、その日に詰まったこととか、緊急で相談したい内容を話したりしています。それ以外だと毎週チーム会があり、 中・長期的に影響があるもの、取り組むべきことについて話したり相談したりしています。
nojio)個々が自立性を持って動いています。インフラ部は会社の中でも、各個人の裁量が大きい部署です。扱っているミドルウェアの種類がすごく多いのと、関わるプロダクトも多岐にわたるので、個々人が自律性を持って仕事をすることが多いです。
ですが先ほどkiridarumaくんが話した通り、毎日朝会・夕会・共有会を開催して情報共有しています。
すばり!どんな人がピクシブのインフラエンジニアに向いていますか
namazu)インフラはプロダクトのフロントエンドエンジニアのように直接的にユーザーになにか形のあるものを提供するということは少ないです。しかしプロダクトのエンジニアも、実際にpixivを利用されるユーザー様も最終的には何らかの形で我々の構築したインフラの上にいるのでインフラに貢献することで広く影響を与えることが出来ます。ピクシブではある程度の規模のトラフィックもありますので、小さな改善も福利的に効き、大きな成果となることがあります。こういった取り組みにモチベーションが持てる人だと向いているでしょうね。あと自分で立てたサーバーがリクエストを捌いているのをみると嬉しくなる人とか向いてるんじゃないでしょうか(笑)。
konoiz)技術面ですと、ひとつ得意な技術をお持ちの方であれば問題ありません。
何よりも大切なことは「インフラをやりたい」というモチベーションを持っていることだと思いますね。SREチームではチャレンジする意欲が高いエンジニアを歓迎しています。
今後どんなことにチャレンジしていきたいですか?
konoiz)大前提として安定稼働した上で、よりスケールさせていくために新しいアーキテクチャに構成を変えていきたいです。個人的には海外を見据えたアーキテクチャの変更にも興味があります。
kiridaruma)自分の目標になりますが、ピクシブの持つサービス規模は今後より大きくなっていくので、今はデータセンターがひとつだけですが、複数のデータセンターでサーバー構築していきたいです。今はそこまで複雑なネットワークになっていないのですが、これからサービス規模が大きくなってくると、もっと複雑なネットワークの構成を組むことにもチャレンジしたいです。
nojio)現在はチームメンバー個々人で進める業務が多く、ひとりの裁量は大きい状態です。個人で持つ業務の負担を減らすために、インフラのコード化を進めていったり、手順書を整備していったり、よりチームで協力しあう環境を作っていきたいですね。
namazu)インフラ部に異動した理由の1つなんですが、pixivについてインフラとアプリケーションを統合的に扱っていき全体最適がとれたソフトウェアの改善をやっていきたいというのがあります。
例えば今回既に話に出ていますが「地理的な問題を解決し海外ユーザーの体験をより良くする」これは当然インフラ、アプリケーションの双方で改善が必要なことです。このようなプロジェクトを円滑にすすめるために尽力していきたいですね。
最後に
皆様、いかがでしょうか?
ピクシブでは現在インフラ部にジョインしてくれるSRE、SA職を大募集しています。記事の内容を拝見していただき興味をお持ちでしたら、是非下記エントリーフォームよりご連絡ください。
応募窓口
【中途採用】インフラエンジニア | ピクシブ株式会社
カジュアル面談応募窓口
カジュアル面談 | ピクシブ株式会社
それでは皆様、ごきげんよう。さようなら