クラウドのもう一つの本質~ソフトウェアの可搬性を確保する
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の普及がそれを後押しした。
ハードウェアやミドルウェアを変えるだけでなく、プログラミング言語まで変えてしまうリエンジニアリング又はリライトゆえに、どのプロジェクトも大変だっただろう。
下記にその事情は書いた。
レガシーマイグレーションという名のシステム移行はデスマーチになりやすい: プログラマの思索
そして今は、サーバーなどのハードウェア資産を自社内に持つオンプレミスから、ハードウェア資産を変動費化するクラウドへ移行するレガシーマイグレーションの案件が少しずつ増えてきている。
一度クラウドに乗せてしまえば、ソフトウェアの可搬性は高まる。
何故なら、サーバーの性能は動的に拡張可能であるし、クラウド上でのデータやシステムの移行作業は速いから。
ソフトウェアの可搬性が良ければ、業務システムが使える期間も長くなるだろう。
ソフトウェアの可搬性は、ソフトウェアの品質特性における移植性に相当する。
ソフトウェアの品質特性における機能性や信頼性よりも、長く使うシステムを機能拡張しやすくするための保守性や、ソフトウェアを再利用したり、ハードウェアに依存せずソフトウェアの可搬性を確保するための移植性の方が重視される時代になってきている。
新しい技術が、ソフトウェアに求める品質特性を大きく変えてきているのだ。
| 固定リンク
「モデリング」カテゴリの記事
- 組込みソフトウェア開発でUMLを使う手法を説明した書籍のリンク(2022.06.17)
- 超高速開発でアジャイル開発を実現する話に違和感がある(2022.05.06)
- 事業活動のシステム化は非差別化しない汎用ドメインや支援ドメインに注力すべき(2022.04.13)
- 「大国政治の悲劇」の感想~現代はパワーポリティクスの歴史に戻ったみたいだ(2022.03.25)
- マイクロサービスはアトミックな操作で閉じるべきシステム分割論に基づいたアーキテクチャなのか(2022.03.20)
「ビジネス・歴史・経営・法律」カテゴリの記事
- 戦前の日本人の気質はまだ成熟していない青年期と同じだった(2022.06.14)
- 「大人の学びパターン・ランゲージ」の感想~知識と経験を行ったり来たりするタイミングを大切にする(2022.06.05)
- 経済学や心理学の実験で得られた理論は再現性があるのか?~内的妥当性と外的妥当性の問題点がある(2022.06.04)
- 中国人の価値観の考え方(2022.05.08)
- 知識は経験よりも大切か、経験は知識よりも勝るのか、SECIモデルは相互作用を語る(2022.04.26)
「ソフトウェア工学」カテゴリの記事
- メトリクス分析のコツは良いIssueを見つけること(2022.06.29)
- プロセス設計はどの範囲を指すのか?~プロマネの仕事はテーラリングにある(2022.06.19)
- 「大人の学びパターン・ランゲージ」の感想~知識と経験を行ったり来たりするタイミングを大切にする(2022.06.05)
- 「コーディングを支える技術」は良い本だ(2022.05.26)
- ソフトウェアテスト技法練習帳はテストケースの切り方に困っている人向けにおすすめの本だ(2022.05.14)
「Agile」カテゴリの記事
- プロセス設計はどの範囲を指すのか?~プロマネの仕事はテーラリングにある(2022.06.19)
- 小説活動にプルリクエスト駆動が必要になってきた(2022.05.08)
- 超高速開発でアジャイル開発を実現する話に違和感がある(2022.05.06)
- 知識は経験よりも大切か、経験は知識よりも勝るのか、SECIモデルは相互作用を語る(2022.04.26)
- プロジェクト管理の基本はテーラリング、Redmineはプロセスをテーラリングするツール(2022.04.21)
コメント