雲計算改寫SOA的角色定位 翻譯

2021-08-26 04:56:34 字數 4971 閱讀 7018

試譯,如果有不合適的地方,請指出

面向服務的架構(soa)從出現開始,就成為企業架構師,解決方案架構師和應用程式架構師之間意見分歧的平衡點。企業架構師認為soa作為一種商業創新,能夠指導對資訊科技資產的投資以及資產如何與企業的目標和使命相關聯。解決方案架構師把soa視為一種手段,能通過松耦合和細粒度的服務更快地提供解決方案,並加速構建。應用架構師把soa當做一種基礎框架,基於其提供的服務介面發布應用程式。顯然,無論何種觀點,soa都專注於軟體架構的領域,直到雲計算的到來。

soa的起源

關於「基於服務的架構」一詞的發明者,至今依然爭論不休。但是乙份2023年高德納(gartner)公司報告引用了乙份2023年該公司的報告,其中首次提出這一概念,並介紹了一種將web服務技術作為元件的軟體架構。web服務技術起初設計目的是為生產者和客戶的網路定義介面。儘管表面上看來這只是下次it會議的夜間談資,但是清楚地表明了業界關於soa的優勢已達成了共識,即簡化部署和軟體管理。

然而,早在2023年之前,soa的架構優勢已被分布式計算領域的專業人員所認可,或已被用於開發分布式應用,而不僅僅是作為軟體架構。事實上,早期的web服務技術,如分布式計算環境遠端方法呼叫(distributed computing environment (dce) remote procedure call (rpc))和corba,都強調了一種將生產者描述成「伺服器」或「服務」的設計方法,使企業能夠開發可訪問網路的業務服務。

http和xml的出現簡化了這種服務的開發,使其能夠被更廣泛的開發者接觸到。事實上,有些人認為dce rpc 和corba十分難掌握,且需要高昂的費用來部署和維護。web服務能夠讓類似php指令碼開發者很方便的使用,使其得到很廣泛的支援,這在http和xml出現之前是不可能的。

無論怎樣,任何乙個努力嘗試將其it工程與soa相結合,希望感受soa的新奇和成功的開發者,都將得到資源和支援。對soa的炒作對行業有很多影響:

*soa成為了包羅所有it相關的工作和成果的代名詞;

*soa一詞被多個企圖壟斷服務/產品消費市場的團體所把持;

*對soa資源需求暴增,但由於soa發展環境的不明確,使企業難以辨別適當的資源,這就使得服務**商的經驗成為企業做出決策的主要因素。

炒作的結果就是,它很快就成為浮雲,因為企業馬上認識到soa不是應用開發方法,而是關乎架構。與建立乙個服務相比,更重要的是哪個服務被建立了。那麼,有了這些經驗和教訓,為什麼我們能更容易看到雲計算在重複這個趨勢呢?

噢,接下來是另乙個新潮的詞兒

雲計算中,主要的抽象層次是服務模型,它描述了提供雲服務的方式和型別。討論雲計算時,有三種最常見服務模型:基礎設施即服務(iaas)、平台即服務(paas)和軟體即服務(saas)。服務模型的定義中包括了價值、風險和角色的屬性。

在iaas中,客戶能夠以操作虛擬機器例項或儲存空間的方式獲取計算資源的使用權。一旦使用者被建立,使用者可以選擇虛擬機器中的任何作業系統,也可以將任何資料上傳到儲存空間中。通常情況下,服務提供商按照客戶使用的空間和時間來收費。同時,客戶需要保證其部署在iaas上的服務的安全性和可用性。

在paas中,客戶需要乙個能夠保證其應用安全和可用性的平台,同時希望在他們部署的應用平台中看到作業系統和儲存的細節。換句話說,paas服務商需要保證應用的適應性,根據客戶的需求提供儲存空間,並且做好平台的訪問控制。因此,需要不同的服務時,客戶的關注點不同。

saas中,客戶僅僅需要關心服務的效能和安全,saas服務提供商對安全性、可用性、資料管理和響應進行完善的保障。這些本應由客戶解決的繁雜操作轉移給了saas服務提供商。

有乙個觀點是資訊科技的發展是乙個積累的過程,將掌握的知識從乙個階段擴充套件到下乙個階段,但事實上並非總是如此。不幸的是,儘管雲計算完全專注於提供服務,但是看起來依然和soa中積累的經驗沒有太多的重合。同樣的,在雲計算中的某些問題,在如今的soa中依然存在。

soa和雲計算:經驗的分享

