第2回 Webサイト構築の初歩:ハードウェア構成はどうする?キーワードでわかるシステム開発の流れ

前回までで青木室長と赤井君は、Webサイト構築の初歩の初歩を確認した。今回はハードウェアやネットワーク周りの環境について確認する。

» 2007年06月05日 12時00分 公開
[高田淳志,株式会社オープントーン]

システム化するのに必要なもの

青木室長 「ふむふむ。考えるべきことは多そうだな」

赤井君 「最初の企画段階で、どこまでの構想を練り上げておくかが肝心です。何年後に何人の会員を獲得し、どれだけの売り上げと運用コストが発生するのか……とか、そうしたことを考えずにその場限りの雰囲気と予算でスタートし、何年かたったころに、やっぱり作り直しだと悲鳴を上げている会社は結構あります」

青木室長 「今日の赤井君はいつになく熱いな」

赤井君 「……(あっ、つい前職のときの感覚が……)。いや、もし失敗したら、青木室長の出世に影響しますから」

青木室長 「(うれしそうに)そうか。君がそこまで考えてくれているなら、私もいろいろ勉強しながら取り組んでみるし、必要な予算獲得も社長に掛け合ってみるよ。費用としては、そのシステムとやらを作るための費用があれば足りるのかね?」

赤井君 「いいえ、それだけではなく、そのための機器が必要になることがあります。」

青木室長 「そうか。どのような場合に必要なのかはあらためて教えてもらうとして、いまの時点で想定されるものを教えておいてくれないかね。社内的に必要な作業も併せて教えてくれ。人手が要るということは人件費が掛かるということだからな」

赤井君 「分かりました」

 機器などのハードウェアに関しては、これから作るシステムがどのような構成で実現され、また、どのように運営していくのかによって大きく変わってきますが、それらの違いについては次回取り上げたいと思います。今回は、そのような導入場面で多く耳にすることになる代表的なキーワードについて解説してみます。

ALT 一般的なシステム構成

(1) ネットワーク回線

 まず自社からインターネットに接続するためにはネットワーク回線が必要となります。自宅など個人でインターネットを使用するのにも、どこかのプロバイダに申し込んでADSLや光通信サービスを利用している人が多いのではないでしょうか。企業から利用する際も個人の場合と同様、回線接続サービスの手配が必要です。さらに、企業としてインターネット・サービスを展開するには、安定した通信品質を確保するために、ネットワーク帯域やSLAなどを確認する必要があります。おそらく、ほとんどの企業の場合はすでにネットワーク回線を契約・利用していると思いますので、1)既存の契約内容で賄う、2)新たな商用サービスの展開に向けて新たな契約を結ぶ、3)既存契約のサービス内容を見直すなどの選択肢を検討することになります。

(2) ルーター

 インターネットと社内ネットワークの接続に必要な処理能力を持つネットワーク機器の1つです。LANケーブルの差し込み口がいくつも並んでいる機器を目にしたことがあるのではないでしょうか。ただし、同じように差し込み口が並んでいるもので、皆さんの使用しているパソコンとLANケーブルでつながれている機器は、おそらくルーターではなく「ハブ」といわれる機器です。専門的には、「ルーター」と「ハブ」は随分違うのですが、ネットワークを接続するという機能を持つという点ではほぼ同じです。ルーターの方がより高度な機能を持っている機器で、インターネットからアクセスしてくる悪意を持つユーザーへの対策を考慮して、特にセキュリティ関連の機能を多く持つ製品です。

(3) ロードバランサー

 大規模または重要なインターネット・サービスでは、1台のサーバの故障や混雑によりサービス利用者が、そのサービスを利用できないという事態の発生を防ぐ必要性が高くなります。例えば、オンライントレード・サービスを提供するネット証券などは、場合によってはトレーダー同士が1分1秒を争って取引を行い、その取引の前後が損益に影響するのですから安定したサービスの提供は生命線であるといえます。

 そのような場合に、事前に2台以上のサーバ機器を並列稼働しておけば、仮に1台が故障したりしても他方でサービスを継続することができます。また、2台で分担して処理することができるため、全体としての処理能力の限界は高くなります。そうした目的を達成するために、その時々のサーバ機器の稼働状況によって適切な方に処理を割り当てて稼働状況を均一化したり、1台停止時にはすべての処理を稼働している方の機器に割り当てたりという作業を自動的に行うのがロードバランサーです。

(4)(5) Webサーバ/データベースサーバ

 Webサーバは、動的ページ/静的ページを含めインターネットへ向けて情報を閲覧可能にするという役割を持ったサーバ機器です。また、データベースサーバは「データベース」の言葉どおり、動的ページが自動生成して表示するページの中身を格納したり、管理したりするためのサーバ機器です(実際には、そのような役割を果たすソフトウェアを指して使う場合もあります)。

 これらは、必ずしも物理的に別のサーバ機器に分かれていなければならないわけではありません。ただし、1台のサーバで両方の役割を担うことにより生ずる性能の劣化防止のためや、より高いセキュリティーレベルのネットワーク構成を実現するためなどの理由により、中規模以上のWebサイトでは別サーバ機器に分けて運用することが多いようです。ちなみに、データベースサーバが必要となるのはシステム化した場合のみで、すべての情報を静的ページで構成する場合は必要ありません。

