Shogi, a form of chess, is a popular game in Japan in which matches can be watched on the Meijinsen Live Scoreboard website. To handle peak demand during the Meijinsen Professional Shogi Players’ Championship Series, co-sponsors Asahi Shimbun Company and Mainichi Newspapers turned to AWS to help scale traffic from 600 to 4,000 hits/second.
The Meijinsen Professional Shogi Players’ Championship Series, co-sponsored by the Asahi Shimbun Company and Mainichi Newspapers, is historically the most prestigious championship match in the world of Shogi (Japanese chess). Fans can pay to watch matches in real-time on the Meijinsen Live Scoreboard website that is managed by the Japan Shogi Association and operated by the Tokyo Data Network Co., Ltd., an affiliate of Mainichi Newspapers.
The Meijinsen Live Scoreboard website has two primary characteristics:
Most of the site’s traffic consists of the distribution of game record files. Game records contain information such as moves players have made and commentators’ remarks. During times of peak access, distribution of these game record files accounts for the majority of traffic. Furthermore, because game content is recorded in chronological order in these files, consistency needs to be ensured so that older versions of the files are not distributed.
Figure 1: Meijinsen Live Scoreboard System Configuration
We store content files such as the game record files in the highly reliable Amazon S3. These files are also stored in Amazon ElastiCache for a given length of time and rapidly retrieved and distributed to an App server using Amazon EC2. We also store session data in Amazon ElastiCache and deliver exclusive content to paying subscribers. In total, we use the following AWS services for the Meijinsen Live Scoreboard website:
By combining these services, we can manage loads, provide rapid delivery and high reliability, as well as reduce operational loads.
We chose AWS to handle heavily fluctuating user traffic. The number of paid subscribers is on the rise, and on championship match days, which draw a great deal of attention, user traffic increases to dozens of times greater than normal. Because it’s difficult to predict traffic in advance, whenever a popular match was scheduled our engineers would constantly try to manage loads. Despite this, our servers were sometimes overwhelmed and the site would go down.
It then occurred to us that adopting AWS, which is scalable, would allow us to maintain comfortable response times even during heavy user traffic. Because it is a paid site, we also thought we’d be able to improve reliability and stability 24 hours a day, 365 days a year.
With the previous system (load balancer + 3 App servers + 1 file server) the upper limit of server request processing was 600 hits/second, and App server scale-out was difficult with the data center (hosting) we were using. After switching to AWS, however, we were able to process user requests of at least 4,000 hits/second by scaling out Amazon EC2 instances. We have not performed further testing, but we believe the performance is actually higher than this.
Furthermore, our development cycle, including design and resource procurement, took 2.5 months as opposed to around 6 months under the previous system. Before, coordination with the data center took a long time, but this isn’t necessary with AWS; the time savings is largely due to AWS’s immediate availability and scalability.
I think the key is to develop applications that are tailored to the particular features of AWS. By consciously creating an application with separation of processing and data, loose coupling and no single point of failure, it is possible to combine the unique features of a variety of AWS services (such as Amazon S3 and Amazon ElastiCache) and achieve high reliability—something which was rare in our former infrastructure environment.
AWS is enriched with a variety of other services besides Amazon EC2. In the current use case, we adopted Amazon ElastiCache. This is an attractive service in that its use requires no management, similar to memcached.
There are other virtual server services equivalent to Amazon EC2, but it’s difficult to find one enriched with so many different features.
By using management-free services, we can spend more time on site-specific issues, which should improve the quality of the site overall.
To learn more about how AWS can help support your in-memory caching needs, visit our Amazon ElastiCache product detail page: http://aws.amazon.com/elasticache/.
Added September 17, 2012