ニフクラmBaaSお役立ちブログ

スマホアプリ開発にニフクラmBaaS。アプリ開発に役立つ情報をおとどけ!

アプリ開発におけるサーバサイドが抱える問題とその解決法

アプリに他のユーザとの情報共有機能をつけたり、写真をアップロードするような機能を追加するとなるとサーバサイドの仕組みが必要になります。数多ある多くのアプリがそうしたサーバサイドの機能を使っています。プッシュ通知機能であってもスマートフォンから取得するデバイストークンをサーバ上に保存する必要があります。

ということで多くのアプリの場合、開発時からアプリ開発とともにサーバ開発をはじめるのですが、そうそうスムーズにいきません。そこで今回はアプリ開発におけるサーバの問題について取り上げたいと思います。

アプリのUI/UXによってWeb APIの形式が変わる

アプリとサーバではWeb APIを使ってデータの送受信を行います。サーバを一から開発する場合、Web APIの形式についてもアプリに合わせて設計するのが一般的です。

アプリ開発はUI/UXによってその正否が決まると言っても過言ではありません。そのため、ギリギリまで調整が行われます。その結果として、最後の最後でWeb APIのフォーマットが変わるというのも良くあることです。その結果、サーバサイドの開発は最後までやらないというのが良くあります。せっかく開発しても使われなかったり、作ってもすぐに変わってしまう可能性があるからです。

アクセス数が読めない

アプリが流行るかどうかは神のみぞ知ると言ったところがあります。もちろんプロモーションは行いますが、必ずしも成功するとは言えません。かといって、何らかの要因で爆発的にヒットする可能性も秘めています。かといってサーバサイドの設計を最大に合わせて設計するのはムダと言えるでしょう。

Web APIのレスポンスは速いことにこしたことはありません。しかしそのためにはサーバのスペックを高くする必要があったり、台数を増やすなどコストが高くなってしまいます。アプリはWebサービス以上にアクセス数が読みづらいのが問題と言えるでしょう。

開発時と運用時の構成は違う

アプリの開発時は自分のコンピュータ内にサーバを立てて開発するのが一般的です。そしてリリース時には別途サーバを立てる必要があります。また、その際には構成が変わったり、バックアップを取ったりと運用を意識した構成にしなければなりません。

この時、開発時の構成では発生しない問題が出るというのは良くある話です。HTTPとHTTPSの違いであったり、運用時にはクラウドストレージを使っているために開発時とコードが違っているなどといった具合です。ギリギリまで開発を行っていると本番環境の整備が遅れ、ローンチ時に大きなバグにつながるといった問題もあります。

運用は常時監視が必要

アプリは日本だけでなく、世界をターゲットに考える人が多いでしょう。そうなると24時間、常にどこからかアクセスが来る状態になります。日本だけを見れば朝4時くらいにメンテナンス時間を設けることができましたが、世界を見れば日本の朝4時が最もアクセスの多い時間帯であるという国もあるはずです。そんな状態でメンテナンスは容易ではありません。

コードのアップロードにデータベースの構成変更、ライブラリのバージョンアップ、セキュリティパッチなどメンテナンスは様々に考えられます。サーバ管理者はこれまで以上に大きな負担がのしかかるはずです。

mBaaSに乗り換えよう

そこでサーバを用意するのを止めて、mBaaSの導入を検討しましょう。mBaaSはスケールフリー、監視不要、Web APIのフォーマットもあらかじめ決まっているなど上記で挙げた諸処の問題が解決できます。開発時も運用時もアーキテクチャは同じ(アプリケーションキーだけ異なります)で、分けて考える必要もありません。

mBaaSを使うことでサーバサイドの開発コストはもちろんのこと、運用コストも大幅に下がります。アカウント登録して数分でサーバ環境が整ってしまいます。あとは自由にアプリのUI/UXを考える時間に充てられるのです。ぜひお試しを!