モダナイゼーションがもたらす未来

  • View
    2.516

  • Download
    1

  • Category

    Software

Preview:

Citation preview

モダナイゼーションがもたらす未来

株式会社ゼンアーキテクツ岡 大勝

1

2015.4.23

IT Modernization bring the future

自己紹介

株式会社ゼンアーキテクツ代表取締役 CEOチーフアーキテクト

岡 大勝Oka Hiromasa

日本DEC、日本HPにて銀行・生保・損保の資産運用系システムに携わる。日本ラショナルソフトウェアではオブジェクト指向と開発プロセスの普及に努め、2003年、ゼンアーキテクツを設立。現在はエンタープライズ・アジャイルの現場適用支援を中心に活動している。1972年生まれ。

著作:「本当に使える開発プロセス(日経BP社)」「ディシプリンド・アジャイル・デリバリー(翔泳社)」、他

本日のながれ

1. 「ITモダナイゼーション」の9つの手法2. 企業システムの未来に向けたアプローチ

「再構築 vs 改修」• 必ず起きる論争。• 再構築へ傾きやすい。• ただ「改修」ではなく、選択肢はいくつもある。• 改修の選択肢が「モダナイゼーション」

「ITモダナイゼーション」• ITモダナイゼーションは、組織のIT文化をオーバーホールすることだと言える。• IT組織は、技術とスキルの革新、そしてビジネスからのプレッシャーに直面しており、過去に作られたIT資産を、これから求められる未来の姿に近づけていくことが求められる。

https://www.gartner.com/it/products/research/it_modernization/it_modernization08.jsp

外的要因内的要因

保守切れ• ハードウェア• OS• ミドルウェア• フレームワーク• 開発プラットフォーム

非機能要求の変化

機能要求の変化

• 性能• キャパシティ• 可用性

契約の変更・終了• データセンター• 開発ベンダー• 企業買収

• セキュリティ• ユーザビリティ

• 業務処理の変化• 新業務の追加• 業務革新

モダナイゼーションの動機本当は使い続けたいのだけれども、手を入れなければならない。

9. リビルド:Re-Build

1. リラーン:Re-Learn

2. リドキュメント:Re-Document

3. リファクター:Re-Factor

4. リホスト:Re-Host

5. リインタフェース:Re-Interface

6. ラッピング:Wrapping

7. リライト:Re-Write

8. リプレース:Re-Place

準備的モダナイゼーション

中核的モダナイゼーション

再構築的モダナイゼーション

ITモダナイゼーションの9つの手法

改修規模

サーバハードウェア /OS

ミドルウェア /フレームワーク

サーバアプリケーション

クライアントアプリケーション

クライアントハードウェア /OS

DBMS

データ

リホスト

リホスト (Re-Host)

リホスト

アプリケーションやミドルウェアに手を入れることなく、サーバハードウェアを交換する。OSバージョンが変更されることにより、ミドルウェアに影響を与える場合がある。

• HWの保守切れ(外的)• 非機能要求の増大(内的)• TCO削減(内的)

制約から逃れられないことが多い。検討時から実現可能性検証を。

動 機

サーバハードウェア /OS

ミドルウェア /フレームワーク

サーバアプリケーション

クライアントアプリケーション

クライアントハードウェア /OS

DBMS

データ

リインタフェース (Re-Interface)

サーバアプリケーションに手を入れることなく、ユーザーインタフェースの刷新を行う。クライアント/サーバー型アプリケーションでは現実的だが、レガシーWebシステムはUIの結合度が高いため注意が必要。

リインタフェース

• UIのモダナイズ(内的)• 配布コスト削減(内的)• 旧バージョンが入手不可(外的)

最も検討される。アプリケーションの構造によってはリライトに発展。

動 機

サーバハードウェア /OS

ミドルウェア /フレームワーク

サーバアプリケーション

クライアントアプリケーション

クライアントハードウェア /OS

