目次
インフラ構築とは
インフラ構築とはシステムの基盤を構築することを指します。インフラ構築を完了後、多くの場合には完成した基盤の上に新たにアプリケーションの導入や開発を行います。
システムのインフラはハードウェアとソフトウェアに大別され、構成される要素は以下のようになります。
- ハードウェア→サーバー、ネットワーク、PC、ハードディスク等
- ソフトウェア→OS、ミドルウェア(APサーバー、DBサーバー)等
インフラ構築の目標は上記の要素に対して製品選定や導入、物理構成や論理構成を検討し、運用面やセキュリティ面に配慮して使えるようにすることです。
また、近年ではクラウドも普及しており、IaaSを利用することでインフラ構築の検討の時間を短縮することもできます。ただし、月額でコストがかかってくることには注意が必要です。
インフラ構築の手順
アプリケーション開発やWebページ開発などと同じように要件定義から構築、テスト、運用といった流れになりますが、よりシステムの性能に注力している点がインフラ構築のポイントと言えます。
要件定義
要件定義では導入・構築したいアプリケーションや今後の展望を考慮して検討を進めていきます。ハードウェアでは導入するハードウェアの数やスペック(必要なメモリやコア数、料金)、セキュリティを考慮したネットワークの物理構成、論理構成などの方針を検討します。
ソフトウェアではアプリケーションとの親和性やどれくらいのユーザーがどれくらい利用するのか想定した上でOSやミドルウェアの種類やスペックを検討します。また、この段階でインフラの監視体制や資産の管理体制、障害発生時のコミュニケーションプラン、情報セキュリティ要件も明確にすることも重要になります。
クラウドでインフラを構築する場合の方がメモリのスペックを途中変更できるため、現在ではクラウドでのインフラ構築が主流の構築方法とされています。オンプレミスで構築を検討した際は、将来的にスペックを物理的に補充したり障害対応もデータセンターなどに行くなどして、対応が必要になります。しかしセキュリティ面では、外部と隔離されているためクラウドよりも対策がしやすいです。
要件定義の段階で、どの環境(クラウドかオンプレミス)で構築をするのか検討するのが重要になります。
全体設計・機能設計
要件定義が完了したら設計フェーズに移ることになります。設計フェーズでは基本設計書、詳細設計書を作成しながら配線や各システムのパラメータ設定やネットワークの物理構成・論理構成の詳細化やセキュリティ設定などを確認していきます。設計フェーズではまずは全体を俯瞰した大枠の設計を行い、求められるサービスに対して全体最適されているか確認するようにしましょう。
また、この段階で詳細な構成が決まることになるので、可用性や冗長性といった障害対策、障害発生時のリカバリー方法(バックアッププラン、ロールバック/ロールフォワードなど)も明確にするようにしましょう。
構築
設計が完了した後は実際にインフラ基盤を構築していきます。作成された詳細設計書通りにハードウェアやネットワークの設定、OSやミドルウェアの導入と設定を行います。
ここで重要となるのは、詳細設計までクライアントときちんと合意を取っておくことです。これ以降に修正となると影響範囲が大きいため、クライアントの要件とも齟齬がないことを確認するようにしましょう。
テスト
構築が一通り完了したら実際に仕様通りに動いているのか確認します。テスト仕様書やテストパターンを一覧化した資料を事前に作成しておき、テストパターンに沿ってテストを行います。インフラのテストにおいてもアプリケーション開発と同様に、まずは個々の機器に対するテスト(単体テスト)を行い、次に複数の機器を結合したテスト、最後に運用を想定したテストを行います。
テスト段階で修正すべき項目(スペック不足・セキュリティホールがあるなど)があれば、随時設計の見直し・機能の追加を行い修正していきます。
運用
テストをクリアし品質が担保できたら、実際に運用を開始することになります。運用ではアプリケーションとは異なり定常業務が多く、日々の監視作業がメインとなります。また、セキュリティパッチやOSのバージョンアップのパッチを当てるのも必要な作業になります。
運用が開始された後は構築したインフラ基盤の上にアプリケーションが導入・構築されることになります。アプリケーションの追加改修や業務ユーザーの利用範囲の拡大などにより当初の想定よりも多くのトランザクションが発生することもあります。アプリケーションの保守運用チームやユーザーとも定期的にコミュニケーションするように心がけましょう。
インフラ構築で気をつけるべきポイント
インフラ構築でのポイントとして以下の3つを紹介します。
- 利用規模の明確化
- セキュリティ対策
- 障害対応・可能性の考慮
利用規模を明確化
インフラ基盤の上に構築するシステムは、どれくらいの規模でどれくらいのトランザクションが発生する見込みなのか、明確にしましょう。利用規模を明確にしないとオーバースペックやアンダースペックになってしまい余計なコストがかかってしまう可能性があります。クラウド環境であれば、途中からスペックの変更ができますがオンプレミスでは致命的な欠陥になります。オンプレミス環境では、物理的にCPUなどのモジュールを購入して機能を追加するため、アンダースペックになった際には運用を止める必要が出てきます。
セキュリティ対策
セキュリティは企業情報漏洩のリスクがあるため入念に行いましょう。ファイアウォールやIDS、IPSの導入をしましょう。ただし、セキュリティ対策を強固にしすぎるとインフラにも負荷がかかってしまいます。クラウド環境であれば、セキュリティ対策用の機能がついているので活用することをおすすめします。またセキュリティ対策を行う際には、取り扱う情報の重要性を確認するようにしましょう。
障害対策・可用性の考慮
アプリケーションはインフラが機能しなければ機能しません。したがって、インフラ基盤で障害が発生したときのリカバリ方法や可用性は予め決めておくようにしましょう。
インフラ構築で必要なスキル
インフラ構築で必要なスキルは技術系のスキルとコミュニケーションスキルの2つに大別できます。それぞれ具体的には以下のようなスキルになります。
技術系スキル
- サーバー、セキュリティ、ネットワーク、クラウド、仮想化などの技術的な知識
- ネットワーク構成やサーバー構成、適切な設定を行える設計スキル
- ShellやBAT(バッチファイル用言語)といったプログラミングスキル
コミュニケーションスキル
- 要件を正確に聞き出すヒアリング力
- 他の人の状況や進捗状況を把握して適切に対応するマネジメントスキル
インフラ構築では上記のように多くのスキルが必要となります。特に重要なのが各種の技術的な知識になります。業務知識やアプリケーション知識とは異なり分かりづらいのとクライアントも知識がないことが多いです。そのため、要件に合った技術を提示することやその技術を適切にクライアントに説明するために技術的な知識はしっかりと身に着ける必要があります。
インフラ構築方法
インフラの構築方法には主に自社で構築する場合と他社にアウトソーシングする場合の2つがあります。それぞれメリット・デメリットを解説します。
自社で構築
文字通り、自社でIT部門を保持して自社のリソースでインフラ構築を行います。近年ではITの発展や新しい技術の開発が増えているため、自社でIT部門を保持するのではなく、他社専門部隊に任せるケースも増えてきています(アウトソーシング)。しかし、アウトソーシングにはないメリットもありますのでご紹介します。
メリット
自社でインフラ基盤を構築するメリットとしては次のものが挙げられます。
- 自社にインフラ系の知識が蓄積される
- 業務側とのコミュニケーションが取りやすく要件の齟齬が発生しにくい
- コストを抑えられる
- 情報漏洩のリスクを抑えることができる
特にインフラ系の知識が蓄積される点は、今後さらにシステムを導入したい場合にも自社で開発できるため、継続的なコスト削減が見込めます。また、今後他社にアウトソーシングをすることになったとしても自社に専門的な知識をもった人がいることでスムーズに委託先とコミュニケーションをとることができます。
デメリット
自社での構築のデメリットは次のものがあります。
- 人材育成や確保に時間がかかること
- 専門性の高いIT技術を常にインプットする環境作りの難しさ
- リソースの有効活用ができない
特に専門性の高いIT技術を常に追い続けることは難しく、構築したインフラ基盤の品質低下や障害発生頻度の悪化などリスクがあることは念頭に置いておくべきでしょう。
アウトソーシング
自社のリソースでインフラを構築することができない企業が多く、アウトソーシングを考える企業が増えてきています。しかし自社でインフラ構築を行わないことによるデメリットもあります。
メリット
インフラ構築をアウトソーシングするメリットとして、自社以外でもリソースの確保と専門業者による技術力の高さが挙げられます。また近年では、セキュリティ対策やアップデートなどアフターサービスも充実しており、継続して保守を任せることが可能です。
デメリット
アウトソーシングの行うデメリットとして、機密情報を第三者機関に出す必要がある場合は取扱いに関して厳格なポリシーや管理をする必要が出てきます。インフラ構築をアウトソーシングする際は、提供してもらえるサービスが限定される場合もあるので最終的に自社で運用しなければいけないこともあります。
まとめ
今回の記事では、インフラ構築の手順について解説しました。コンサルティング案件などを探している方、事例を知りたい方は、ぜひfoRProまでご相談ください。