在最近的一次在聖地牙哥的雲計算會晤中,來自大型廠商,中型財團和銀行業的it主管們參加了一次名為「對於業務,雲計算是否足夠成熟」的座談會,他們將問題轉移成「對於雲,業務是否成熟」的問題上。有趣的是,這些已經運用雲計算的案例是以業務為指導的,而不是以資訊科技為指導的,很多案例甚至沒有用到資訊科技的指導和允許。不幸的是,雲限制了it界從soa中吸取經驗和教訓的能力。在90年代的lan發展時期,由於迎合企業的需求而缺乏it技術的支援,發生過同樣的情況:企業管理者將雲計算當做是避開it技術限制的方法,以此更快的提供服務和提高生產力。

事實上,身為企業高管職業生涯發展與策略顧問公司valudance 創始人、taco bell 前任 cio 、百事連鎖酒店cfo 的susan cramm覺得,「cio們過去需要處理有時很棘手的it專案,而今他們只需要一張信用卡將預算付給服務提供商,就可以享受相當於好幾個it部門的服務。事實上,只要維持it正常預算的65%,就可以向雲或者saas服務商購買相關服務,而不用走it部門的程式。」(fogarty, 2011)

雲的擴張所產生的連鎖效應是,從soa中獲得經驗包括互操作性、架構、管理和重用等往往不能應用於雲計算時代,而it技術只用於處理整合、資料管理、災害恢復和使用者管理問題,而這些可能用現有方案就能解決。此外,在選取雲的解決方案時沒有考慮更巨集觀的企業架構,這樣將不能保證哪些雲服務與現有it資源最匹配。長此以往,將導致更高的整合和資料管理成本,將業務轉向雲端將不能節省任何開支。

最終,無論是soa還是雲計算都面臨同乙個問題:"什麼是服務,如何交付服務?"那些嘗試使用soa進行應用開發的人員認識到,儘管理解soa低耦合、管理和粒度的原則十分重要,但是首先也是最重要的還是理解soa的架構。例如,乙個涉及大資料量的方法呼叫的介面,可能是用smtp實現而非http實現,這說明soa解決方案可以考慮成組合的服務共同協作完成乙個任務。

通過soa成功的業務往往用下面的方式描述soa:

*soa關乎客戶和生產者之間的互動和關係。

*定義適當的服務粒度,往往是最困難也是最艱鉅的任務。

*服務應該滿足業務需要。

通過採用雲計算獲得成功的業務往往將雲計算描述成:

*能夠快速滿足業務需要,而不需要將開銷花費在管理乙個類似系統。

*只需要對使用和需要使用的資源付費。

*轉換成基於雲的解決方案能夠節省開支。

有趣的是,這些觀點就如硬幣的兩面。soa的成功是站在服務提供商建立並提供服務的角度,而雲計算的成功是站在消費者的角度。這說明,雲計算的成功是建立在如soa這樣的概念提供的高質量服務的基礎上的。因此,soa實踐者的關鍵是實現可用、可靠的服務,這種服務關注的層面遠在技術開發之上。

soa能從雲計算中學到什麼

在雲計算中,客戶對服務提供商的期望通過服務級別協商協議(sla)得到滿足。sla規定了當客戶訂購乙個開發者的服務時,客戶在服務正常執行時或故障時的期望所得,以及相應的技術支援。基礎設施和操作部門的人員應該十分熟悉這樣的協議,因為這些協議在從電信運營商獲取電信服務(如網路和**)時扮演了至關重要的角色。然而,儘管這些協議在任務關鍵系統中扮演重要角色,sla在soa中的使用依然很少。

可能這是soa成熟度的問題,或者說我們的soa還不成熟,但是,交付關鍵業務服務的時候,應該考慮使用者希望通過it技術得到什麼,並確保這些服務的可用性。然而,因為大多數服務都是內部使用,運營和it管理對外部服務**商的期望和約束就不會施加在內部的服務上。

另外,大多數情況下,資訊科技本身就是soa服務的客戶。也就是說,soa提供的服務是通過web應用來訪問的軟體服務,它們也是it為業務開發和提供的。因此,it部門或許會認為為這些服務定義sla是不合理的,因為他們是這些服務的唯一客戶。然而,這種觀點損害了it和終端使用者的信心,並且加劇了企業內部的不信任。如果任何乙個底層服務失敗了,就會影響web應用的可用性,最終影響終端使用者的感受。因此,web應用是soa交付的乙個組成部分,而不是單獨和區分開來的,應該用sla來保證元件的可用性。

