コボルコンソーシアムセミナー in XDev 2009

セッション2A-3

COBOLとクラウド
2009年 9月16日
株式会社野村総合研究所
情報技術本部
先端技術開発部

久保 順一〒100-0005
東京都千代田区丸の内1-6-5 丸の内北口ビル

目次

１ クラウド・コンピューティングとは２ クラウド・コンピューティングのアーキテクチャー
３ ITモダナイゼーション
４ ＣＯＢＯＬ開発とクラウド
５ まとめ

Copyright（C） 2009 Nomura Research Institute, Ltd. All rights reserved.

1

１ クラウド・コンピューティングとは
１．１ 次世代のコンピューティング・パラダイム
１．２ クラウド・コンピューティングの定義
１．３ クラウド・コンピューティングサービスの分類
１．４ 企業ニーズとクラウドコンピューティング

Copyright（C） 2009 Nomura Research Institute, Ltd. All rights reserved.

2

１． クラウドコンピューティングとは

１．１ 次世代のコンピューティング・パラダイム
・メインフレーム全盛期の集中処理
・オープンシステムの抬頭によるクライアント・サーバなどの分散処理
・インターネットに代表されるネットワーク中心の、新しい集中処理
・更に、接続先を意識せずにサービスを受ける、クラウド・コンピューティングの処理形態

1980年

集中

1990年

クライアント／サーバ時代

Webコンピューティング時代～分散処理～
・シングルテナント
・安価なPCとTCP/IPの普及を利用して分散処理
・クライアント側に画面表示と処理機能を実装～コンソリデーション～
・CPU/ストレージ統合
・サービス連携/統合
・サーバ仮想化/統合

メインフレーム時代～集中処理～
・全ての処理をメインフレーム上に集約
・ダム端末操作

2010年

2000年

クラウド
コンピューティング時代～ユーティリティ化～
・SaaS
・オンデマンド・仮想データセンタ
・SLA
・管理自動化・リアルタイムモニタ・グリーンIT・BPO～ITへのビジネス要求高度化～
変化への柔軟な対応・BCP・SOA～コロケーション～・セキュリティ・管理リソースの分散
・MSPの利用
・BCP
SAN～仮想化技術の革新～
VMWare/Xen

Grid～サーバプラットホームの革新～
高効率サーバ
IAサーバ Bladeサーバ 高性能Blade

分散ホストGW～ネットワーク技術の革新～
IO仮想化
ルータ⇒L3スイッチ

Copyright（C） 2009 Nomura Research Institute, Ltd. All rights reserved.

Virtualアプライアンス
3

１． クラウドコンピューティングとは１．２ クラウド・コンピューティング（Cloud Computing）の定義
 クラウド・コンピューティングの定義
クラウド・コンピューティングの定義「クラウド（日本語で雲の意）」とはインターネットを指す。雲のようにつかみどころのないインターネット上のコンピュータリソースを必要に応じサービスとして利用するという概念

クラウド ＝ ユーティリティ化されたＩＴリソース
コンピューティングリソースのユーティリティ化に必要な三要素

Abstract

Elastic

Variable 利用者にとって、ハードウェア管理が高度に抽象化されている

 利用者にとって、インフラのキャパシティは上げる方にも下げる方にも伸縮性がある

 利用者にとって、インフラ費用は変動費化とできるz稼働しているサーバ環境
はハードウェア環境に対し非依存z キャパシティは劇的かつ即座に増減させることができる （従来のホスティングサービスとの違い）

z ＣＰＵやストレージ、ソフトウェアの利用に応じて費用を支払う

z稼働しているハードウェアは地理的にどこに存在しうる
Copyright（C） 2009 Nomura Research Institute, Ltd. All rights reserved.

44

１． クラウド・コンピューティングとは

１．３ クラウド・コンピューティングサービスの分類
ＩＴリソースをユーティリティ化する範囲の違いで、クラウド・コンピューティングを分類できる。 ＳａａＳ／ＰａａＳ／ＨａａＳの３つが一般的な分類

ユーティリティ化されたＩＴリソース
ＳａａＳ
ユーティリティ化された
ソフトウェア

