インフラエンジニアとしての成長の秘訣は“ポジティブやじうま”精神!
月間3,000万人という多くの方にご利用いただいている「All About」。普段、何気なく閲覧しているサイトですが、大量のアクセスがある中で、常に快適な状態を維持するためには、裏で活躍するインフラエンジニアの存在が欠かせません。そこで今回はシステム部SREグループで活躍する甘粕(あまかす)さんに、インフラエンジニアのお仕事について語っていただきました。
甘粕 元基(あまかす はるき) システム部 SREグループ 新卒から現在までインフラ界隈で経験を積む。クラウドの知見があまりないことから、GCPを採用していたオールアバウトに2017年8月に入社。現在はSREグループの一員として活動中。趣味は映画とガジェットいじりと猫と戯れること。最近は買ったスマートスピーカーで何をさせるかで悩み中。 |
■あえてGCPを採用するエンジニアスピリッツに惹かれた
——まずは甘粕さんの仕事内容とSREグループのミッションについて教えてください。
「新規サービスのインフラ構築」と、「既存サービスの運用・保守」、そして「旧環境の移行」の3つが今の主要なミッションです。SREグループは、2017年の10月にインフラグループからSREグループに名前が変わりました。SRE(Site Reliability Engineering)とは、Googleが提唱している新しい方法論で、コーディングやソフトウェアエンジニアリングによって、システム全体の性能やセキュリティなどを高めようとする活動全般を指すものです。
ひとことで言えば、サイトの信頼性を上げるためのチームですね。SREを採用することで人的なコストを下げると同時に作業ミスをなくし、パフォーマンスやセキュリティを一律にすることで、サービス全体のレベルを上げることができます。
ひとことで言えば、サイトの信頼性を上げるためのチームですね。SREを採用することで人的なコストを下げると同時に作業ミスをなくし、パフォーマンスやセキュリティを一律にすることで、サービス全体のレベルを上げることができます。
——甘粕さんが入社したのは2017年の8月ということですが、転職の理由は?
実は、昔の同僚がオールアバウトに入社していて、誘われたのがきっかけです。いろいろ話を聞いていると、当時はまだ知名度もなかった「GCP(Google Cloud Platform)」を2年くらい前から採用していると聞き、あえてGCPを選ぶスピリッツと、それに追随するエンジニアの高いメンタルに惹かれましたね。
サービスの量も圧倒的にAWSの方が多かったし、日本語のナレッジも雲泥の差。GCPをやるなら英語のドキュメントを読まなくてはいけないので、わからないことがあれば自分たちで解決するしかない。こんなに壁が見えているにもかかわらず、そこへ突っ込むなんて、すごいなと思いました。そんなエンジニアたちの中で揉まれたら自分のスキルアップにつながるのではないかと思い、転職に至りました。
サービスの量も圧倒的にAWSの方が多かったし、日本語のナレッジも雲泥の差。GCPをやるなら英語のドキュメントを読まなくてはいけないので、わからないことがあれば自分たちで解決するしかない。こんなに壁が見えているにもかかわらず、そこへ突っ込むなんて、すごいなと思いました。そんなエンジニアたちの中で揉まれたら自分のスキルアップにつながるのではないかと思い、転職に至りました。
——実際に転職してみて、どういう印象を受けましたか?
「あのでっかいサイトをどういう風に切り分けて運営しているんだろう?」というのは、パッと見で想像できなかったのですが、実際に入ってみると見えていなかった部分の技術がいろいろ見えてきて楽しいですね。負荷を分散させるために、カテゴリで分けて管理しており、GCPを使っている理由はここにあったのかなと思いました。
——入社後、早々にSQL Serverのクラウド移行という難しいプロジェクトを担当したそうですが、大変ではありませんでしたか?
私自身、MySQLの経験はそれなりにあったのですが、SQL Serverの経験がほとんどなかったので、「SQL Serverって何なの?」というところからスタートせざるを得ませんでした。それに、SQL Serverのバージョンが極端に古すぎて、どうやっても同一のバージョンでは遷移できないということで、アップグレードによる弊害を読みきれないのは大変でしたね。
あと、データ移行に関しても、バージョンが古すぎて推奨されているやり方が使えないものがあって、非常につまずきました。結果的にうまくいったから良かったものの、本当に正しい手順だったのかどうか確信が持てず、かなり最後まで四苦八苦しました。
あと、データ移行に関しても、バージョンが古すぎて推奨されているやり方が使えないものがあって、非常につまずきました。結果的にうまくいったから良かったものの、本当に正しい手順だったのかどうか確信が持てず、かなり最後まで四苦八苦しました。
——周囲の方によると、「そもそもどれが正解かわからないし、選択肢の数すら見えない中、ひとつずつ淡々と潰していく姿がすごかった」と評価していました。
それは全然気がつきませんでしたね(笑)自身のメンタル的には、そんな追い詰められた感覚はありませんでした。「ダメなら、こっちでやればいいか」くらいなもので。最後に手がなくなったときには少し焦りましたが、上長の寺門さんが別の方法を提案してくれたりして、「まだ行けるわ」と。周りがいてくれたから、なんとかなったところも多分にあると思います。
——過去にもそのようなハードな経験をしてきたから、たいしたことはないと思えたのでしょうか?
確かに、きついプロジェクトは何度か経験してきましたね。自分にとって一番辛いのは、不完全なものをリリースする事です。例えば、以前いた会社で大きなシステムの移行プロジェクトを担当したことがあったのですが、そのときは明らかにクリティカルな問題があることが分かっていて、リリースの期日の延長を提案したものの、マーケティングの都合上「無理です」と言われちゃって。“絶対に爆発するのがわかっていて、なおかつ爆発の規模が読めないまま出す”というのは、メンタルにきますね……。
——インフラエンジニアとしてのプライドが傷ついたから?
うーん……それもあるかもしれませんが、一番根底にあるのはユーザー視点です。当時はゲーム会社だったので、何か不具合があるとユーザーからのクレームがすごかったんです。一度ユーザーの信頼を損なってしまうと、サービスそのものが使われなくなってしまうじゃないですか。だからこそ、インフラエンジニアとして可能な限り最善なものを出したいし、妥協できない&したくないポイントで意思が通らなかったときは、メンタルにくるんだと思います。そういった意味でオールアバウトでは、かなりバッファを見てスケジュールを組んでくれていたので精神的に余裕がありましたね。
■どんなトラブルにもまず首を突っ込んでから考える
——甘粕さんは予想外のトラブルへの対応が素晴らしいと他チームからも評判ですが、普段、仕事をする上で、意識していることはありますか?
同じサービスを展開している以上、チームってあまり関係ないかなと思っています。視界に入った障害は、すべて自分も入ることで潰せる可能性があるじゃないですか。もしかしたら自分が知っていることかもしれないし。
とりあえず見てみないとわからないので、一度見てみて、なんとかできそうなら、協力したほうが復旧の近道にもなる。もし引っ掻き回しそうだったら、一旦引いて情報を集めてから、また参加すればいいと思っています。炎上の度合いによっては飛び火する可能性も十分あるので、早めに参加しておいたほうが情報も得られていいのではないでしょうか。
とりあえず見てみないとわからないので、一度見てみて、なんとかできそうなら、協力したほうが復旧の近道にもなる。もし引っ掻き回しそうだったら、一旦引いて情報を集めてから、また参加すればいいと思っています。炎上の度合いによっては飛び火する可能性も十分あるので、早めに参加しておいたほうが情報も得られていいのではないでしょうか。
——なんというか“ポジティブやじうま”って感じですね。
たしかに言われてみればポジティブなやじうまですね(笑)。わからなくても突っ込んじゃうところがあります。見て見ぬ振りは好きじゃないので、そうしているのですが、もしかしたら余計なお世話感はあるかもしれません。でも人と一緒に問題解決するのは楽しいですし、解決できたらうれしい。一人で障害に当たるのって、つらいじゃないですか。やっぱり誰か協力してくれる人がいたほうが、心強い。だから自分が当事者じゃなかったとしても、協力してあげたいと思いますよね。
問題が起きているときって、明確に問題の場所が切り分けられていたら、そんなに難しくないんです。でも、切り分けられなかったら調査からしなければなりません。そんなときは、いろんなエンジニアの専門的な視点を入れていくことで問題が見えやすくなるので、目を増やすというのは解決策のひとつとして、良いのではないかと思っています。
問題が起きているときって、明確に問題の場所が切り分けられていたら、そんなに難しくないんです。でも、切り分けられなかったら調査からしなければなりません。そんなときは、いろんなエンジニアの専門的な視点を入れていくことで問題が見えやすくなるので、目を増やすというのは解決策のひとつとして、良いのではないかと思っています。
——SQL serverは専門外だったということですが、新しい技術をどのように習得されていますか?
基本的には、会社で必要な機材は、可能な限り自分で買って触ってみます。SQL serverは高額なので買えなかったのですが……。やっぱり最新の情報を業務にフィードバックしたいので、環境を合わせたいという思いがあります。今は業務でGCPを使っていますので、個人的にもあれこれ趣味でサービスを立ててみて、遊んでいます。
私にとって、新しい技術はおもちゃみたいなものですね。新しい何かができそうじゃないですか。今も学生時代の友人や昔の同僚と一緒に、アイデアを出し合いながら楽しんでいます。
私にとって、新しい技術はおもちゃみたいなものですね。新しい何かができそうじゃないですか。今も学生時代の友人や昔の同僚と一緒に、アイデアを出し合いながら楽しんでいます。
——甘粕さんが考えるインフラエンジニアとしての心構えを教えてください。
「100%のパフォーマンスを発揮するよう努める」「サービスの稼働率は100%を目指す」「データの欠損をなく運用する」「セキュリティを担保する」「正しいスケールに合ったものを提供して、必要に応じた拡張ができるように設計する」というインフラエンジニアとしてやるべきことを達成するというのが第一の目標です。これらを担保しつつ、SRE的な考え方で、コードを管理して定常的な業務を自動化し、業務効率を上げながらサービスのレベルも上げていけるようになっていきたいですね。
Back Number
Rankingランキング
- MONTH
- WEEK