當2023年4月位於維吉尼亞北部的亞馬遜web服務(aws)宕機時,他們盡最大可能通知客戶並且逐步解決問題。儘管很多客戶都因此受到了影響,他們並沒有因此放棄aws,因為他們不斷被告知有關的最新情況。使用者能夠接受意外的發生,但是作為服務商如何處理意外,決定了你能否成功。作為soa實踐者,即使客戶並沒有直接為你提供的服務付費,也要尊敬客戶,及時通知相關資訊,不要懷疑他們對技術的理解能力。

雲計算能從soa中學到什麼

另一方面,將雲計算與soa的概念解耦對雲計算的未來是十分重要的。通過soa,業界認識到服務間的低耦合在應對需求變化和提高可用性的重要性。儘管雲提出的時間還很短,服務提供商滿足使用者的當前需求似乎是合理的,但是未來隨著雲的不斷成熟和需求的不斷增長,服務提供商有朝一日可能會無法滿足使用者的需求。這可能是由於資金不足,關鍵裝置**鏈低效或者地緣政治不穩定的原因。在這種情況下,主導今日雲架構的緊耦合架構,可能將使整個系統中斷,導致客戶的系統不可用,但卻無法更換提供商,除非花大價錢重新開發。

soa也已經建立起開發者和運營者之間協作的新方式。過去,大多數it應用部署在桌面,並通過網路協議同資料庫互動。只要網路可用,並且資料可訪問可操作,大多數使用者使用這些應用是沒有問題的。然而,在某些情況下,這些應用可能會與其他桌面應用衝突,導致一小部分的使用者出現問題。隨著基於桌面的應用轉變到基於網路的應用,任何操作問題都擴大到更多的使用者之中。將這個概念從單一的多層web應用擴充套件到軟體服務的互動網,潛在的失敗的情況成倍的增加。因此,soa需要開發者和運營者更加緊密的協作。一些機構進一步將這一概念擴充套件到所謂的開發運營(devops)。devops這一概念在雲計算時代中變的更加重要,因為雲計算更注重於運營環境的自動化。

結束語總而言之,soa和雲計算有著相似的能力,應該按照各自的實踐經驗來發展。soa明確了it技術中如何交付服務,而而不僅限於應用,但是未能提供成熟的服務協議來保障服務。另外,soa還使業者認識到投資選擇中管理的必要性。縱然一開始soa只侷限於餐廳選單服務,它已經迅速向房屋租賃、庫存追蹤等服務發展,說明了企業對it技術的發展產生了重大影響。最後,soa促使運營部門和開發部門更加緊密的合作而成為devops部門。

同時,企業能夠輕易的獲取雲計算帶來的好處,可能會對從soa吸取經驗教訓產生不利影響。由於企業能夠不經it部門的批准和審查來註冊和使用服務,這樣就無法確保雲服務適合基於服務的架構。另外,由於soa通常並沒有考慮和使用者溝通的層面,雲計算在it服務交付的過程中,通過sla和客戶溝通,顯示出了相比soa更加強大的優勢。

最後,這兩個方向都應該互相影響來促使企業的成功。雲計算由於其資料中心和運營的基礎,相比soa更加成熟。另一方面,soa憑藉其管理和互操作性的優勢,為雲計算提供豐富的企業經驗。

測試人員的角色定位

剛開始做測試的朋友很多都在做黑盒測試,而黑盒測試往往對 編寫能力要求不是很高,這樣給剛入門的人就造成了乙個測試人員不需要太多知識的誤解。然而,做測試往往需要很廣泛的知識。不僅僅只是專業上的,而且要了解很多開發人員不了解的東西,在乙個系統裡面開發人員可以只了解客戶需求,而我們的測試人員需要了解整個全域...

使用者體驗設計師的角色定位

由電影 色戒 引發的對使用者體驗設計師角色定位的思考 以一種方式理解最近正在火熱上演的電影 色 戒 的女主角王佳芝 這個角色一生都在尋找生命的動機 首先她演出了一台舞台劇,發現自己能扮演別人的角色。於是她貌似鬧劇般用演技去刺殺易先生,甚至失了身。失敗之後她失去方向,遊蕩。父親無法供她出國,來到上海,...

使用者體驗設計師的角色定位

由電影 色戒 引發的對使用者體驗設計師角色定位的思考 以一種方式理解最近正在火熱上演的電影 色 戒 的女主角王佳芝 這個角色一生都在尋找生命的動機 首先她演出了一台舞台劇,發現自己能扮演別人的角色。於是她貌似鬧劇般用演技去刺殺易先生,甚至失了身。失敗之後她失去方向,遊蕩。父親無法供她出國,來到上海,...