30代専業主婦の独学エンジニア挑戦ブログ

実務未経験の30歳の専業主婦が独学でエンジニアを目指すブログです

「Web技術の基本」を読みました(3)

勉強記録 

今日は「Web技術の基本」という本を読みました。
イラスト図解式なので、内容がとてもわかりやすかったです。重要そうなところだけをまとめました。(長いので記事を3つに分けています)
ここでは、<Chapter 7> Webシステムの構築と運用についてまとめています。   

提供するサービスの検討

Webシステムを構築するとき、最初に提供するサービスの検討をおこなう。
サービスの内容、アプリケーションに必要な機能やデザイン、システム基盤に必要な機能 の順に検討していく。
 
・サービスの内容
なにを提供するのか、どんな人を対象とするのか、なにを使ってアクセスするのかなど
 
・アプリケーションに必要な機能やデザイン
サービスの内容から必要となる機能を検討。
デザインは利用者やアクセスする端末によって検討を行う。
 
・システム基盤に必要な機能
データベースが必要ならば、DBサーバーが必要となるし、個人情報を扱うようなサイトではセキュリティを高める機器を導入するなど。
 

利用言語、ソフトウェアの検討

提供するサービスの内容が決まったら、プログラミング言語やソフトウェアを選定する。
OSについても選定が必要。基本的にはWindowsLinuxミドルウェアも選定する必要がある。
 
ネットワーク機器の構成も検討する。インターネットからの接続があるシステムで攻撃を防ぐにはファイアーウォールが必須となる。
 

サーバー構成の検討

Webサーバーを冗長化するときに、システムに届くリクエストをどのWebサーバーに渡すのか振り分け作業を行う機器をロードバランサーという。
クライアントからのリクエストはロードバランサーが一旦全て受け取り、そのリクエストを配下のWebサーバーに均等に転送する。
 

サーバー基盤の検討

・オンプレミス
自社運用。自分で機器を購入して利用する。
他者が構築して貸し出しているサーバーを間借りする。
他者が提供する仮想的なサーバーを設置できる環境の中にサーバーを設置して利用する。
 

負荷分散

サーバーを複数台並列に配置して、リクエストを振りわけて実行させて各サーバーの負荷を軽減する方法。
負荷分散はロードバランサーが行う。
 

サーバー設計・構築

・ディスク構成
重要なデータは、サーバーのシステムデータとは別のディスクに保管しておく。(DBやバックアップ用データ)
ディスクが複数確保できないときは、1つのディスクを内部で分割するパーティショニングを行う。
 

アプリケーション設計

提供するサービスの内容から基本設計(外部設計)、詳細設計(内部設計)を行って、その設計内容にそってプログラミングを行う。
プログラミングが完了したらアプリケーションのテストを行う。
 

バックアップ運用

システムを構成するデータは最も大事なものであるので、バックアップをとることが重要。
バックアップデータの取得や、いらない古いバックアップデータの削除などの作業をバックアップ運用という。
 

ログ運用

サーバーやネットワーク機器は、動作中の状態の変化や処理をテキストファイルに記録している(ログファイル)。
このログファイルを保存、そして見やすく設定する。
 
Webサイトのパフォーマンス
どのくらいのパフォーマンスがでるのか知っておくべきである。
パフォーマンスの低下があったときに、原因の調査を円滑に行うためにもサーバーの負荷状態を一緒に監視しておくべき。
 

脆弱性診断

セキュリティ確保のために、脆弱性診断が重要。
脆弱性情報データベースを定期的に確認して、使っている製品に脆弱性がないか把握しておく。
擬似的に攻撃を行って脆弱性の有無を確認するテストをペネトレーションテストと呼ぶ。