ＰａａＳ
ユーティリティ化された
プラットフォーム

ＨａａＳ (IａａＳ)
ユーティリティ化された
ハードウェアアプリケーション

アプリケーション

アプリケーションＯＳ・ミドルウェア

ＯＳ・ミドルウェア

ＯＳ・ミドルウェア

ハードウェアハードウェアハードウェアCopyright（C） 2009 Nomura Research Institute, Ltd. All rights reserved.

凡例： ユーティリティ化された範囲

55

１． クラウド・コンピューティングとは

１．３ クラウド・コンピューティングサービスの分類
クラウド時代に企業が求められるのは、
z自社開発、クラウドコンピューティングサービスの適切な使い分け
z大企業であれば、グループ企業が共同で利用可能なプライベートクラウドの構築も有効パブリッククラウド（外部のサービス）
グーグル、
SaaS
セールスフォース・ドットコム
本社 グループ グループ会社A 会社B社

内シス

ム
テのと連

CRMやメールはSaaSを利用

携HaaS
アマゾン
アマゾン

インターネット

戦略的システムは自社開発

プライベートクラウド（自社データセンター）

R&DではHaaSを利用

PaaS
ServiceService
APP

自社でサービスレベルをコントロールしたい場合はプライベートクラウドを利用

プラットフォーム

Service

APP

Service

APP

APP

グループ内共通
プラットフォーム

Copyright（C） 2009 Nomura Research Institute, Ltd. All rights reserved.

らトか 行
ー
イベの移プラ ック へ
リパブ

マイクロソフトセールスフォース・ドットコム

人材採用システムはPaaSを利用して構築
6

１． クラウド・コンピューティングとは

１．４ 企業ニーズとクラウドコンピューティング
 企業課題を解消するアプローチとして「クラウド・コンピューティング」が問題解決の１手法として注目されている。
企業ニーズ
企業ニーズ
効率経営
（コスト削減、リストラ）
経営安定化（固定費の変動費化）
経営資源のコア領域への集中化（コア・コンピタンス）① コストコントロール• アウトソーサ調達力を活用した投資額抑制• 固定費の変動費化・平準化② システムリソースの柔軟性• 開発ピークに対する瞬発力の確保• エンドユーザのニーズに対し、迅速に対応③ 技術・ノウハウの活用• 最先端のコンピュータ利用技術の活用

専門サービスの有効活用
品質・生産性向上④ 品質・生産性・セキュリティ向上• 技術力、ノウハウを活用した品質の向上• 開発ツール等の活用による生産性の向上⑤ 人材の有効活用
部門の課題解決• IT企画機能への要員シフト• 運用技術者の確保・育成から開放

迅速なビジネス展開
ビジネス拡大時の迅速なシステム増強

Copyright（C） 2009 Nomura Research Institute, Ltd. All rights reserved.

《クラウド・サービス利用の利点》
 ITコストの変動費化
9 資本・運用コストの削減 （スモールスタート、インフラ資産を保持しない）
9 必要な時に一定期間利用 （自由なオンオフ切替）
9 インフラ構築SEが不要、運用管理負荷の軽減
 ITリソースの調達スピード
9 インフラ調達・設定の迅速化
9 ビジネスニーズに応じて迅速な開発、利用が可能 ITリソースの柔軟拡張
9 オンデマンドでシステムリソースを拡張可能
9 システム基盤のキャパシティプランニングが不要
 開発生産性
9 用意された環境、開発フレームワークを利用する
ことで標準化、開発生産性向上が図れる場合がある
9 インフラエンハンス作業が必要ない
 最新技術への対応
9 最新のコンピュータ技術、製品を利用可能

7

２ クラウド・コンピューティングのアーキテクチャー
２．１ クラウド・コンピューティングのキーテクノロジー
２．２ クラウドコンピューティングの構成パターン
２．３ クラウド・コンピューティングの一般的なアーキテクチャー
２．４ アプリケーションのスケールアウトの課題はDB
２．５ スケーラブルなアーキテクチャでの並列分散処理

Copyright（C） 2009 Nomura Research Institute, Ltd. All rights reserved.

