AWSへの移行の時点で、社内の指標に基づいた可用性は 10 %向上しました。 Amazon Aurora への移行では、金銭的コスト、人的コストを合わせると更に 20 %以上のコスト削減を行うことができていると試算されています。
生内 洋平 氏 株式会社Socket CTO 兼 アートディレクター
Flipdesk の成長において、AWS への移行は不可欠でした。金銭的コストはもちろんですが、人的リソースにも限りがあります。これらの問題に対し、AWS の導入は非常に大きな効果をもたらしています。さらに、Amazon Aurora の導入で、開発者のリソースを Flipdesk 自体の開発に割くことができるようになりました。
石井 那由他 氏 株式会社Socket シニアエンジニア

株式会社 Socket は、スマートフォンを始めとする Web サイトに組み込んでエンドユーザーに接客アクションを行うことできるツールである『スマホ向け接客プラットフォーム』という分野を切り開き、リードしてき ました。Socket が提供する Flipdesk は、オンラインショップを中心とした様々な Web サイトを開設している顧客に提供されているサービスです。

Flipdesk は顧客の Web サイトに簡単に組み込むことができるだけでなく、組み込み後に Web サイトを変更する必要なくエンドユーザーに的確な接客アクションを行うことができるサービスとして、業界でも大きな位置を占め、多数の顧客に支持されています。CTO 兼 アートディレクターの生内 洋平氏は、「顧客は多岐にわたっており、顧客のサイトを利用しているエンドユーザーも様々なニーズを持っています。Flipdesk ではそのニーズに対応するため、Web サイトできめ細かな接客アクションを手軽に行うことができます。」と言います。

的確にエンドユーザーの動向やニーズを掴み、それに合わせてリアルタイムにアクションを行うため、Amazon Aurora を始めとした新しい技術を確実にプロダクトに組み込む開発部隊、Flipdesk の視点からお客様サイトを分析し、確実なニーズを掴む運用部隊、必要なお客様に素早くプロダクトを提供する営業部隊が一体となったチームが、Socket が提供する変わらない価値を支え続けています。

Socket の顧客とエンドユーザーがあたかも対話しているかのような環境を提供することが、スマートフォン向け接客プラットフォームとしての Flipdesk のミッションです。その中で、より多くの顧客が不自由なく低コストで利用できるよう、サービスの収容力強化、特にトラフィックとの増加とそれに影響されな いリアルタイム性の確保は大きな課題の一つとなっています。シニアエンジニアの石井 那由他氏は「限られた開発リソースをプロダクトの拡大・拡張につなげるため、クラウドの利用は弊社にとって必須事項でした。」と言います。

そして、主力サービス Flipdesk の成長とレスポンスタイム短縮の必要性から、2014 年 12 月に Heroku から移行する各種クラウドベンダーとして、AWS をはじめとしたクラウドベンダーの調査が開始されました。

socket_image

まず、検討当時の Flipdesk の機能と、近い将来に検討されていた拡張について、各クラウド事業者が提供するサービスでどのように構成できるかが検討されました。「その時点で既に AWS に圧倒的なアドバンテージがありました。」(石井氏)

Flipdesk では様々な機能が提供されており、それを支えるために幾つものバックエンドサービスが必要でした。しかし、「2014 年 12 月時点より現在に至るまで、Flipdesk を支えるために必要なサービスを 1 社で提供しているのは AWS のみであり、それが選択の決め手となりました。」(石井氏)

また、提供先である日本国内に低レイテンシーのデータセンターを複数持っていること、そして運用が安定していることも AWS 採用の大きな決め手でした。

Flipdesk は顧客とエンドユーザー、両方のデータを扱うため、セキュリティも常に最優先課題です。しかし、AWS のセキュリティについては予め十分なものが確保されていることがこれまでの Socket での調査で分かっており、AWS の責任共有モデルから自社でどの程度のセキュリティ対策を行うべきか予め判明していました。

さらに、他のクラウド事業者についてそれぞれが持つサービスでリプレースした際、総開発コストと運用コストが AWS に勝るかについて検討を行いました。「この時点で他の事業者が AWS を上回ることはないと分かったため、AWS の採用を決定し、AWS への移行計画の策定が始まりました。」(石井氏)

Socket では 2015 年 2 月から AWS Elastic Beanstalk と Amazon RDS for MySQL が使われています。

