1
/
5

理想とする開発体制をつくるために、僕らが取り組んだこと~AWS移管を完了して~

今年2月、「youbride」のAWSシステムへの移管が完了しました。「クラウドサーバーに移管しなければとずっと思っていた」というエンジニアたちの想いが結実した形になりました。今回は、AWS移管までの経緯と、移管において苦労した点などをざっくばらんに、本プロジェクトを牽引してきたかいはつ室室長の藤田雄大さんと野口真吾さんのお二人に聞きました!

移管に踏み切るには、さまざまな問題を乗り越えなくてはいけなかった

――AWS以前はどのサービスを使っていたのですか?

藤田:Diverseすべてのコンテンツは、オンプレミスで運用していました。それこそ、Diverseという会社が出来上がった頃からです。物理的なマシンという特性上「構成変更を行いにくい」という最大のデメリットがありました。必要があれば、サーバー運用会社にサーバーを用意してもらったり、仮想サーバーをセットアップしてもらったりと、社外とのやり取りが必ず必要だったからです。サイト内部の仕様が複雑になればなるほど、サーバーの問題が「障害」となって現れてきました。

――問題が顕在化していたのですね。

藤田:はい、そうです。もちろん、エンジニアたちはその問題に早くから気づいていましたし、実際2~3年前から「クラウドサービスに移管したい」という話もでていました。
しかしいくつかの事情があって、なかなか移管に踏み切ることができなかったのです。

1つは利用していたデータベースが、既存のオンプレミス型に依存していたこと。移管することで依存していたすべてのデータベースを一から構築し直さなければなりません。大きなコストがかかる、ということが懸念材料でした。
そしてもう1つは人的リソースの問題です。サーバーサイドエンジニアのリソースを移管作業に割くことがどうしてもできなかったのです。大きな2つの問題があり、実際移管するまで時間がかかってしまいました。

移管をする、ということは歴史に手を入れることでもある

――それでも移管に踏み切ることができた、その大きな理由はなんですか?

野口:移管のタイミングと具体的な移管計画の両方が合致したことですね。会社的にも、クラウドサービスを使うことに抵抗はありませんでしたし、むしろオンプレによるデメリット部分が事業のスピードに影響を与えてしまっていました。

――数あるクラウドサービスバーの中でAWSを選んだ理由、また注意した点を教えてください。

藤田:他のサービスでAWSを使用していることが多く、知見もあったことからAWSサーバーを選びました。技術的な面でとにかく注意したのは、「稼働しているサービスをダウンさせないこと」。そして「長い時間をかけずスピーディーに完了すること」、この2つです。
特にyoubrideは、Diverseの中でも歴史があるサービスなので、正直なところシステムそのものが古くなっている部分も多数ありました。ある程度手をつけたら動かなくなる、といったシステムについては、再構築が必要だったのです。その一方でサイトは毎日滞りなく稼働させなくてはならない。稼働と移管の両立にはとにかく神経を使い、慎重に進めていきました。

全体の移行には、一日のうちでサービス利用が一番少ない時間に約1時間サービスをストップさせ、問題なく完了することができました。

野口:移管のスケジューリングで注意した点は、とにかく工程を細かい作業レベルに分割し、それぞれ分担したことです。
全体の作業としてはボリュームがあり大変でしたが、一つずつ見ていくと「大きな問題が起こって作業が進まない」ということではないんです。むしろ、小さな問題がちょこちょこ起こる。それを修正する。その繰り返しでした。

オンプレミス上では気付かなかった、今まで見逃していた小さなバグがあり、そのせいで接続の切り替えがうまくいかない、ということも多々ありました。これは、実際やってみないとわからなかったことですし、細かな不備が明らかになった瞬間でもありました。

藤田:チーム全体の話で言えば、「やるべきことをできる限りミニマムに」を心がけました。作業を進めていくと、どうしても「あれもできるんじゃないか」「こうすればもっと良くなるんじゃないか」という欲が出てきてしまうんです。

しかし、今回の目的はあくまでも、確実かつスピーディに移管を完了させること。チーム一丸となってできるだけ早く進める、ということで線引きして進めました。一般的な手法であれば数カ月かかるものも、調べたら違うやり方で同じことができることが分かった際には、後者の手法を採用しました。このように、プロジェクトの目的をメンバーでしっかり共有しつつ、個々が自分の役割を粛々とこなした結果、通常でいけば数ヶ月かかるであろう作業も、数週間で予定通り完了させることができたんだと思います。

――苦労した点や、チャレンジしたことなどあれば教えてください。

野口:実はこれだけの大きな移管をするのはみんな初めての経験でした。そのため、どの部分が難易度が高いか?どこならスムーズに進めていけるか?といった予想が立てづらく、手探り状態な部分もありました。また、古いシステムだったので純粋に「移管しづらい」という点も見受けられました。

円滑に進めるために、方針を変更。あらかじめ担当エリアはそれぞれ決めていましたが、難易度やスケジュールによって都度、メンバーチェンジをしました。タスクに対して適切なリソースを割いた結果、メンバーがストレスを感じることなく、移管を進めていくことができたのです。
また、実現できる作業案を出しては実行、を繰り返し着実に進めていきました。スピード感を重視したことでリズムよく、また効率的な作業ができたのだと思います。

藤田:今回、チャレンジしたことといえば、インフラまわりをコード化して、Terraformでの一元管理を進めたことです。これにより属人化しやすいインフラレイヤーの見通しがよくなりました。今後は、他のサービス管理においても使用していきたいですね。移管作業は、大きなトラブルもなく、ほぼほぼスケジュール通りに完了しました。ひとえに、みんなが一生懸命、自分のミッションに確実に取り組んだ結果だと思いますね。

――実際、AWS移管してみて、使用感はいかがですか?

藤田:オンプレミス型における最大の課題は何なくクリアになりました。いうまでもありませんが、今ではクラウド上でサーバー操作ができるので、構成変更に関わるストレスもなくなりました。結果的にあらゆるスピードが格段に上がりましたね。

今よりもっとサービス向上を目指して、進化していきたい

――最後に、今後の展望を教えてください!

野口:今後はYYCのAWS移管を今年上期に完了させる予定です。サーバーサイドエンジニアのチームと連携し、こちらもスピーディーに進めていきます。
AWSのマネージドサービスへの切り替えも積極的に行っていきたいですね。YoubrideやYYCの移管が終われば、サービスの改善しやすくなったり、今まで諦めざるをえなかったことが出来るようになったりとさまざまな事が可能になります。これで終わり、なのではなくむしろスタート!と捉えていきたいですね。

藤田:今回の移管は、「すごいことをやった」のではなく、「確実にやらなければいけない作業に取り組んだ」と私は捉えています。それと同時に「改善をしなければいけない」という会社としての心構えというか、意志も感じることができました。そういった意味で、今後Diverseはエンジニア主導でどんどん良いサービス、良いコンテンツを生み出していけるに違いない。そう確信しています。
YYCの移管で言えば、youbrideと比較して規模が大きいので、作業時トラブルなどが出ないようにしなければならず、プレッシャーもあります。ただ今回の移管で得た知識がたくさんあるので、それを用いながら、どんどん新たなチャレンジもしていきたいです。

―ありがとうございました!

株式会社Diverse's job postings
6 Likes
6 Likes

Weekly ranking

Show other rankings
If this story triggered your interest, go ahead and visit them to learn more