こんにちは。ピクシブで採用担当をしているokayuです。
突然ですが皆様、ピクシブのインフラ規模をご存知ですか?ピクシブでは20以上の自社サービスを開発運用していますが、約300台規模のサーバなどからなるインフラ基盤も自社で構築・運用を行っており、秒間10万リクエスト・30万クエリ以上の処理と、60Gbpsを超えるトラフィックを無理なく安定的にさばいています。
これだけのインフラ規模を安定運用するために、エンジニアたちは普段どのような努力をしているのか? 今回は、技術開発本部インフラ部のマネージャーyosより、ピクシブのインフラエンジニア業務についてご紹介してもらいたいと思います!
まずは自己紹介をお願いします
こんにちは。インフラチームマネージャーの追川です。社内ではyosというニックネームで呼ばれています。2006年に中途でピクシブに入社しました。当初は開発エンジニアでしたが、2012年ごろにインフラ部に配属され、その後は一貫してインフラ領域に携わっています。
2017年にインフラ部リーダーとなり、2018年にマネージャになりました。
ピクシブのインフラ環境について教えてください
ピクシブは世界最大級のイラストコミュニケーションサービス「pixiv」をはじめとし、2,000作品以上が無料で読めるマンガサービス「pixivコミック」、30万店以上を誇る創作のためのマーケットプレイス「BOOTH」、3Dに関わる創作活動を支える「VRoid」など10以上の様々なサービスを提供しており、そのほぼ全てを自社で開発・運営しています。
それらのサービスを支える数百台規模のサーバなどからなるインフラ基盤も自社で構築・運用を行っており、秒間10万リクエスト・30万クエリ以上の処理と、60Gbpsを超えるトラフィックを、無理なく安定的にさばく必要があります。また、ピクシブでは毎日60回以上の本番デプロイが行われており、日々新しい機能・サービスが開発されていることから、時には開発の初期段階から開発者と密に連携し、一緒になって新しい環境を構築することもあります。
サービスの拡大やユーザの増加に合わせて日々増大していくこれらの課題に対応し、多くのユーザに安心して使ってもらえる環境を用意するため、システム設計や物理的な機器調達はもちろん、OSやミドルウェアのパフォーマンスチュニーングなどを行うことが、私達インフラエンジニアの仕事となります。
インフラ部のミッションとチーム体制は?
「事業部が本質的課題解決ができるようにするためのインフラストラクチャの設計と整備を行う」
インフラ部はプロダクトのサービス提供を安定させるための専門のチームです。
プロダクト開発を行っている開発エンジニアが開発に専念できるよう、そのプロダクトのサービス品質(安定性・信頼性・可用性の向上)の責任を負っています。また、対ユーザーに対して快適なサービス品質を提供するための手段を追求するチームでもあります。現在ピクシブのプロダクトは海外のユーザーも多くいるため、世界中すべてのエンドユーザーに対して、ピクシブのコンテンツを安心・安定した形で届ける必要があります。
なお、インフラ部のチーム体制は、SREチーム4名とSAチーム2名の2チーム制で構成されています。SREというと、一般的なSRE(Site Reliability Engineering)業務のイメージを持たれがちですが、ピクシブではSREチームがオンプレミスの設計構築運用も担当しています。
一方SAチームはAWSやGCPなどのクラウド中心に、社内の開発エンジニアがプロダクト立ち上げの際に直面する様々な課題解決を担当しています。SA(Solution Architect)は一般的に社外との折衝などの業務が多いイメージが強いと思いますが、ピクシブのSAは社内の開発エンジニアの抱えている課題に対して、提案を行い実際の運用まで一貫してサポートすることが大きな特徴です。
ピクシブのインフラエンジニアの業務内容は?
2チームともにタスクベースの仕事とプロジェクト業務があります。いずれも開発エンジニアに寄り添ったサービス提供時の課題解決支援を行なっています。
SREチームは定例業務としてオンプレミスのリソース管理、サーバ調達、構築などがメイン業務です。その他サーバハードウェアのインシデント対応、開発エンジニアへのサポート対応。プロジェクト単位だと、年間単位から数ヶ月単位のものまで多様なタスクを請け負っています。年間単位だと画像配信用に高速なインターネット回線を引き込むための調整等もデータセンター事業者と行ったりしています。その他社内の開発エンジニアからニーズを集め、サービスが使うミドルウェアの用意やデータベースの変更対応なども行っています。
一方、SAチームの定例業務はクラウドのリソース管理、ベース構築提供などがメイン業務です。クラウドのインシデント対応、SaaS全般の運用やアカウント管理のサポートも担っています。プロジェクトベースだとGitLabのオンプレミスからクラウドへ移行等大掛かりな施策もあります。各プロダクトの仮想化推進などを進めているのもSAチームです。
ピクシブならではの特徴はありますか
ピクシブはpixiv、BOOTH、FANBOX、VRoidなど、多くの自社開発プロダクトを有していることが最大の特徴です。基幹プロダクトであるpixivは開発から15年が経過し、登録ユーザー数約8000万という巨大サービスに成長している一方で、さらなる事業領域の拡大のため、多くの新規サブサービスも立ち上げている状況です。負荷対策や新規サービス立ち上げの際には社内の開発エンジニアと協力し、インハウスで一貫して事業開発が行います。また使用技術の柔軟性の高さもピクシブの特徴です。インフラ面だとオンプレミス、クラウドのそれぞれ良いところを採って運用をしています。
自分がやりたいと思ったパーツの組み合わせを試行することができたり、カスタマイズ性を重視した開発環境にいられることはインフラエンジニアとしてとても仕事がしやすい環境だと感じています。
直近の取り組みや今後やりたいことはありますか
最近取り組んでいるプロジェクトは、プロダクトのコンテナへの移行プロジェクトや開発環境の移転プロジェクトです。既存のプロダクトをコンテナ化することでスピード感のあるリソース調整が行えるようになります。また、キャンペーンなどの高負荷時にも柔軟にリソースを増減させ、ユーザーが快適にサービスを利用してもらえるようになります。一方、開発環境の移転プロジェクトでは、サーバやネットワークなどを一新するプライベートクラウドの構築を予定しています。日々、多くのデプロイが行われるピクシブの開発では、より柔軟な開発環境構築のニーズが高まっています。
このプロジェクトにより、エンジニアそれぞれの快適な開発環境が提供できるようになります。これらは大きなプロジェクトであり、現在、一つ一つのタスクを着実に進めています。
今後やりたいことは数多くありますが、1つは海外ユーザーアクセス品質の向上を目指した海外展開です。ピクシブプロダクトはイラストコミュニケーションサービスという特性上、海外の利用者も多く、pixivで言えば、現在1日あたりの新規登録ユーザー数の3〜4割が海外の利用者です。多くのプロダクトを支えるインフラ部では今後のグローバル需要にも応えていくため、海外でのインフラ拠点の開設等も視野に入れてプロジェクト企画を行なっています。
業務を行う上でのやりがいはどんなことがありますか
サービスの速度向上/品質向上のため、”なければつくる”精神で、現場の裁量が大きく新しい技術を次々と試行できることは大きなやりがいです。やろうと思えば何でもできる環境なので、好奇心旺盛な方ほど楽しめる環境だと思います。
社内の開発エンジニアと一緒に仕事をするため、基盤を支えているポジションを実感しつつも実際のサービスにつながる提案ができることも魅力の1つです。SREチーム、SAチームどちらとも新しいパーツやクラウドに関する技術や施策を試せる点はとてもやりがいだと感じています。
ピクシブではインフラエンジニアを募集しています。
ピクシブは世界最大級のイラストコミュニケーションサービス「pixiv」をはじめとし、「pixivコミック」、「BOOTH」、「VRoid」など15以上のプロダクトを提供しており、そのほぼ全てを自社で開発・運営しています。それらのプロダクトを支える数百台規模のサーバなどからなるインラフ基盤も自社で構築・運用を行っており、秒間10万リクエスト・30万クエリ以上の処理と、60Gbpsを超えるトラフィックを、無理なく安定的にさばく必要があります。
インフラエンジニアは「創作活動がもっと楽しくなる場所を創る」という ピクシブのミッションを継続していくための基盤を維持するポジションです。プロダクトに近い立場でインフラを支えるため、メンバーはインフラ領域を専門としてきたわけではなく、開発エンジニアからインフラエンジニアに転身した方も多く在籍しています。インフラに関わらず得意な技術領域が1つでもある方、技術力をプロダクトへ生かしていきたい方、インフラ領域の技術を身につけたい方はぜひご応募ください。幅広い技術を持って共に成長してきたいエンジニアからのご連絡を心よりお待ちしております。
yosさん、ありがとうございました! ピクシブでは現在インフラ部にジョインしてくれるSRE、SA職を大募集しています。ブログの内容を拝見していただき興味をお持ちでしたら、是非下記エントリーフォームよりご連絡ください。
応募窓口
カジュアル面談応募窓口