8

２． クラウド・コンピューティングのアーキテクチャー

２．１ クラウド・コンピューティングのキーテクノロジー
クラウド環境の実現のため、ユーティリティ化を支えるキーテクノロジーが発展した。
クラウド キーテクノロジー

クラウド アーキテクチャー
大規模システムの運用効率化

運用環境

アプリケーション

サービス
デスク
課金管理

キャパシティ変更 可用性/SLA管の柔軟性

理
ライフサイクル管理プロビジョニン
グ
キャパシティ管理

高集積された価格性能比の高いハードウェア

省スペース・空調効率

データセンター自体も素早くアップスケール、ダウンスケールするためのテクノロジー

Copyright（C） 2009 Nomura Research Institute, Ltd. All rights reserved.

リソースプール管理（仮想化管理）仮想化
技術

ファシリティ

ファシリティ

伸縮性のあるデータセンター

安価なハードウェアを用いて、リソースの高集積、耐障害性を実現するた
めのテクノロジー

システム運用管理（監視/JOB）

Map-Reduceフレームワーク
スケーラブルなシステム構成

Key-Valueデータストア(P2P、データグリッド技術)
仮想化ファイルシステム（Google File System 等）

ハードウェア環境

構成管理
サーバ環境をハードウェアから非依存とする機能

アプリケーション
ミドルウェア環境

大規模 分散ファイルシステム

一般的にはスケールア
ウトが難しいデータベー
ス環境を分散化するためのテクノロジー

運用
ITリソースの環境
迅速な提供

ランブック
オートメーション

ハードウェア環境

ユーティリティ化を意識した運用機能

ミドルウェア環境

抽象化されたハードウェ
ア環境を高度に運用するためのテクノロジー大規模 分散計算
フレームワーク
大規模 分散データベース

