現在「雲端計算」這名詞喊的火熱,許多最新的產品、服務都打著雲端計算的旗號,什麼東西都想盡辦法要和「雲端計算」搭上邊。不過,「雲端計算」倒也不只是個趕流行的名詞,對軟體系統的開發來說,「雲端計算」的技術仍然可以提供一些助益。
「在雲端上(in the cloud)」是一個設計產品或服務的思維,這個思維的基礎是建立在將大量的資源,舉凡計算、儲存空間、資料,都置放在透過網際網路可存取到的「雲端」之上。特別是在現在行動裝置大行其道,網路基礎設施愈來愈完備成熟的情況下,基於「在雲端上」的概念來設計軟體服務,可以說是相當的合適。
雲端計算的發展
許多大型的軟體或網路服務公司,在「在雲端上(in the cloud)」的概念尚未具體成形,或者說這口號還沒問世之前,就因為要透過網路提供大型服務的關係,持續開始構建巨型規模的網路服務架構及基礎建設,例如Amazon或Google。
最早,他們開始構建能支持如此大型規模的服務架構及基礎建設,以及背後所需的種種技術,當然不是因為當時尚未明確的「雲端」觀念,我想不過只是單純的為了滿足自身發展網路服務的需求而做的努力。但是,在「雲端計算」名詞出現之前,網路服務的發展趨勢即已漸漸朝向「雲端化」發展,因為這幾乎是當下時空環境下發展的必然趨勢。而在這趨勢明朗化之後,人們才以一個「雲端計算」的概念來加以描述,並且進一步明確定義。
這些大型的網路服務公司當然發現了,之前所發展出來的技術、架構及現有平臺,雖然一開始只是為了提供自身之所用,但是,將平臺提供給其他的軟體服務開發者使用,也可以形成一個可行的商業模式。
在現在,像Amazon提供的一些雲端平臺服務(Amazon Web Service,AWS),像是EC2(Elastic Compute Cloud)或是S3(Simple Storage Service),都有許多網路服務基於其上而運作。可見,這些雲端服務的平臺,的確可以構成對軟體服務開發者的吸引力。
哪些事適合雲端環境的應用軟體或服務?
不過,也不是所有的軟體或服務都適合在雲端平臺上開發。那麼,究竟什麼樣的情況,你會選擇使用既有的雲端平臺服務,立足於雲端來開發你的軟體或服務呢?
一般來說,這些供其他軟體服務開發者使用的雲端服務平臺,都是採取基於使用量付費的原則來向開發者收費的。衡量使用量的標準,可能像是CPU計算量、網路頻寬使用者、儲存空間量、等等。有些平臺,甚至提供一定額度的使用量是免費的。這構成了一個相當吸引開發者的特色。
對很多新創的服務或產品而言,很有可能只是基於一個新穎、有趣的想法,但究竟丟到市場上讓真正的使用者使用,最後會如何演變難以預期。
有可能這個想法沒有得到使用者的青睞,服務或產品難以繼續經營下去。也有可能,這個服務或產品一夕爆紅,使用量瞬間大增。
雖然上述兩種不幸與幸的結果,是由服務是否足夠吸引人來決定的。不過,是否採用雲端平臺來做開發,仍然會對結局產生一些影響。
若是缺乏像雲端平臺這種類似「租賃」概念的平臺,開發者想要經營新的服務或產品,就必須準備足夠的初始資源,包括一定數量的伺服器、機房空間及頻寬,這些初始資源就成了必備的初始投資。
倘若最終服務經營慘淡,這些初始投資就有部份會成為浪費。而若是服務大受歡迎,初始準備的資源不足以支持服務該有的規模,準備擴充規模所需的各種資源也會需要時間。資源不足時,服務或產品便有可能無法正常運作,或是效率低落,這會造成使用者的負面觀感,甚至捨棄你的服務而去。
節省新創服務團隊的開發初期投資
如果這樣的新創服務是利用雲端平臺來開發,那麼彈性十足、「用多少付多少」的計費模式,便可以在初期規模不大時,節省服務或產品營運時的初始投資。但是,即使服務規模因應快速成長的使用者必須急速擴充,對於服務開發者而言,同樣也只需要支付較多的費用,即可立即取得該規模下所需的種種資源。這種可彈性付費的模式、可迅速取得的資源,成了雲端平臺對新創服務產品相當具有吸引力的特色。
如果你是一位新創服務的軟體開發者或團隊,你可能沒有太多的初期經費,那麼,或許你就會考慮基於現有的雲端平臺來開發你的服務或產品,因為,初期投資可以不用太多,一旦服務或產品通過現實市場的考驗,也受到使用者的喜愛及歡迎,那麼,一個受到歡迎的服務或產品,便值得繼續投資,也更容易獲得來自於外部的投資,跟著用量成長來付費,可以說是非常理想。
基礎設施可委外,由更專業的人員來管理,減低系統管理複雜度
除此之外,由於伺服器、網路等相關資源,都是由平臺業者負責維護、管理、和營運,開發團隊也可以減少IT管理資源(尤其是人員)的開支,因為相關的管理工作,都交由平臺業者集中管理,這對中小型的開發團隊來說,可以說是相當重要的一個特點。
有些時候,新創服務開發團隊中的成員具備的是軟體開發的專長及技能,但是對於系統、網路的管理及維護不見得十分擅長,但雇用專業的IT管理人士卻又可能會衍生出預算的問題。讓IT管理的工作交由專業的平臺處理,可以讓開發團隊省去不少功夫。更重要的是,這樣可以讓開發團隊更專注在自己想開發的應用之上,不需要分心顧慮IT管理。
伺服器的管理是一門高深的學問,好的管理能確保伺服器的穩定性以及安全性。雲端平臺和應用系統有各自的角色定位。平臺提供穩定、安全的應用程式運行環境,而應用系統則打造好用、有趣、吸引人的應用服務。也因此,平臺業者可以雇用最一流的系統管理者,來支持平臺提供足夠的穩定性及安全性。相較於一般新創服務的開發團隊而言,平臺業者明顯能投入更多的資源於此,進而提供更好的系統管理品質。
舉例來說,當你的服務受到歡迎,而成為眾人的焦點時,便有可能招來有心人士的興趣,嘗試進行一些攻擊或入侵。相較於利用自己的力量來進行防護,倚靠雲端平臺的管理專業,一般來說,會更為穩當。像是大規模的分散式阻斷式攻擊(DDoS Attack),想要對雲端平臺上的應用系統產生明顯的影響,就不是那麼容易的一件事情。
可列入系統開發時的選擇
對新創服務的開發團隊而言,在投資及預算上,立足於雲端平臺之上開發,都能得到不錯的好處。而對於想減低系統管理層面複雜度的團隊而言,這麼做也有明顯立即的利益。
從經營的角度來看,雲端平臺的確有其利基點,吸引開發者於其上開發應用系統。如果你正打算開發新的服務或產品,而也有上述的考量,那麼或許你會考慮在雲端平臺上進行開發。
專欄作者
熱門新聞
2024-12-24
2024-08-14
2024-12-22
2024-12-20
2024-12-23