株式会社サイクスは、Webアプリケーション開発やECサイト構築など、Webシステム開発を主事業としています。
この数年でECの利用が盛んになるにつれて、長年運用されているECサイトでは構築当初に想定した以上のアクセスが集中するようになり、高負荷への対応が急務となっていたそうです。同社は、以前からクラスメソッドメンバーズの請求代行サービスを利用、AWSでの負荷分散環境の構築も進めてきましたが、AWSの活用についてより高度な技術アドバイスを得るため、スポットでAWSコンサルティングサービスの利用を決断しました。
AWSコンサルティングサービスを利用するきっかけとなった課題と、サービス利用の成果について同社のシステム開発部 マネージャー 吉田智則さんに語っていただきました。
大規模キャンペーン対応のためAWSコンサルティングを依頼
サイクスでは、同社が開発するWebアプリケーションの基盤として、以前からAWSを利用しており、利用費の軽減のため、クラスメソッドメンバーズの請求代行サービスを利用していました。
また、サイクスでは、Webアプリケーション開発やAWSを利用する際の情報源として技術ブログ「DevelopersIO」の記事を参考にすることも多く、クラスメソッドのサービスと技術力について良くご存知だったそうです。
かねてより、同社はECサイト運用サービスを利用しているお客様から、ECサイト上で大規模なキャンペーンを実施するため、現状以上の高負荷対策、安定した運用を行う必要があるという相談を受けました。相談を受けたECサイトは、平時は1時間あたり2万リクエスト程度のアクセス量で運用されていたのですが、以前に実施したキャンペーンでは100倍にもなる1時間あたり約200万リクエストが集中する事態となっていました。
サイクスでも一通りの対策を検討、アーキテクチャやAWS構成の改善を進めたそうですが抜本的な改善には至らず、対応に困った同社は技術的なアドバイスを求めてクラスメソッドのAWSコンサルティングサービスの利用を決めました。
大きなアーキテクチャ変更なし。運用監視ノウハウによる対応
2020年10月よりコンサルティングの依頼を受けたクラスメソッドでは、アーキテクチャのレビューから開始し、キャンペーン開催にむけた対策と、キャンペーン本番を想定に入れた負荷テストの実施を計画に入れて臨みました。
既存のECサイトの構成とインフラ基盤はそのままに、トラフィック急増時に迅速にEC2をスケールアウトするため、クラスメソッドが着手したのはAWS Auto ScalingのスケーリングポリシーやApplication Load Balancerのヘルスチェックの見直しです。
また、データベースもフルマネージドで高速なAmazon Auroraに入れ替えて、スループットの高速化と運用工数の改善を図ることとしました。
さらに、負荷テストの結果を踏まえて、より最適化を行うため、ミドルウェアのパラメータやキャッシュ設定などの詳細な調整を繰り返して改善を進めました。
基本的なアーキテクチャやアプリケーションに手を入れられないという制約がある中でしたが、クラスメソッドが追い続けているAWSの最新アップデート情報と、豊富なクラウド技術支援経験、広範な技術への知見の蓄積により、対応を提案することができました。
アクセス集中にもSLAの範囲で運用成功
負荷テストを重ねて対策を練った結果、キャンペーンによるスパイクにも、お客様と調整したSLAの範囲で無事に対応することができたそうです。
今回のコンサルティングはスポットでの依頼でしたが、サイクスではコンサルティングを受けたことによってエンジニアのスキルにも好影響があったと言います。
「AWSを主にサーバーインフラとして見ていましたが、コンサルティングに入ってもらったことで、積極的にAWSのサービスを組み合わせてシステムを構築する発想を身につけることができました。現在はAmplifyを用いた開発の取り組みも行っております」(吉田さん)
AWSは170種を超えるサービスが提供されており、その機能も日々アップデートがされています。実務に追われる中で、これらの最新情報を追いかけて応用していくのは至難の技です。
クラスメソッドは、AWSの最新情報を全社で追いかけており、豊富な案件実績によって様々な条件でのサービスの応用ノウハウを蓄積しています。技術コンサルティングとして一緒にAWSの活用に取り組むことでその案件だけのサポートではなく、スキルトランスファーを行うことで、お客様のAWS利用の実力を底上げするお手伝いをさせていただきます。