クラウド技術仮想化ソフトウェア(VMWare, Xen, 等）
専用ハードウェア／ブレード
ManyコアCPU

コンテナ型データセンター
電力供給設備/耐荷
空調設備
99

２． クラウド・コンピューティングのアーキテクチャー

２．２ クラウドコンピューティングの構成パターン
クラウドパターン
プラット

既存互換型

フォーム

既存互換

パブリッククラウド
スケーラブル型

AmazonEC2

運用高度化型

特性

仮想化

形態

仮想化

仮想化

仮想化

仮想化

仮想化

オートノミック

オートノミック

オートノミック

オートノミック

オートノミック

スケーラブルDB

スケーラブルDB

スケーラブルDB

スケーラブルDB

IaaS

PaaS

PaaS

IaaS：自由

IaaS：自由

IaaS：自由

PaaS：指定

PaaS：指定

PaaS：指定

データ操作

SQL

SQL

GetSet

DBMS

RDBMS

RDBMS

KVS

自由Python
Java.NET Frameworkサ
ポート言語(C#,VB,COBOL)SQL/GetSet

GQL

SQL/GetSet

RDBMSKVS（BigTable）

RDBMS

KVS（SinpleDB）
仮想化

ハイパーバイザハイパーバイザマルチテナント
ファシリティ

従来型

Windows Azure

AppEngine

IaaS/PaaS/SaaS

言語

Google

従来型

ハイパーバイザ/ミドルレイヤハイパーバイザ

従来型

KVS（AzureStorage）
ハイパーバイザ(Xen)

ミドルレイヤー(WebAP)

コンテナ型

コンテナ型

従来型

(Hyper-V)

コンテナ型
仮想化運用

監視/JOB運用//ﾘｿｰｽﾌﾟｰﾙ管理

監視/JOB運用//ﾘｿｰｽﾌﾟｰﾙ管理

監視/JOB運用//ﾘｿｰｽﾌﾟｰﾙ管理

監視/ﾘｿｰｽﾌﾟｰﾙ管理

監視/ﾘｿｰｽﾌﾟｰﾙ管理

監視/ﾘｿｰｽﾌﾟｰﾙ管理

クラウド運用なし/ﾌﾟﾛﾋﾞｼﾞｮﾆﾝ
ｸﾞﾂｰﾙ

動的ﾌﾟﾛﾋﾞｼﾞｮﾆﾝ
ｸﾞ/ｵｰﾄｽｹｰﾘﾝｸﾞ

動的ﾌﾟﾛﾋﾞｼﾞｮﾆﾝ
ｸﾞ/ｵｰﾄｽｹｰﾘﾝｸﾞ

ﾌﾟﾛﾋﾞｼﾞｮﾆﾝｸﾞ/ｵｰﾄｽｹｰﾘﾝｸﾞ

動的ﾌﾟﾛﾋﾞｼﾞｮﾆﾝｸﾞ
/ｵｰﾄｽｹｰﾘﾝｸﾞ

動的ﾌﾟﾛﾋﾞｼﾞｮﾆﾝｸﾞ/
ｵｰﾄｽｹｰﾘﾝｸﾞ（オートノミック）

Copyright（C） 2009 Nomura Research Institute, Ltd. All rights reserved.

10

２． クラウド・コンピューティングのアーキテクチャー

２．３ クラウド・コンピューティングの一般的なアーキテクチャー
価格対性能比の高い、安価なサーバを用いたスケールアウト構成が基本
個々のサーバではなく、システム全体として、高パフォーマンス、高可用性を実現
基本的なサーバの考え方

ロードバランサ
スケールアウトが容易なアーキテクチャ

分散アプリケーションサーバ
・・・

価格対性能比の高い安価なサーバ
数万～数百万台で構成

分散ストレージ

コピー

Copyright（C） 2009 Nomura Research Institute, Ltd. All rights reserved.

×

個々のハードウェアは、高性能・高信頼性、高可用性・冗長構成
高価格×

分散キュー

個々のハードウェアでの障害発生は当然

ハードウェア単体ではなく、システム全体として高性能・高可用性を担保
11

２． クラウド・コンピューティングのアーキテクチャー

２．４ アプリケーションのスケールアウトの課題はDB 「ACID」から「BASE」
PL層とBL層のスケールアウトは可能でも、DB層へのアクセスが全体のボトルネックとなっている
PL層

PL層

BL層

DB層
LB

DB層
LB

ボトルネックAtomicity （原子性）Consistency（一貫性）
Isolation （独立性）
Durability （永続性）

BL層

スケーラビリティを追求するとRDBが備えるACID特性の維持が困難

Copyright（C） 2009 Nomura Research Institute, Ltd. All rights reserved.

Key-Valueストアの台頭

Basically Available （可用性優先）
Soft-state（柔軟な状態）
Eventual consistency（結果一貫性）
いつかは全ての複製の同期が取れて、システム全体が一貫した状態になること

12

２． クラウド・コンピューティングのアーキテクチャー

２．５ スケーラブルなアーキテクチャでの並列分散処理
これまでのパラダイムでは実現不可能であった超大規模データボリュームの処理実現
並列分散処理を支えるミドルウェア群の顔ぶれ

アプリケーション
並列分散処理ライブラリ

処理言語

Sawzall

Pig,Hive

実行環境

Map-Reduce

Hadoop

Cubby
GigTable
GFS

HDFS
hBase

ストレージ/DB

Copyright（C） 2009 Nomura Research Institute, Ltd. All rights reserved.

DryadLINQ
SCOPE

Dryad
CosmosSQLServerAzure

並列分散処理基盤

KeyValueStoreの台頭

13

３ ITモダナイゼーション
３．１ レガシーマイグレーションの難しさ
３．２ クラウド時代のＩＴモダナイゼーション

Copyright（C） 2009 Nomura Research Institute, Ltd. All rights reserved.

14

３． ＩＴモダナイゼーション

３．１ レガシーマイグレーションの難しさ
レガシーマイグレーションによる基盤運用コスト削減の実現は容易ではなかったマイグレーションにかかるコストや難易度も高く、メリットに対するリスクが大きい

Copyright（C） 2009 Nomura Research Institute, Ltd. All rights reserved.

15

３． ＩＴモダナイゼーション

３．２ クラウド時代のＩＴモダナイゼーション
モダナイゼーション（Modernization）とは「近代化」を意味する言葉。個々のシステムを新しいプラットフォームに移行することがゴールではなく、システム全体を柔軟性・拡張性のあるアーキテクチャに近代化させることをゴールとしている。
寿命の長い基幹系システムにおいて「柔軟性」「拡張性」を得るためには、ラッピング・リビルド・リ
エンジニアリング・リプレイスを活用し、システム全体のリアーキテクチャが必要
またCOBOLで記述された品質の良いビジネスロジックはSOA的アプローチによる再利用も有効である
アプリケーション特性に合わせて各手法を検討することになるが、基盤プラットホームとして、クラウドという選択肢も「リアーキテクチャ」の視野に入れる時代になりつつある

Copyright（C） 2009 Nomura Research Institute, Ltd. All rights reserved.

16

４ ＣＯＢＯＬ開発とクラウド
４．１ 従来型コンピューティングとクラウドコンピューティングの特徴
４．２ レガシーシステムからクラウドへ
４．３ ISAM/VSAMベースとKeyValueStore
４．４ クラウドプラットフォーム＆COBOLベンダーの方向性と対応状況

Copyright（C） 2009 Nomura Research Institute, Ltd. All rights reserved.

17

４． ＣＯＢＯＬ開発とクラウド

４．１ 従来型コンピューティングとクラウドコンピューティングの特徴
各世代のコンピューティングパラダイムの視点の変遷・特徴の整理（基盤・アプリ）
レガシーシステムからのマイグレーションパスの課題点や期待していること
メインフレーム

変遷

CSS / Web

ベンダー垂直統合

水平分業

緩やかなデータ増加

緩やかなデータ増加

コストの高いスケールアップ

容易だがコスト高い
スケールアップ

HWベース耐障害性

HWベース耐障害性
位置透過性の問題

集中

分散

ACID
補償ﾄﾗﾝｻﾞｸｼｮﾝ

過度なACID依存

VSAM/独自DBMS

インピーダンス
ミスマッチ問題

テープ/HDD

Copyright（C） 2009 Nomura Research Institute, Ltd. All rights reserved.

デファクトRDBMS
HDD中心

変遷

クラウド
プロバイダによる新たな垂直統合

安くてスケーラビリティのあるクラウドへリホスト

位置透過性問題の回避

インピーダンス
ミスマッチの回避

情報爆発
コストの安いスケールアウト
SWベース耐障害性
集中(透過性のある分散)
BASE中心ACID混在KeyValueStoreRDBMS混在メモリ中心18

４． ＣＯＢＯＬ開発とクラウド

４．２ レガシーシステムからクラウドへ
ISAM/VSAMベースのCOBOLアプリと新DBMSとしてのKeyValueStore【課題意識】
これまでのレガシーマイグレーションにおいてはRDBMS等へのリライト等を行い、ダウンサイジング等のシステム再構築を経ていた。特にISAM/VSAMベースのアプリケーションはRDBMSのインピーダンスミスマッチな部分の問題が大きかった。
クライアントサーバ・Ｗｅｂコンピューティング時代のアプリケーションロジックは、BL層とDB層（SQL）に記述可能であり、業務システムが扱うデータ量の増大と伴い、RDBMSへの過度な依存が性能面・基盤コスト（巨大で高価なSMPマシン）・アプリ保守性のバランスをとることが非常に難しくなってしまった。
業務システムにおいては、ファイルベースのバッチ処理が合理的な処理パターンとして現在も多く存在している。特にオンライン化が必要とされていないバッチ中心のホスト上でのCOBOLアプリも膨大に存在している。

クラウド時代になり、安価で均質なマシンをソフトウェアの技術により「可用性」と「スケーラビリティ」を得られるようになりホストのDBMS基盤からクラウド分散DBMSへの基盤リアーキテクトの可能性
COBOL時代のアプリケーション処理を新DBMSとしてのKeyValueStoreとして、リアーキテクトできる可能性があると考える。
ホスト上のCOBOLバッチがクラウドの技術的特徴であるMapReduce等の分散並列処理により、非常にコストパフォーマンスの良いシステムアーキテクチャの実現が可能になる可能性がある。
Copyright（C） 2009 Nomura Research Institute, Ltd. All rights reserved.

19

４． ＣＯＢＯＬ開発とクラウド

４．３

ISAM/VSAMベースとKeyValueStore

金融システムの多くは口座をキーとした処理であるので、口座単位DB・口座単位並列処理とすることで、スケールとパフォーマンスを実現できる、との仮説を置いた。

口座単位

ー業務別にテーブルを持ち、店群分散でスケール対応ー“店群”が実装され、“店群変更”によるシステム変更が広範囲におよぶ●口座単位にデータセットを持つ●データと同様に処理系も口座単位に分散させ、口座単位のスケールアウトを実現●ビジネス拡大と同じ軸でシステムを拡張していく

従来型 （≒業務別テーブル）
顧客証券預り_tbl
明細レコード A口座、X銘柄、・・・
明細レコード B口座、Y銘柄、・・・・・・

処理方式変革

従来型〔RDBMSの時代〕

口座主体型 （≒key-valueストア）
A口座管理_tbl

拡張限界が低く、苦労も多い。

証券預り明細レコード X銘柄、・・・
受発注明細レコード
金銭残高レコード ・・・
・・・◆口座単位DBの概念は（クラウド技術の）key-valueストアに近似◆クラウド＝スケーラブルDBと大規模並列処理に適する⇒クラウド技術動向を注視し、適用可能性を探っていく。

Copyright（C） 2009 Nomura Research Institute, Ltd. All rights reserved.

M銘柄、・・・

DBと処理系を口座単位で拡張していく。

実はVSAM時代はこういうデータアクセスをしていた。

20

４． ＣＯＢＯＬ開発とクラウド

４．４ クラウドプラットフォーム＆COBOLベンダーの方向性と対応状況
COBOLベンダー
クラウドベンダー

概況

マイクロソフト

COBOLベンダー各社ともにAzure未対応。

「Ａzure」

Amazon「ＡＷＳ」

マイクロフォーカスが対応を発表。日立、富士通は検討中。

マイクロフォーカス

日立

富士通

Azure未対応。

Azure未対応。

Azure未対応。

2008/10 PDCにて、英マイクロフォーカス社との提携を発表。

対応検討中。

対応検討中。

マネージドコードとしてのCOBOLはAzure前提稼動
条件を満たせば稼動可能だが、アンマネージドコー
ドとしてのCOBOL対応は各社検討の段階。

NET3.5/VS2008への対応済み

IaaSであるため、まだ試用フェーズであるが、COBOLベンダーとの協力は推進している

AWS上でβ提供。

備考
Azure前提対応.NET3.5/VS2008

Azure前提対応されていない。

Azur前提対応はされている状況。

将来的にはNET4.0/VS2010に。

また.NET4.0/VS2010への対応も検討中

対応検討中。

対応検討中。

MicrofocusServer for
SOA/EEの試用が開始されている（非常に戦略的なミドルである）

日立

ー

日立PaaSの一部としてサービス提供を可能とするミドルについては、開発環境、実行環境などの想定されるケースを見極めながら検討中ーーー

富士通ミドルの「Interstage」上でのサポートを表明。

「 Harmonious
Cloud 」

富士通
「Trusted-ServicePlatform」
Copyright（C） 2009 Nomura Research Institute, Ltd. All rights reserved.

21

５ まとめCopyright（C） 2009 Nomura Research Institute, Ltd. All rights reserved.

22

５． まとめクラウド時代になり、安価で「可用性」と「スケーラビリティ」を得られるようになってきたCOBOL時代のアプリケーション処理を新DBMSとしてのKeyValueStoreとして、リアーキテクトできる可能性がある
特に、ISAM/VSAMベースのCOBOLソースはクラウドのKeyValueStoreにマッチしやすく、スケーラビリティを持ったアプリケーションに生まれ変わるという点では、クラウド移行を新たなITモダナイゼーションの１アプローチと考えると面白いのではないか

Copyright（C） 2009 Nomura Research Institute, Ltd. All rights reserved.

23