柔軟なリソース調整もAWSならではの強み

実際の構築については、IT開発チーム 新店舗システムプロジェクトリーダーの黒木克明氏が説明を行った。

全体のスケジュールは次のとおりだ。2015年10月から2016年5月にかけて、店舗プラットフォームに関する要件定義・開発・構築テストを実施、AWS Summitの前日である2016年6月1日に無事カットオーバーを迎えた。また、2015年11月から店舗におけるWi-Fiの展開、2月からは端末の展開をスタートし、インフラ面の刷新も同時に行っている。

リソースのサイジングは、開始時に詳細な部分までは踏み込まず、当時のデータ使用量を大まかに伝えてスタートを切ったそうだ。そして、設計段階の調整で徐々にダウンサイジングし、パフォーマンステストで必要十分なサイズを導き出したそうだ。なお、既存システムからのデータ移行や、端末がオフラインでも使えるようローカルデータベースを持たせるなど、負荷が増加するリリース直前には一時的にリソースをアップして対応。現在はパフォーマンステスト時のリソースレベルに落ち着いているという。

ココカラファイン IT開発チーム 新店舗システムプロジェクトリーダー 黒木克明氏

将来的にはリアルタイムでの在庫表示も可能に

システムの全体像は、これまでPOSや業務システムが同社の社内ネットワークを通じてデータセンターとのやり取りを行っていたのに対し、新システムでは業務端末がインターネット経由でAWSにアクセスする方式を採用。専用線接続サービス「AWS Direct Connect」を使用しており、黒木氏は「物理的に光ファイバーケーブルを引くのが、一番時間を要した部分と言えます」と語る。

AWSのサービスは「EC2」と「RDS」をメインに利用。リアルタイム・ストリーミング・データを簡単に扱える「Amazon Kinesis」、大量のデータを迅速かつコスト効率良く処理できる「Amazon Elastic MapReduce」、リレーショナルデータベースエンジン「Amazon Aurora」により、分散処理を用いたリアルタイム在庫表示も実現している。ミドルウェア構成としては「AWS マネージドサービス」を活用しており、統合システム監視「Zabbix」、ログ収集基盤「Fluentd」、継続的インテグレーションツール「Jenkins」、プロジェクト管理「Redmine」など、オープンソースソフトウェアも数多く盛り込んだ。

ちなみに、リアルタイム在庫表示に関してはまだ完全ではなく、現時点ではPOSから1時間おきにデータ送信を行う"準リアルタイム"にとどまっているという。この理由について、黒木氏は「Kinesisは細かなデータの処理を得意としているため、POSから送られてくるデータをKinesisに合わせて細かくバラすのに苦労しました。現段階ではまだバッチのほうが少し早いという結果が出ていますが、将来的なPOS側の高速化を鑑みて、まずはバックエンド部分を整備した状況です」と語った。

同社は、今回の店舗プラットフォームだけでなく、顧客向けプラットフォームもAWSでの実現を目指しているそうだ。