1.1 ITインフラって何だろう?
まずは、代表的なインフラアーキテクチャを紹介していきます。歴史だけではなく、それぞれの仕組みが生まれた理由を考えながら読み進めてください。また、仕組みには必ずメリットとデメリットが存在するということを理解してください。
突然ですが、「インフラ」と言われると、何を思い浮かべますか?
電気、水道、ガスといった家庭で利用するものや、電車、バスのような公共のものを思い浮かべる方が多いかもしれません。インフラを日本語に直訳すると「基盤」であり、皆さんの生活を支える基盤という意味です。インフラの仕組み自体は複雑なものですが、専門家によって管理されており、利用者がその仕組みを理解せずとも、簡単に使うことができるという特徴があります。
「ITインフラ」も同じように、ITの基盤となり、皆さんの生活を支えています。皆さんが普段利用しているインターネット検索エンジンを思い浮かべてみてください。検索キーワードを入力し、検索ボタンを押すと、たくさんの検索結果が返ってきます。この膨大なデータがどうやって管理されているか、考えてみたことはありますか?これを支えているのが、ITインフラです。
では、この章のタイトルでもある「インフラアーキテクチャ」とは何でしょうか?
アーキテクチャとは、直訳すると「構造」という意味です。ここでは、列車を例に取ってみましょう。日本国内だけでも多数の鉄道会社がありますが、列車そのものは大きく変わりませんよね。電気で動いており、車輪があり、中には座席があり、つり革があります。列車の「構造」または「アーキテクチャ」は確立しており、共通化されています。
「インフラアーキテクチャ」は、ITインフラの「構造」のことです。たとえば、インターネット検索システム、航空会社のチケット発券システム、コンビニのレジなど、すべて利用方法や利用者は異なりますが、すべてITインフラの上で動いています。そして、それらの「インフラアーキテクチャ」は、実は驚くほど似ており、同じような仕組みで動いています。
本章では、一般的なインフラアーキテクチャについて、図1.1に記載した順番で説明していきます。
Column
究極、至高のアーキテクチャは存在する?
本書では、さまざまなアーキテクチャ構成、その技術構成要素、冗長性や性能観点について触れていきます。読み進めると、頭に疑問が浮かぶはずです。
「どんなシステムでも、要件はそこまで大きく変わらないはず。では、1つのアーキテクチャで、万能的にすべてに対応できるのではないか?」「究極、至高のアーキテクチャが1つあれば、設計はいらないのでは?」
その答えはNOです。なぜなら、アーキテクチャや設計要素には、必ずメリットとデメリットが存在します。メリットだけであれば最大公約数を取ればよいかもしれませんが、デメリットを最小公倍数とするのは難しいので、必ず取捨選択が発生します。
中でも大きな制約となるのが、システムを導入するコストです。たとえば、100万人が利用する大規模Webサービスと、社内10人が利用するシステムでは、予算の総額が異なります。しかし、重要度という観点では、利用者にとってはどちらも大切なものです。
多くの現場でコストの制約が厳しくなってきている中、そのシステムにとって最も重要なポイントをメリットとして享受でき、許容できないデメリットは最小化するような設計を目指すべきです。
皆さんも「設計?そんなのみんな同じでしょ?」と言われても、システムにとって重視すべきポイントを押さえ、より適切な設計を行なうようにしてくださいね。