DBMS

データ

クライアントとサーバの中間にラッピング層を設け、インタフェースおよびプロトコル変換を行うことで、サーバーアプリケーションへのアクセス多様性を実現する。

ラッピング (Wrapping)

ラッピング層

他システム

ラッピング

• リインタフェースの手段• アクセシビリティ向上(内的)• システムの機能を外から利用(内的)

C/Sはスムーズ。レガシーWebは注意が必要。

動 機

サーバハードウェア /OS

ミドルウェア /フレームワーク

Webアプリケーション

DBMS

データ

リコード (Re-Write)

既存の機能を変更することなく、コード(プログラム)の全面書き換えを行う。ミドルウェアやフレームワークの更新を伴うことが多い。

リライトWebブラウザ

• MWの保守切れ(外的)• プラットフォームの刷新(内的)• アプリ修正コストの増大(内的)

同一にこだわりすぎない。ツールに依存しすぎない。「仕様確定済み」が最大のメリット。

動 機

“Modernization”は老朽化したシステムを“延命”すること?

• 長く使っていくための「再生」であり「変革」

“Transformation”

老朽化システム

延命

再生/変革

リビルド?リプレース?

未来に向かうための“境界線”

何を生かし、何を捨てるのか。ライフサイクルの違いに着目• ビジネスモデル/データモデル:30年• システム基盤(HW/OS/MW):10年• ユーザーインタフェース/デバイス/UX:5年未満

「ハードウェアを入れ替えながらも、ソフトウェア資産はそのまま移行して使い続けたい」

HP-UX11i製品紹介より

基盤とUIはライフサイクルが異なる

Enterprise Architecture Framework

Business

Data

Application

Technology

• カスタムアプリケーション• パッケージアプリケーション• サービス/プロセス実装 etc

• 保持データ• データ構造• データ管理 etc…

• 業務プロセス• 業務ルール• 組織構造 etc…

• ハードウェア(サーバ、NW等)• ソフトウェア(言語、ミドル、UI等)• データセンター、回線 etc…

FEAFArchitecturalModel

http://en.wikipedia.org/wiki/Federal_enterprise_architecture

ライフサイクル

Technology (Infrastructure)

ライフサイクルによる境界線の識別(1)

Application (Services)

Technology (UI/UX)

Data(Database)

Business

Technologyは消耗品

Technology (Infrastructure)

ライフサイクルによる境界線の識別(2)

Application (Services)

Technology (UI/UX)

Data(Database)

Business

ApplicationとDataを、活かす

API-based Web Application Architecture<モダンWebアプリ>

• フロント・バックの疎結合• デザインと基盤の分離• Req : REST API• Res : JSON

• バックエンドを軽く• フロントですべきことは、フロントで。無駄なデータ転送を削減。

• Front-End : 70%のコード• Back-End : 30%のコード

• バックエンドは堅く• 認証やバリデーションは、勝手に作り込まない。

• Authentication• Validation• ORM

• HTML5 Ready• WebSocket• WebStorage

JSON

Front-End<WebBrowser>

Back-End<ServerApp>

Database

SPA (SinglePageApplication)

JavaScriptMVVMFramework

JavaScriptBusinessLogics

HTML5/CSS3/JavaScript

DataProcessing

Authentication Validation

ORM Logging

RESTAPI

Cloud / Container / Virtualization

• Portability• 軽量で柔軟なアプリケーション配備

• サーバは落ちるもの。スケールアウト+迅速な起動。• PaaS : CloudFoundry, Azure AppService• Container : Docker, EC2 Container

• Reliability• 堅牢なデータ保持環境

• データは消えないもの。遠隔地多重保持で当然。• Storage : Amazon S3, EBS, Azure Storage • Database : Azure SQL Database, Aurora

• トレードオフの選択肢• 「自由度」と「軽さ」

• IaaSは自由だが、Technologyのコントロールが必要• PaaSは軽量だが、環境制約に縛られる

Datacenter

Networking

Storage

Server

Virtualization

Container

O/S

Middleware

Runtime

Data

PaaS

(Platfo

rm)

SaaS

(Softw

are)

CaaS

(Container)

IaaS

(Infra

structure)

Application

Technology (Infrastructure)

Infrastructure モダナイゼーション

Application (Services)

Technology (UI/UX)

Data(Database)

Business

Re-Host

WindowsServer2003→Virtualization (MicrosoftAzureVM/Hyper-V)

Re-Write

WindowsServer2003→PaaS (MicrosoftAzureAppService)

Technology (Infrastructure)

UI/UX モダナイゼーション

Application (Services)

Technology (UI/UX)

Data(Database)

Business

WrappingRe-Interface

LegacyWebUI→REST/JSONInterface+APIBasedWebApp

MF,UNIXService→REST/JSONWrapper+APIBasedWebApp

REST/JSONI/F

「再生」から「サービス」そして「エコシステム(生態系)」へ• 「木」から「森」、個別最適から全体最適• エコシステムの「サービス」として再生• Solution/ Segment/ Enterprise Architecture

老朽化システム

再生済(Modernized)システム

エコシステム

個別最適からの脱却を目指して• 既存システムを「サービス群」として捉える• 目に見えるものに囚われない

MainFrame HP-UX OpenStack/VM

Windows ServerLinuxServerAWS

契約 取引 請求 支払

顧客

申込

履歴 ナレッジ

人事 給与 会計商品在庫

カスタマーリレーションPHPApp

人事・給与・会計Package

在庫管理JavaWebApp

請求支払管理C++App

契約管理Package

申込受付JavaWeb App

Application

Data

Technology

保守切れ

業務効率化新制度

対応

利便性悪い

スマホ対応

新陳代謝するエコシステムへ

MainFrame HP-UX OpenStack/VM

Windows ServerLinuxServerAWS

契約 取引 請求 支払

顧客

申込

履歴 ナレッジ

人事 給与 会計商品在庫

Technology(Infra)

カスタマーリレーションPHPApp

人事・給与・会計Package

在庫管理JavaApp

請求支払管理C++App

契約管理Package

申込受付JavaWebApp

Application

Data

Re-Host

RESTAPIWrapping

請求支払WebApp

Web給与明細

RESTAPI

企業間取引電子化

RESTAPI

電子契約書

サービスデスクモダンWebApp

RESTAPI

Re-Interface

Technology(UI/UX)申込受付iPhoneApp

ApplicationとUIを分離

「アプリケーション = API」

http://docs.openstack.org/openstack-ops/content/architecture.html

エンタープライズ・エコシステム構築の観点• Lifecycle(ライフサイクル)• 適切なライフサイクルでの新陳代謝 → Enterprise Architecture

• Loose Coupling (疎結合)• 責務/ライフサイクルで交換可能 → サービス化、SOA

• Latest Technology (最新技術の採用)• その時代のテクノロジーを活用 → API based WebApp

“3L”

本セッションのまとめ•モダナイゼーションはTransformation(進化)

• モダナイゼーション手法は9種類• システム単独ではなく、エコシステム全体の進化を見据える

•ライフサイクルに着目• その動機はどのレイヤーに影響するのか• Enterprise Architecture

•UIとインフラは消耗品• REST I/F、モダンWebによる現代版C/SでUIを分離• C/Sはラッピング、レガシーWebはリインタフェースで• アプリのポータビリティ確保、もしくは長期保守可能なインフラを

•アプリケーションとデータを長期間維持する• リラーン、リファクター、リライトで保守コストを削減

•モダナイゼーションとSOAは相性が良い• UI技術の多様化、シンプルなAPI、そしてServiceBusの活用

Thank You!

zenarchitects.co.jpfacebook.com/zenarchitects

Recommended