自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

應(yīng)用向云遷移的頭號難題:倒底需不需要重構(gòu)?

譯文
云計算
就目前來看,成千上萬的應(yīng)用程序正在被逐步移植到云環(huán)境當(dāng)中,而企業(yè)則需要就此快速作出決策——即如何對每一款應(yīng)用加以處理。在將應(yīng)用程序移植到云環(huán)境當(dāng)中時,我們到底應(yīng)該對其進(jìn)行上行轉(zhuǎn)換、部分重構(gòu)還是完全重構(gòu)?下面一起來看各類作法的優(yōu)勢與弊端。

在將應(yīng)用程序移植到云環(huán)境當(dāng)中時,我們到底應(yīng)該對其進(jìn)行上行轉(zhuǎn)換、部分重構(gòu)還是完全重構(gòu)?下面一起來看各類作法的優(yōu)勢與弊端。

[[138690]]

就目前來看,成千上萬的應(yīng)用程序正在被逐步移植到云環(huán)境當(dāng)中,而企業(yè)則需要就此快速作出決策——即如何對每一款應(yīng)用加以處理。

由于等待移植的應(yīng)用程序數(shù)量太過龐大,對每一款都加以修改無疑將是一項艱巨的任務(wù)。不過如果不加任何調(diào)整就進(jìn)行應(yīng)用程序遷移,將意味著我們無法充分利用云平臺當(dāng)中的種種固有優(yōu)勢。

目前進(jìn)行應(yīng)用程序遷移的具體選項包括:

  1. 不對代碼進(jìn)行任何修改即進(jìn)行直接移植,也就是上行轉(zhuǎn)換。
  2. 對代碼進(jìn)行部分重構(gòu),通過應(yīng)用程序定制的方式使其適應(yīng)云平臺。
  3. 對代碼進(jìn)行完全重構(gòu),通過應(yīng)用程序定制的方式使其適應(yīng)云平臺并獲得其它功能。

部分重構(gòu)方式僅修改應(yīng)用程序當(dāng)中的特定部分以發(fā)揮云平臺的固有優(yōu)勢,而整體重構(gòu)則意味著需對應(yīng)用程序的大部分代碼進(jìn)行變更。

上行轉(zhuǎn)換的優(yōu)勢與弊端

上行轉(zhuǎn)換方案的優(yōu)勢在于:

  • 應(yīng)用程序的遷移工作量***。
  • 遷移與部署速度更快。

弊端在于:

  • 通常無法發(fā)揮云平臺的原生特性與優(yōu)勢。
  • 在云環(huán)境下運行此類應(yīng)用可能帶來更高成本。

部分重構(gòu)的優(yōu)勢與弊端

部分重構(gòu)方案的優(yōu)勢在于:

  • 只需要對應(yīng)用程序中的一部分代碼進(jìn)行修改。
  • 與整體重構(gòu)相比,遷移與部署速度更快。

弊端在于:

  • 只能發(fā)揮云平臺上的一部分特性與優(yōu)勢。
  • 在云環(huán)境下運行此類應(yīng)用可能帶來更高成本。

整體重構(gòu)的優(yōu)勢與弊端

整體重構(gòu)方案的優(yōu)勢在于:

  • 應(yīng)用程序通常能夠獲得更理想的執(zhí)行效果。
  • 應(yīng)用程序能夠針對運行方式作出優(yōu)化,從而降低日常成本。

弊端在于:

  • 移植成本更高,因為我們需要對應(yīng)用程序中的大部分代碼進(jìn)行修改。
  • 部署時間較前兩種方案更長。

適合采用上行轉(zhuǎn)換方案的應(yīng)用程序往往擁有經(jīng)過良好定義的架構(gòu),其中數(shù)據(jù)被耦合至應(yīng)用程序邏輯當(dāng)中,因此我們很難對其加以硬性拆分。在這種情況下,修改或者重構(gòu)應(yīng)用程序代碼所帶來的成本往往令人望而卻步。如果這類應(yīng)用程序能夠在云環(huán)境下順暢運行,那么我們并沒有必要的理由對其加以重構(gòu)。

不過某些關(guān)鍵性業(yè)務(wù)應(yīng)用程序在設(shè)計水平方面比較糟糕。如果不加重構(gòu)就將它們遷移到云環(huán)境下,則意味著其會占用大量云資源,導(dǎo)致更高的公有云服務(wù)使用成本,甚至有可能出現(xiàn)性能或者穩(wěn)定性問題。在這種情況下,考慮到此類應(yīng)用程序的重要作用,我們可以對其中的部分代碼進(jìn)行重寫,從而充分發(fā)揮云平臺的固有特性與優(yōu)勢、同時降低云資源使用成本。在必要時,甚至可以選擇對其進(jìn)行整體重構(gòu)。

那么哪種方案最為理想?答案取決于應(yīng)用程序的具體情況以及該應(yīng)用負(fù)責(zé)實現(xiàn)的業(yè)務(wù)目標(biāo)。建議大家首先對自己手中的應(yīng)用程序資產(chǎn)進(jìn)行深入分析,然后再做出慎重而正確的決定。

原文標(biāo)題:Refactor or not? Decision No. 1 when porting apps to the cloud

 

責(zé)任編輯:Ophira 來源: 51CTO
相關(guān)推薦

2010-11-23 10:55:47

跳槽

2011-09-02 09:45:39

交互設(shè)計Android

2022-02-15 07:26:34

web前端算法題

2020-12-20 18:08:31

業(yè)務(wù)層服務(wù)化微服務(wù)

2016-10-26 13:35:43

云自動資源負(fù)載

2016-10-26 20:21:34

自動縮放可擴(kuò)展性

2017-03-13 13:54:40

戴爾

2023-10-04 00:19:00

Java開發(fā)

2013-07-18 09:21:32

代碼文檔

2024-02-22 09:00:00

LogitMat數(shù)據(jù)集算法

2015-09-14 11:06:53

PYTHON運維

2020-02-29 15:58:37

iPhoneiOS安卓

2020-09-09 10:07:06

導(dǎo)航手機(jī)導(dǎo)航北斗導(dǎo)航

2018-01-29 13:18:42

前端JavaScript

2010-07-29 09:28:02

VMware虛擬化云計算

2009-11-23 12:45:22

2015-09-30 09:57:53

天分熱情工程師

2012-08-23 09:50:07

測試測試人員軟件測試

2014-01-17 13:09:48

Linux碎片整理

2022-09-14 15:10:40

前端架構(gòu)
點贊
收藏

51CTO技術(shù)棧公眾號