マインドセットとスキルセット5月22日開催、パソナテック主催によるセミナー「インフラエンジニアDay」のレポート。クラウドをめぐるインフラエンジニアの立ち位置についてのアグレッシブな提案が行われたBトラックのセッションの模様をお伝えします。Bトラック会場は地下1階。賢一朗氏による講演です。部会長としても活躍されています。これらのプロジェクトに関わった経験を元に、クラウド技術がもたらすIT世界の変化、そしてそれがおよぼす社会の変化について触れ、こうした変化にインフラエンジニアはどのように対応すべきかについて語るスケールの大きな講演となりました。「⁠今は流行りなのでなんでもクラウドと呼ばれている」として、まずSaaS、PaaS、IaaSなどのレイヤ別のクラウド技術の定義や特徴を紹介し、これら全体のクラウドコンピューティングを特徴づけるものとして「スケーラビリティとユビキタス性」を挙げます。このうちスケーラビリティとは、いつでもオンデマンドに大きくしたり、逆に小さくしたりできることで、ユビキタス性とはいつでもどこからでも、そしてどんな端末からもリソースにアクセス可能なことです。した特徴を生かし、濱野氏はクラウドを使うことで、これまでになかったITの新たな活用分野が生まれるのではないかと考えています。濱野氏はここ数年、ITでできることに限界を感じ、個人的に危機感を持っていたと言います。「今までできなかったことがITのおかげで可能になった」という話を聞かなくなったのです。クラウドコンピューティングの広がりで、いままでなかった可能性を感じるようになりました。例として、クラウドを使ってある短期間だけ膨大なコンピュータリソースを必要とするケースがいくつか紹介されました。Timesが行っている過去記事のアーカイブ閲覧サービス「TimesMaschine」では、過去の誌面をそのまま4TバイトぶんのPDFファイルに変換することになりました。EC2の仮想マシン100台を利用することで24時間で終了し、その際の使用量は240ドルだったとのことです。Hadoopのもつポテンシャルの説明には力が入ります。このようなスケーラビリティについては古くから研究されており、「⁠CAPの定理」として証明されています。システムの整合性(Consistensy⁠)⁠、可用性(Availability⁠)⁠、分散処理(Partitioning)の3つの要件のうち、2つしか満たすことができないというものです。このうち可用性と分散処理はクラウドの必須要件だと濱野氏は言います。クラウドではある程度のタイムラグを持たせ時間を限定させることで、この法則を超えた整合性を取ることが可能になると指摘します。一例として、GPSによる位置情報データをキャッシュさせて、これを元にした最適な情報を提供する携帯キャリアの行うサービスが挙げられました。このようにクラウドを使うことで、これまでできなかったことが可能になる点に着目し、エンジニアが一緒に新たなITの流れを作っていけるというのが濱野氏の目指すポイントです。この流れは技術的にはかつてないスケーラビリティの追求であり、社会的にはシステムや組織を横断した連携への試みと言えます。した動きにより、「⁠所有と利用のバランス」が大きく変化し、すべてのシステムが囲い込みから「連携」に向かいます。プログラミング的にはNoSQLやHadoopといったソフトウェアに代表されるプロセス指向からデータ指向への転換があります。これらを駆使して「新しいIT領域、新しいビジネスを切り開いて行きましょう」と訴え、セッションを締めくくりました。エンジニア」という挑発的なスライドを掲げ、クラウドコンピューティングの広がりにエンジニアはどう対応してくべきかというテーマについて、独自のエンジニア論を展開しました。山崎徳之氏まずクラウドの定義については、ビジネス目線とエンジニア目線でまったく違ってくると指摘。日曜日のゴールデンタイムに人気俳優に「クラウド」と言わせるTVCMが流れていることを例に取り「マーケティングの“⁠格好つけ⁠”の材料になっている」と断じます。いえ、そうやってビジネス的に注目されることで、エンジニアにも新たな仕事の可能性も出てくると説きました。具体的にビジネス目線からの需要はあるのかといえば、たしかに存在します。山崎氏が例として挙げたのはMixiやモバゲーなどで人気を博しているソーシャルアプリケーションです。ひとたび人気に火がつけば桁違いのアクセスに見舞われ、これに応じたレスポンスを返さないとMixiなどの事業者から一定期間ユーザの獲得停止といったペナルティを受け、大きな損失につながります。このように、時間限定で負荷が大きく片寄るようなケースではクラウドを導入するメリットがあると山崎氏は言います。1つ大きな需要として、大規模なバッチ処理が挙げられます。Hadoopのような分散データ処理システムを使うと、限られたリソースで1年以上かかるような処理が数時間でできるようになったという例も散見されるようになりました。ROI(あるいは費用対効果)はどうなのかといえば、これはクラウドを提供する側と利用する側で違ってきます。利用者側から見ると、上記のようなケースをはじめ、たしかにROIが良い場合は存在しますが程度問題で、昨今話題の「クラウド破産」のように、個人でもシステムに大きな負荷をかけ、一瞬にして巨額の支払いが発生してしまうケースもあります。提供側にとっては大規模な投資が必要なだけにリスクが大きいと言えます。これまでコンピュータリソースを提供する商売を行ってきた業者にとっては、クラウドサービスを用意しなければビジネスチャンスを逃がし、AmazonやGoogleに顧客を取られかねません。いえ、利用者の母数も重要で、大規模、広範囲の地域で展開するほど、時間別の利用率にバラツキができ平準化されるため、クラウドシステム全体の稼働率が上がることになるのです。これらをふまえ、クラウドを盲信するような上司にエンジニアはどう対抗すべきなのか、どのようにクラウドと取り組んでいくのかについて、山崎氏はIaaS(ハードウェア/仮想環境基盤提供)に限った話として、クラウドを100%取り入れるのではなく、インフラの部品として考えることを提言します。RDBをそのままクラウドに乗せるのはパフォーマンス的に不利といわれています。画像配信システム等ではDBのみ単一サーバとし、トラフィックの負荷のかかる配信部分のみクラウド化するといった部分的な利用で効率の良いサービスを提供できているところがあります。アプリケーションとDBを分けるとかえって負荷が上がるようなケースでは、DB部分をHadoopのような分散システムに移行してクラウドに対応させるという工夫が必要になります。このように、サービスの特性をふまえたクラウドの利用法を考えることになります。これはインフラエンジニアにとってチャンスである、と山崎氏は言います。クラウドの導入により、従来プログラマが担っていたアプリケーションのパフォーマンス改善にインフラが関わらざるを得なくなるためです。してクラウド時代にはプログラマとインフラエンジニアが近づき、両者の素養をもつエンジニアでなければシステムを組むことができなくなると山崎氏は力説します。山崎氏はクラウド時代のエンジニアに求められる素養をいくつか挙げました。クラウドの特性を知ること。ベンチマークが最重要で、つねにベンチマークをとることでシステムの特性を掴み、クラウドを盲信的に肯定も否定もしない点を強調しました。「クラウドのハードウェアをイメージする」のも重要とのこと。ストレージがどうなっているか、データがどのように分散しているのか、仮想マシンの状態などを常に把握することも大事です。常にクラウドを使わない場合との比較を意識し続けることも重要です。これにより、クラウドと非クラウドを適材適所で使い分けることができれば、非常に効率の良いシステムを作ることができます。これらをまとめてエンジニアに求められるものは「メリットとデメリットを“⁠定量的に⁠”評価できること」だと山崎氏は続け、そのための情報収集を怠らないことがクラウド時代を生き抜くことにつながると結びました。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。