移行にあたっては、検討時の 2014 年 12 月から実装変更やテストが行われました。しかし、そのほとんどはテストプロセスと AWS Elastic Beanstalk の構成等に向けたスクリプト作成のみでした。Flipdesk のバックエンドの実装は Rails のため、修正の必要はほとんどなく、幾つかのバッチプロセスや、AWS Elastic Beanstalk の拡張スクリプトの作成等を行い、2015 年 2 月より実際の稼働を開始することができました。

AWS 導入後、パフォーマンスとトラフィック増の要求により、データストアをリプレースする必要に迫られ、Amazon DynamoDB などを含めた他のストレージエンジンの移行も含めて Amazon Aurora の検討が開始されました。Amazon Aurora の採用にあたっては、

  • Amazon RDS for MySQL で発生しているボリュームのトラフィック処理が解決できるか
  • レプリカラグが解決できるか
  • ストレージやフェイルオーバー等の運用について省力化できるか
  • コスト削減ができるか

という点を重視した上で検討が行われました。

Amazon Aurora 移行時は、Aurora の特性に合わせてチューニングを行うための期間を含め、1 週間という短期間で実装の修正とテストが完了し、2016 年 2 月にはデータストアを Amazon RDS for MySQL から Amazon Aurora に完全移行しました。

「AWS への移行と Amazon Aurora への移行については、弊社主力開発者が一丸となって導入を進めた他、AWS のご担当者様にも多大なご支援を頂きました。」(石井氏)

現在では、Flipdesk のインフラや監視などの他、開発を中心とした Socket のバックオフィスでも AWS を採用しており、エンジニアの太田 賢志郎氏は「Web だけではなく、様々な言語の SDK が用意されていることも、AWS での運用コストの低減を可能としています。」と言います。

jp_diagram_socket_1024x807

Flipdesk は非常に早い成長を遂げているとともに、エンドユーザーの行動特性により、一日の間でのトラフィックの増減も激しいため、AWS Elastic Beanstalk や Auto Scaling を利用することにより、簡単かつ柔軟にトラフィックに合わせたコスト削減や、規模拡張を行うことが可能となっています。

また、Amazon Aurora への移行に関しては、Amazon Aurora の特性に合わせて Flipdesk の修正を行った結果、非常に低コストでスケールするよう環境を変更することができています。

AWS 移行時には AWS 担当者の支援もありました。Amazon Aurora への移行では、AWS サポートのビジネスプランも利用し、パフォーマンスの問題点、チューニングポイント、本番稼働時の問題解決やチューニング時に緊密な連携の元、問題点を解決することができました。

Amazon Aurora への移行での金銭的コスト、人的コスト削減は非常に大きいものとなりました。「AWS への以降の時点で、独自の指標に基づいた可用性は 10% 向上しました。Amazon Aurora への以降では、金銭的コスト、人的コストを合わせると更に 20% 以上のコスト削減を行うことができていると試算されています。」(生内氏)

「AWS の導入は非常に成功しており、サービスの拡大やコスト削減において欠かせない存在であると認識しています。」(石井氏)

セキュリティについては AWS の AWS Identity and Access Management と Amazon VPC を中心に活用することで、コストをほぼ掛けることなく運用できるようになりました。

「Flipdesk の成長において、AWS への移行は不可欠でした。金銭的コストはもちろんですが、人的リソースにも限りがあります。これらの問題に対し、AWS の導入は非常に大きな効果をもたらしています。さらに、Amazon Aurora の導入で、開発者のリソースを Flipdesk 自体の開発に割くことができるようになりました。 」(石井氏)

今後データ解析の分野でも AWS サービスを活用していく予定で、Amazon Redshift や Amazon QuickSight の利用が検討されています。また、セキュリティ対策として、AWS Trusted Advisor の活用のほか、Amazon Inspector、Amazon WAF の導入についても検討されています。さらに、「Amazon EC2 Container Service を使ったコンテナでの本番環境運用なども視野に入れております。」(太田氏)

Amazon Aurora のようにアプリケーションの動作に深く影響を及ぼしながら、その利用でアプリケーションの開発や運用に大きく影響を与えるサービスで、新規に公開された サービスについては、効果が大きいにも関わらずインターネット上での情報が不足しているケースがあります。「AWS の担当者からの支援や、サポートサービス、プロフェッショナルサービスからの支援を活用することで、導入時の問題をより早く解決でき、サポート利用料以上 にコスト削減を行うことが可能な場合があることを認識すべきです。」(石井氏)

AWS クラウドがウェブサイト、アプリケーションでどのように役立つかに関する詳細は、ウェブサイトおよびウェブサイトホスティングの詳細ページをご参照ください。