クラウドのもう一つの本質~ソフトウェアの可搬性を確保する
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の普及がそれを後押しした。
ハードウェアやミドルウェアを変えるだけでなく、プログラミング言語まで変えてしまうリエンジニアリング又はリライトゆえに、どのプロジェクトも大変だっただろう。
下記にその事情は書いた。
レガシーマイグレーションという名のシステム移行はデスマーチになりやすい: プログラマの思索
そして今は、サーバーなどのハードウェア資産を自社内に持つオンプレミスから、ハードウェア資産を変動費化するクラウドへ移行するレガシーマイグレーションの案件が少しずつ増えてきている。
一度クラウドに乗せてしまえば、ソフトウェアの可搬性は高まる。
何故なら、サーバーの性能は動的に拡張可能であるし、クラウド上でのデータやシステムの移行作業は速いから。
ソフトウェアの可搬性が良ければ、業務システムが使える期間も長くなるだろう。
ソフトウェアの可搬性は、ソフトウェアの品質特性における移植性に相当する。
ソフトウェアの品質特性における機能性や信頼性よりも、長く使うシステムを機能拡張しやすくするための保守性や、ソフトウェアを再利用したり、ハードウェアに依存せずソフトウェアの可搬性を確保するための移植性の方が重視される時代になってきている。
新しい技術が、ソフトウェアに求める品質特性を大きく変えてきているのだ。
| 固定リンク
「モデリング」カテゴリの記事
- SQLは画面や帳票のインターフェイス層に相当する(2021.04.10)
- 統計学と機械学習の違いは、データの説明かデータの予測か(2021.04.01)
- ITの技術や知識はツールの習得と表裏一体である(2021.03.26)
- 「データモデル大全」は良い本だ(2021.03.21)
- 関西IT勉強宴会の感想~コロナワクチン接種管理システムのデータモデリング(2021.02.25)
「経営・法律・ビジネス」カテゴリの記事
- Clubhouseは路上ライブや朗読のためのツールかもしれない(2021.04.04)
- 要件定義プロセスはDXで終焉するのか(2021.04.01)
- ノートパソコンが入ってUSBポートが付属しているビジネスリュックを買ってみた(2021.03.21)
- プログラマとスクラムが社会実装を変えていく #Findy_GovTech(2021.03.02)
- デブサミ2021の感想~コミュニケーションスタイルがオフラインからオンラインに激変している(2021.02.25)
「ソフトウェア工学」カテゴリの記事
- なぜInfrastructure as Codeが必要なのか?(2021.04.18)
- Excel駆動でWBSやガントチャートが作れない人はどこに原因があるのか? #redmine(2021.04.18)
- テスト駆動開発が抱える問題は可読性と保守性のトレードオフ #dxd2021 #streamA(2021.04.10)
- プロジェクト管理手法はプロジェクト型開発からプロダクト型開発へ変えるべきだ(2021.04.01)
- ソフトウェア開発は打ち合わせ駆動開発だ(2021.03.30)
「Agile」カテゴリの記事
- Excel駆動でWBSやガントチャートが作れない人はどこに原因があるのか? #redmine(2021.04.18)
- テスト駆動開発が抱える問題は可読性と保守性のトレードオフ #dxd2021 #streamA(2021.04.10)
- 沢渡さんの資料「テレワークに役立つ8つのスキル」はいいね(2021.04.04)
- 要件定義プロセスはDXで終焉するのか(2021.04.01)
- プロジェクト管理手法はプロジェクト型開発からプロダクト型開発へ変えるべきだ(2021.04.01)
コメント