(6) ソフトウェア

 システム化することにより独自に開発するプログラムの稼働前提として、商用のソフトウェアを購入・導入する場合があります。例えば、皆さんは表計算ソフトウェアを使用して「SUM」とか「AVG」などの数式を利用したことがあると思います。それらの数式は、その表計算ソフトウェアが存在するからこそ見事に合計値や平均値を算出し表示することができますが、Windowsの標準ソフトウェアである「メモ帳(Notepad)」に、数字とSUMやAVGと入力しても、計算結果が表示されるということはあり得ません。

 それと同じように、プログラムを稼働させるために必要なソフトウェアがあり、別途導入が必要な場合があります。

 最近は、「オープンソース・ソフトウェア」という形式で、無償で入手し利用することの可能なソフトウェアも多くなりました。ただし、それらは保守サービスやサポート窓口が存在しない場合がありますし、仮にソフトウェアに不良個所があったとしても迅速な対応は保証されません。単に初期コスト削減だけを見据えて、安易にオープンソース・ソフトウェアを導入することもあるようですが、商用ソフトウェアには当然存在するはずのサポート体制がなくても運用に支障がないか十分に確認して決定することが大切です。

(7) 社内管理者

 最後に、通常からシステムの状況をつぶさに確認する社内管理者の存在は必須です(専門的な知識が必要なため、実際には外部企業にアウトソースされることも多くあります)。以前に、インターネットで企業間受発注のシステムを開発・リリースしたが、Webサーバやデータベースサーバのアクセス状況など何もチェックせず、管理者不在ともいえる状態を続けていたために、気が付いたときには外国のクラッカーに不正侵入され危うくサーバ内のデータをすべて奪われかねない状況に陥り、SOSを求めてきたお客さんがいました(そのときは運良く大事件になる前に対応ができましたが)。

 皆さんもご存じのとおり、いまは法的なものも含め個人情報保護に対する要求のレベルはますます高くなっているといえます。簡単な問い合わせを受け付けるだけでも、利用者の氏名やメールアドレスの入力欄が設けられています。そうした面でも、本格的にインターネット・サービスを展開するのであれば、取りあえず作るだけ作って後は放置……ということではなく、しっかりと管理することができる担当者を確保することが重要です。

ここまでのキーワード

【ネットワーク帯域(幅)】 どれだけのデータを一気にネットワーク上に流せるかを表す数値。ネットワーク上を流れるデータを川の水に例えるなら、ネットワーク帯域は川幅や深さから割り出した1秒間当たりに流すことのできる水の量だと考えればいい。当然、数値が大きければ大きいほどデータはスムーズに流れるわけだが、数字の大小だけでなく、そのネットワーク帯域が、自社専用に利用可能なサイズなのか、他社も含めて共用のサイズなのかの確認が必要である。


 同じネットワーク回線を使用する他社が、テスト送信で膨大なデータを一気に送信したために、自社のネットワークがとばっちりを受けて遅くなるというのはよくある話。自社専用であればそうした被害を受ける可能性は小さくなるが、同じネットワーク帯域で比較すると自社専用の場合の方が費用が高い。


【SLA(Service Level Agreement)】 プロバイダなどの通信サービス事業者が、提供するサービスの品質を保証する制度。その保証内容を指してSLAと表現することもある。ネットワーク帯域だけでなく、サービス停止時に回復・再開するまでに要する時間なども保証内容に含まれ、ほとんどの場合は、保証範囲で順守できなかった場合の補償内容についても取り決められている。


【サーバ】 英語での「server」に「給仕、奉仕」といった意味があるとおり、「誰かのため、何かの役割を果たすために設置するコンピュータ」と考えればよい。全員でファイルを共有するために使用するサーバは「ファイルサーバ」と呼ばれるし、Webページの公開という役割を持つサーバは「Webサーバ」と呼ばれる。大切な役割を担うため結果的に性能の高いコンピュータが使用されるが、ある性能以上だからサーバと呼ぶわけではない。従って、皆さんが普段使用しているノートパソコンを、明日から急にサーバとして活躍させることも可能である。


【オープンソース】 各種用語集に詳細な説明はあるのでここでは深く取り上げないが、同じ「オープンソース」でもライセンス形態や利用制限などによって何種類かに分かれている。「改造も利用も自由」とか、「改造したなら、改造した内容を公開しなさい」とか、利用の仕方によっては法的に問題となる可能性もあるので、それぞれのソフトウェアごとにそれらを十分に確認したうえで導入を図ることが大切。



 こうして、赤井君の説明は次第に熱を帯びていこうとしている……。

赤井君 「では、次に進みましょうか」

青木室長 「ちょっと待った。今日はここまでにしよう」

赤井君 「そうですか。もっと伝えたいことはあるのですが……」

青木室長 「そうだろう、そうだろう。しかし、今日は次の予定があるのでまた次回にしてくれ」

赤井君 「分かりました。では、次回はデータセンターやパッケージを利用するかどうかとか、そうしたところをお話ししますね」

青木室長 「……。次回予告までありがとう」

赤井君 「どういたしまして。次はいつにしましょうか?」

青木室長 「……」

 今回は、本格的にシステム開発が始まる随分と前段の部分の話題を取り扱いながら、さまざまな技術用語の紹介を行いました。冒頭でも述べたように、この連載では、それぞれの用語を初めて聞く・調べる人が感覚的にそのイメージをつかめるような解説を行っています。従って、より正確または厳密な解説については、下記に紹介する記事などで確認しておきましょう。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