トラブルこそ成長の機会――「手のかからない」インフラを目指してオンプレからクラウドに移行した60日間の奮闘【デブサミ2020】
【13-D-2】ぼくらの六十日間戦争 ~オンプレからクラウドへの移行~
自動車アフターマーケットの企業を中心に、多彩なシステムを提供する株式会社ブロードリーフ。同社ではこれまでオンプレミスで運用してきたソリューションインフラ「.NSシリーズ」を、パブリッククラウド(AWS)に全面移行した。約2万5000社が利用中の大規模オンラインサービスを、止めることなく移行するチャレンジだ。さまざまな課題やトラブルが発生したが、同社のインフラ/アプリケーション開発の両チームが一丸となり、みごとに60日間の長い工程を乗り越えることができたという。本番移行の直後に起こった重大なトラブルとその原因追求、そして克服まで、同社の技術チームがどのように取り組んでいったのか。さらに今回の長い「闘い」を通じて得られた知見について、プロジェクトの取りまとめにあたった左近充裕樹氏が紹介した。
自動化・省力化を目標に、既存のオンプレ版インフラをAWSに移行
現在ブロードリーフでは、大きく2つのBtoB向けサービス・インフラを提供している。Google Cloud Platform(GCP)上で新たに提供が開始されたクラウドネイティブのプロダクト「Maintenance.c」と、今回の移行の対象となった「ブロードリーフ.NSシリーズ」だ。
前者は、最新のクラウドインフラにふさわしくKubernetes を使用。スケールアウト可能なデータベースを提供しており、Linux ベースで動く。これに対して既存の「ブロードリーフ.NSシリーズ」は、VM・物理サーバーを使用したオンプレミスの構成で、データベースにはRDB を採用。OSはWindowsといった仕様だ。
左近充氏は、「今後は順次『Maintenance.c』に、お客さまやデータを移行させていくことになります。そこにエネルギーを集中するためには、既存の『.NSシリーズ』をできるだけ手のかからないインフラにリニューアルする必要がありました。そこで、Amazon Web Services(AWS)への全面的な移行を決めたのです」とねらいを語る。
早速同社では、パブリッククラウド移行の目的=「手のかからないインフラの実現」に向けて以下の6つの獲得目標を掲げた。
- ハードウェア管理/保守期限からの脱却
- OS/ミドルウェアの最新化
- Infrastructure as Codeによる自動化/属人化の排除
- バックアップ・リストア、クラスタ維持などの運用コスト削減
- 拡張性の向上
- TCO(Total Cost of Ownership)の削減
これらは新しいインフラの特徴であると同時に、オンプレミス時代のさまざまな課題を解決するカギでもあった。
移行先にAWSを選択した理由を左近充氏は、「以前、別件でサーバー移行の経験がありノウハウを持っていること。加えて、何より低コストで多くのマネージドサービスが用意されていること」だったと語る。また移行後のインフラの必須要件としては、「Infrastructure as Codeで管理する」「オートスケーリングを使用する」「マネージドサービス(Amazon RDS)を使用する」なども挙げられた。
「サーバーが落ちた時に、自動で復旧できる。またデータベース運用におけるパッチ適用やバックアップ、フェールオーバー、ストレージ拡張など、あらゆる面で『手のかからない』インフラ作りを考えました」(左近充氏)
移行するデータ規模は、ファイルサーバーが約1.5TB=1500万ファイル以上。データベース(Microsoft SQL Server)は複数で構成されており、合計で5TB以上に及ぶ。だが、この規模が当初は移行のネックになった。実際の移行シミュレーションを行ってみた結果、1TBを転送するのに40時間かかることがわかったのだ。一方「.NSシリーズ」はBtoBサービスであり、今回の移行作業も昼間のユーザーの業務にインパクトを与えないよう、原則として夜間にのみ行うことが義務づけられていた。
「そこで、大規模なデータベースについてはデータベースミラーリングを利用し、小規模なものはフルバック&リストア。そしてファイルは毎日、ファイルコピーソフトの『FastCopy』で同期する仕組みを考えて、制限時間内に収めるのに成功しました」(左近充氏)
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営する開発者のための情報メディアです。日々の開発に取り組むエンジニアやテクノロジーを学びたい方に向けて、プログラミングやAI活用、開発ツール、エンジニアの学びとキャリアに関する記事をお届けしています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア
