クラウドのもう一つの本質~ソフトウェアの可搬性を確保する
Hadoopフレームワークasakusaを使って、バッチ処理の基本であるEDIをAWSへ移行した記事を見つけた。
その記事の中で「クラウドがソフトウェアの可搬性を確保するのに効果がある」という事が書かれていたのでメモ。
【元ネタ】
クラウド上にEDIを「移行する」ということの意味 - 急がば回れ、選ぶなら近道
Hadoopの本質は分散I/Oにあり~クラウド時代の非同期処理: プログラマの思索
クラウドデザインパターン~インフラ方式設計のベストプラクティス集: プログラマの思索
デブサミ夏2013のテーマはDevOps。
DevOpsの背後にある技術は、AWSとChef。
その技術のキーワードは、Infrastructure as Code。
つまり、インフラ管理のIT化。
インフラ構築は今まではWF型開発が主流だった。
ハードの購入、OSやミドルウェアのバージョンを決めてインストールなどの作業は、一度実行するとやり直しが効かないから、事前の計画づくりを重視せざるを得ない。
でも、AWSのようなクラウドを使うことで、試行錯誤しながら性能検証したり、アクセス数が増えれば動的にサーバーリソースを増やす対策を後から取ることができる。
でも、クラウドの利点はそれだけではない。
昨今のIT技術の流れとして、ソフトウェアとハードウェアの乖離が激しくなっている。
業務システムは一度作ったら10年ぐらいは普通に使うのに、WindowsやRDB、JDKのバージョンアップ、サーバーのリプレースによって、ソフトウェアも変えざるを得ない。
CPUやHDDの性能向上があるために、OSやミドルウェアのVerUpのために、3年おきにリプレースせざるを得ない時が多い。
このいわゆるリプレース作業は、レガシーマイグレーションとも呼ぶ。
レガシーマイグレーションの良い例は、Cobolを使う汎用機からJavaやPHPのようなWebシステムを使うオープン系への移行作業。
90年代からのPCの普及がそれを後押しした。
ハードウェアやミドルウェアを変えるだけでなく、プログラミング言語まで変えてしまうリエンジニアリング又はリライトゆえに、どのプロジェクトも大変だっただろう。
下記にその事情は書いた。
レガシーマイグレーションという名のシステム移行はデスマーチになりやすい: プログラマの思索
そして今は、サーバーなどのハードウェア資産を自社内に持つオンプレミスから、ハードウェア資産を変動費化するクラウドへ移行するレガシーマイグレーションの案件が少しずつ増えてきている。
一度クラウドに乗せてしまえば、ソフトウェアの可搬性は高まる。
何故なら、サーバーの性能は動的に拡張可能であるし、クラウド上でのデータやシステムの移行作業は速いから。
ソフトウェアの可搬性が良ければ、業務システムが使える期間も長くなるだろう。
ソフトウェアの可搬性は、ソフトウェアの品質特性における移植性に相当する。
ソフトウェアの品質特性における機能性や信頼性よりも、長く使うシステムを機能拡張しやすくするための保守性や、ソフトウェアを再利用したり、ハードウェアに依存せずソフトウェアの可搬性を確保するための移植性の方が重視される時代になってきている。
新しい技術が、ソフトウェアに求める品質特性を大きく変えてきているのだ。
| 固定リンク
「モデリング」カテゴリの記事
- 「システム開発・刷新のためのデータモデル大全」を読み直した感想~親子頻出アンチパターンは初心者モデラーに多い(2024.08.31)
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「システムアーキテクチャ構築の原理」の感想(2024.05.06)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- アーキテクチャ量子の考え方はソフトウェア工学に物理学アプローチを適用したアイデアではないか(2024.02.12)
「ビジネス・歴史・経営・法律」カテゴリの記事
- ビジネス書の名著はどれ?(2023.09.18)
- 営業は顧客の”購買代理人”である(2023.08.16)
- 第85回IT勉強宴会の感想~概念データモデルからビジネスモデルを構築すべきという考え方(2023.05.13)
- 令和4年度春期試験のITストラテジスト試験第4問をastahでモデル化してみた(2023.04.15)
- ChatGPTで起きている事象の意味は何なのか(2023.04.02)
「ソフトウェア工学」カテゴリの記事
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「システムアーキテクチャ構築の原理」の感想(2024.05.06)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- マイクロサービス設計は従来のアーキテクチャ設計と何が違うのか(2024.01.02)
- 「ソフトウェアアーキテクチャ・ハードパーツ」の情報リンク~マイクロサービスの設計技法の課題は何なのか(2023.11.12)
「Agile」カテゴリの記事
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「スクラムの拡張による組織づくり」のScrum@Scaleの感想(2024.03.31)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- 「GitLabに学ぶ 世界最先端のリモート組織のつくりかた」の感想(2023.12.10)
- 概念モデリングや設計原則は進化しているのか(2023.10.21)
コメント