Author: admin | Date: 2012年4月20日 | No Comments »

前回はソーシャルアプリとは何かということを簡単に説明したが、今回からそのサーバ構成について少しずつ書いていきたいと思う。

 

ソーシャルアプリはもちろんサーバ上で動いている。

 

しかし、CGIで動くウェブチャットなどとは違い、安価な専用サーバを一台借りてそれですべてをまかなえるような、そんな単純な話ではない。そんな貧弱な構成ではとうてい立ち行かないからだ。

 

ウェブ、データベースなど、サービスや役割ごとにサーバを分ける必要があるのはもちろんのこと、負荷の分散を考慮し、また障害やメンテナンスに備えて、それぞれを複数台のサーバを用意する必要があり、さらにロードバランサやファイアウォール機器なども複数準備しなければならない。

 

冗長化をきちんと行っておかなければ、あっと言う間に負荷が上がってアプリの動作が重くなって、最悪の場合にはサービスが停止してしまい、結果的にユーザが離れていってしまうことになるからだ。

 

ただし、冗長化を行えばそれで安心というものでもない。ユーザが増えたりアプリの内容が充実していったりすれば、当然のごとくデータの量も右肩上がりに増えていく。それを事前に検知して、ハードディスクを交換したり、ストレージを準備することも必要になるだろう。CPUの交換やメモリ増設を行うこともあるかもしれない。

 

そのようなメンテナンスや障害のことを考えれば、全体のうちの何台かのサーバが停止してもサービス全体が停止することのないよう、ある程度余裕を持った構成で運用することが重要になるのは言うまでもない。

 

他のユーザとコミュニケーションを取って楽しむソーシャルアプリにおいては、アクティブなユーザ数がどの程度なのかということは非常に重要な要素となるわけだから、先を見据えた構成を考え、準備しておくことが必要不可欠といえるのだ。

Author: admin | Date: 2012年3月28日 | No Comments »

ソーシャルゲームが流行っている。

ん?何?と思った人もいるかもしれないが、ソーシャルゲームというものを知らなくても、毎日にようにコマーシャルで流れているGREEやモバゲーなどを知らない人はいないだろう。

あれがまあ、ソーシャルゲームだ。

ソーシャルゲームとはつまり、SNS(ソーシャル・ネットワーキング・サービス)上で提供され、他のユーザと協力したり、コミュニケーションを取りながらプレイするオンラインゲームだ。

 

ソーシャルゲームはもちろんゲームだが、ゲームに限らず、SNS上にウェブブラウザ上で動作するAPIなどの環境(アプリケーションプラットフォーム)が提供され、これを基盤として制作されたアプリケーションソフトを、総じてソーシャルアプリという。

他のユーザとコミュニケーションを取って楽しむ、オンラインアプリだと考えればわかりやすいだろうか。

 

ソーシャルアプリには無料のものが多いので使っている人も多いと思うが、たまに障害があって使えなくなることもある。

そんなときは、使えなくて不便だと思う一方で、復旧に当たっているサーバー管理者の方を心配してしまうのだが、それはともかく、多くのユーザを抱えている場合には特に、負荷分散をどのようにしているのか非常に気になる。

一昔前、まだCGIで動くウェブチャットが流行っていた頃、夜になるとあまりにサーバーの負荷が高くなり、更新に時間がかかってイライラすることがあったのを思い出すが、現在はスマートフォンが普及し、ユーザ数も桁違いなのに、それほどストレスを感じない。

回線が太くなって、サーバー単体のスペックが上がり、サーバーの台数自体も多いのだろうけど、今度はそれはそれで、サーバーの管理や運用上で問題点も多いのではないかと思う。

このブログでは、ソーシャルアプリを提供する上でのサーバーの選定やサーバー管理について、書いていきたいと思う。