サイト制作費、水増しされてない?非エンジニア社長必見の「WEBサービスの基本」

創業手帳

サイトやアプリはどの様な仕組みでどの様に動いているのでしょうか。非IT業界の方でも最低限知っておくべき知識を学びましょう。

webservice

(2017/01/25更新)

優秀な専門家がメンバーにいる場合を除き、起業した直後は慣れないことでも自分自身でやる機会が多くなります。私自身、元々はITのエンジニアですので、経理や税金などに関してはほぼ素人でしかなく、慣れないながらも様々な情報やアドバイスを参考に自分自身の力でやらなければなりませんでした。もちろん人や資金の流れが複雑になれば専門家や外部の税理士にお願いする事になると思いますが、会社の代表としてそれらに対して無知な事は恥ずかしい事ですし、またそのせいで未然に防げたはずの不要なトラブルに巻き込まれてしまった、等と言う事があってはいけません。

一昔前ならともかく、近年の起業家であればITに関する知識もまた同様で、流石にプログラムを自分でやれるとまではいかずとも、最低限の仕組みや用語については理解しておいた方が良いでしょう。

そこで今回は今までITにあまり縁の無かった方でも最低限知っておくべき基礎的なwebサービスの仕組みについてお伝え致します。

本文を読む

1.Webサービスの基本的な仕組みは皆同じ。

基本的にwebサービスはECサイトでもゲームでも動画サイトでもニュースサイトでも基本的な仕組みは同じで、自分の端末からサーバーに欲しい情報のリクエストを行い、サーバー側で処理を行い、その結果を返す、と言う非常にシンプルな構造です。

ただ”サーバー”やら”リクエスト”やらと言われてもいまいちピンと来ないかも知れませんので、例として図書館で本を借り、その本を受け取るまでの流れと比較してみましょう。

image2

上の図を見れば分かる通り、図書館では本を借りたい人が受付に欲しい本の名前を告げ、受付係の人がそれを探す人に伝え、探す人が本棚から目的の本を見つけ案内係に渡し、最後に受付係の人がそれを借りに来た人に渡します。これをWebシステムの流れに当てはめたのが下の図です。

(通常は自分で書庫に本を探しに行きますが、ここでは受付係の人に欲しい本を告げて、職員さんに本を捜して取って来てもらう流れを想定しています。)

image3

これを見れば分かる通り、ユーザーのパソコンやスマホから送られるリクエストは全てサーバーへ送られ、サーバーがプログラムに情報の入った箱(データベース)の中身を検索させ、見つかった情報は再びサーバーを仲介してユーザーの端末に返されます。

例外として商品やユーザーの情報等を返さないサービスであればデータベースを使わないものも有りますが、基本的にはほぼ全てのwebサービスはこう言った流れで処理が行われています。

2.Webサービスの構成は大きく分けて3つの部分に分けられる

image4

先ほどの図を見て分かる通り、webサービスはおおまかに3つの段階に分ける事が出来ます。一つは、今あなたが見ている「画面」、二つ目にサーバーが行う「処理」、三つ目がデータベースに対して行う「検索」です。

「処理」や「検索」に制作費がかかる!

「画面」については、直接目にする機会が多いのでイメージしやすいでしょう。見た目、デザインが重要となる部分です。対してサーバー側で行われる「処理」や「検索」の部分は通常目につきませんが、基本的に「プログラム」と言うのはこの目に見えない部分の動作を作る事を指し、またこれは想定出来るあらゆる「処理」を定義しなければならず、必然的に制作費の大部分は画面のデザインよりもこちらの方にかかって来るのです。

これを理解しているだけでも、例えばアウトソーシングの場合に開発費用が高すぎると感じたら、どう言った「処理」にコストがかかっているのかをしっかりと相手から聞き出し、本当にその処理が必要か、あるいは別の手段を検討する事で大幅なコストカットを実現できる場合も多々あるので、知らなかった場合と比べやはり大きなメリットがあると言えるでしょう。

ちなみにこの「見た目」、「処理」、「検索」の部分をそれぞれ「ビュー」、「コントローラー」、「モデル」と言い、開発会社等と打ち合わせした時等に何気なく語られる事があるのでこちらも知識として知っておくことをお勧め致します。

3.データベースとは何か

image5

「データベース」と言う言葉はITに限らず、あらゆる場面で頻繁に使われることがあるので、何となくは理解しているかも知れませんが、とりあえずはいっぱい本(データ)が詰まった本棚をたくさん集めたもの(=図書館)とでも理解しておけば良いでしょう。

データが増えるほど、見つけるのに時間とコストがかかる

問題なのはこのデータが増えれば増えるほど目的の本、つまりデータを見つけ出すのに時間がかかってしまう、と言う点です。

これは普通の本棚を想像すれば分かりやすいと思いますが、どの様な方法で整理すると目的の本を探しやすいかは人それぞれ工夫があると思います。

この様に「データベース」と言うのは「どのように整理するのか」を決める事がサービスの速度を決定する上で非常に重要で、例えば大手のECサイトでも検索にものすごく時間がかかる、等と言う事が少なからず有りますが、それはこの「整理の仕方」に問題がある可能性が高いと言う事が想像出来ます。

よって取り出す情報の種類や量が多いサービスの場合にはこの部分にも比較的大きなコストがかかる事を想定しておかなければなりません。

本当に必要な情報は何か?

逆に言うと(本棚や洋服ダンスと全く同じで)それを出来るだけシンプルにするとコストが下がる、と言う事が出来ますので、コストを抑えたい場合には本当に必要な情報は何かをしっかりと吟味し、出来るだけシンプルな構成にする事を心がけましょう。

ただし一旦整理の方法が決定した後に、後からそれに当てはまらないデータを入れたいとなると、予想外のコストがかかる傾向が有り、場合によっては作り直した方が早いなどと言う事にもなりかねないので、出来るだけ最初の段階で必要となるデータの種類は(将来的に必要になるかもしれない分も含め)、なるべく詳細に伝えておく事が重要です。

まとめ

上記の例の通り、ITと言っても基本的には人が手でやっていたものを、プログラムに置き換えただけなので一旦それをアナログに戻すと理解し易いと思います。
またITの現場で働く人であればこれらの事は当たり前過ぎて、打ち合わせの席などでもクライアントも当然これらの事を理解している前提で話しが進んでいきます。それらを分かったふりをしてただうんうんと頷いていると、最終的に作りたいものと全く別のものが出来上がってしまった等と言う事になりかねませんので、起業を機にこれらの知識に関してもしっかりと身に付けて頂ければ幸いです。

非IT業界の方が初めて開発会社に依頼する際に注意すべきポイントは?
非IT業界の起業家はココでつまずく!開発会社選定のポイントと失敗談

(監修:ByteRoad株式会社CEO・CTO 小島直弘(こじまなおひろ)
(編集:創業手帳編集部)

創業手帳

カテゴリーから記事を探す