シムシティで考えるITインフラ設計(2)

やりたいことに対する「構造」(アーキテクチャ)

会社を作りにせよ、街を作るにせよ、目的とか規模とかによって作り方が変わるんだよね。当然やりたいことに応じて求められる条件や制約が変わっていくので、それを「どのような構造で」作っていくべきかが変わる。

たとえば、人口100万人を超える都市を…というのを目的としましょうか。すると、効率よく土地を使える形に設計する必要があるわけで、シムシティで作るときの典型的なパターンとして、京都とか札幌とかみたいに碁盤の目な区画割りになっていったりするのね。かつ、碁盤の目構造を作るのであれば、その特性からある程度平坦な地形がほしいわけで、極力、平野を探してそういう「構造」を持った区画を置くことになったり。

そういう話がITシステムの基盤にもあるわけですよ当然。「基盤」なんだから。だから、会社にはコンピュータールームが必要だったり、もっと大きなシステムにはデータセンターが必要だったりする。あと「区画のサイズ」ってそこに置きたい人や建物の量なんかによるわけで、でかい区画としてすごくハイスペックな機材を置くケースもあるし、小さな区画をたくさん用意する感じで、小規模・安価な機材を大量に並べるような構成にすることもあるわけです。

それと、目的に向いた「位置」「地形」みたいな話もある。

たとえば会社であれば営業拠点の置き方と生産拠点の置き方は違うわけで、営業拠点は人の出入りが多く交通の便のよい都市部に置きたいし、生産拠点は安価に大きな土地が使える地方に置きたかったりする。建物であれば、人の出入りのある受付のところに金庫を置く人はいないですよね。ほかにも一般的に、ビル管理の人たちが使う通路や荷物搬入のためのエレベーターが、ビルに入居している会社の人たちと分離されているように、ビル(基盤)として提供するサービス = 入居者が快適に業務できること、と、ビルそのものを運営するために必要なサービス = 掃除とか荷物の集配とか建物の修繕とか…を分けて動線やリソースを考えてあったりするわけじゃない。城は守りやすく周囲を警戒しやすい山に建てて、城下町は外部からの侵入がしにくい構造に…とかね。

同じくITシステム基盤においても。よく見るファイアウォールによるゾーン分割で、外部/DMZ/内部にわけるようなのは「金庫は玄関に置かない」って話ですよね。商用サーバで一般的になった iDRAC(dell) とか iLO(HP) とかのハードウェア管理モジュールや、Out-of-band management network なんかは「ビル管理の窓口や通路を分ける」の考え方ですよ。IT基盤として提供するサービス = 業務を実現するために必要な機能とリソース、のほかに、システム自体を管理するためのリソースをどれくらい、どういう構造で用意するかという話も考えるわけです。

じゃネットワークって何?

上の話で、「会社で製品作って売る」であれば、どこに工場をおいて、どこに営業拠点を置いて、どこからどういう材料を集めて、製品をどうやって小売りに配送して…を考えていくわけですよね。ネットワークは、「それらの建物をどういう配置で、どういう区画に建てるか」「建物から建物、拠点から拠点をどうやってつないでやるか」に相当するものとして考えるのがいいと思いますよ。

  • 「区画」
    • 何もないところに建物を無造作に建てても効率が悪いだけなので、どこにどれくらいのサイズのものを置くかに応じて区画を整備するわけです。シムシティならまず、ここからここまでは工業地帯、みたいな区画設定をするじゃない。アレです。
    • ネットワークにおいては、ネットワークセグメントの配置がこれに当たる感じです。区画のサイズはそこに割り当てるサブネットのサイズで決まるイメージ。今後まだ工場増えるのであれば、あらかじめ大きめの区画を割り当てておくし、そんなに広げる予定がないなら、小さい区画を詰めて並べる。
    • あと、区画、混ぜないじゃない。工業地帯の中に住宅地を混在させたりとかやらないでしょう。それは区画ごとの特性・特徴があるからで、ある程度同じ特性を持つものでまとめた方が発達しやすいし管理もしやすい。だから工業地帯はそれで固めて、公害とか治安とかの問題あるからちょっと住宅地からは離すし、商業地域は住宅地域の近くには位置するし、グルーピングがあって、それらのグループ間をどう結ぶか(道路とか鉄道とか)ってのができていくわけです。
    • ネットワークのセグメント割りとかファイアウォールのゾーン分割とかもそんな感じね。同じもののグループや分けて管理したいものとかにおうじて分割していく。
  • 「拠点から拠点」
    • どこに工場を、営業拠点を、販売所をを置く、が決まったらそれらの間をどうにかしないといけないわけです。原料の運搬、製品の運搬、人の行き来を効率よく回すためには何がいるのか? そうなると、どれくらいの時間で、どういうものを動かしたいかによって、適した「移動・運搬方法」が変わるわけですね。トラックが頻繁に行き来するならある程度車線の広い道路を整備しておかないといけないし、人の出入りが多いなら電車や飛行機などの交通の利便性を考えてやらないといけない。
    • 自分たちで道路とかを整備することもあれば、既存の交通網を流用することもあるでしょう。大規模な工場だと、駅から工場敷地内に直接貨物船引き入れてたりするところもあるけどね。そこまでの規模がないなら、既存の交通網をうまく使う方向で、高速道路の近くに工場を置いたり、空港からの交通の便のよいところに営業拠点を置いたりする。
    • ネットワークも同様。自分たちで区画整備した土地に専用の道路を引くというのも考えるし(企業内のシステムだとだいたいそんな感じ)、離れたところについてはすでにある高速道路(通信事業者のバックボーン)をつかって交通網…文字通りネットワーク…を作っていくわけです。

つぎ

おおむね書こうと思ってたネタはこの辺なんだけど、じゃそっからもうちょっと発展して考えられることって何かあるかなあ、というあたりでもうちょっと書きます。