開發(fā)人員在未來工作臺的配置方面花費了很多時間。這是因為我們會將該工作臺組合到IDE上,并且,通常會將工具鏈中的許多其他工具用于規(guī)劃、設(shè)計、構(gòu)建、測試以及調(diào)試正在編寫的代碼。
Tyler Jewell是云IDE供應商Codenvy公司的首席執(zhí)行官,他說:“如今,大多數(shù)企業(yè)都會使用維基百科來處理這件事情。”參與典型項目的開發(fā)人員必須要進入維基頁面,按照頁面所提供的30-100個指示進行操作。當達到完美水平時,開發(fā)環(huán)境才能進行編譯和運行。但是,考慮過DevOps發(fā)展趨勢后,還是主張代碼的無縫開發(fā)并將配置和代碼一視同仁的話,那就是太荒謬了。
云IDE有助于自動配置,因此,可以正確地配置和運行開發(fā)項目。這樣做可以滿足開發(fā)人員自我包含環(huán)境的需求,他們無需在機器上安裝任何先決軟件就可以開始工作。值得推行的操作是保存云項目的配置信息。這樣做會使開發(fā)人員能夠更自如的在機器中進行轉(zhuǎn)換和移動,同時也可以簡化開發(fā)特殊項目的流程。Jewell說:“沒有了這些設(shè)置成本,可以更方便地使用這些應用技術(shù),其使用率也相應得到增長。”
脫離桌面是本階段的需求任務
云IDE的一個好處就是,它可以卸載云環(huán)境開發(fā)生命周期的許多處理工作。當在桌面上進行操作時,開發(fā)人員會受到RAM、CPU和網(wǎng)絡能力方面的限制。這就會促使企業(yè)購買配置更高的計算機以滿足開發(fā)人員對CPU、RAM以及存儲方面的功能需求。一旦開發(fā)人員開始提升云網(wǎng)絡速度,那么,瀏覽器性能將會成為編程易變性較為重要的決定因素。在公共云環(huán)境下,企業(yè)可以非常簡單地利用服務供應商的可擴展性,但是,同時也會面臨與公共服務商前后溝通的限制。
定制云IDE
一些最新的云IDE允許企業(yè)在一種定制的云環(huán)境中向開發(fā)人員提供后端福利。這樣操作有助于保護敏感代碼,減少網(wǎng)絡延遲,并且,可以讓開發(fā)人員好好地積累項目經(jīng)驗。綜上所述,開發(fā)團隊需要考慮如何通過利用已配置最大資源的專用服務器來獲得高性能價格比。通過預計工作負荷,可以實現(xiàn)這種高配計算機并共享。
在專用服務器上構(gòu)建RAM和CPU要比在筆記本電腦上提供相同的資源耗費更多的成本,并且也需要提供更小的組件。從本質(zhì)上來看,開發(fā)人員重用高性能編譯服務器可以為企業(yè)帶來更多的效益,另外,配置附加RAM和CPU也可以降低開發(fā)成本。在忙了的發(fā)布期內(nèi),如果這些流程經(jīng)常會同時進行,那么我們就會需要更多的資源配置。
當我們可以并行地執(zhí)行開發(fā)任務時,通過眾多服務器,云IDE平臺可以協(xié)助分配這些開發(fā)流程。這就意味著,開發(fā)人員可以用更多的時間編輯代碼,更少的時間進行等待。當完成這些編輯任務時,可能需要3-5分鐘,也可能會更久,開發(fā)人員不能進行任何操作,因為,在整個編輯周期內(nèi),其操作會占用100%的CPU。
注重IDE用戶體驗
能否較為完美地實施云IDE的挑戰(zhàn)之處在于要大幅度降低介于輸入新代碼和特性之間的延遲,例如只能敏感。甚至是幾百毫秒的延遲都可以降低開發(fā)速度,因為,在沒有返回到問題發(fā)生點之前,開發(fā)人員將只能處于等待狀態(tài),而不能立即解決問題,這是因為他們只能靠人工輸入解決這種開發(fā)問題。這種延遲是由IDE緩存用戶體驗的邏輯方式造成的,同時也會受到互聯(lián)網(wǎng)的網(wǎng)絡延遲的影響。如果在另外一個國家運行云IDE服務器,那么可能會存在一秒鐘的滯后,而在同一個地區(qū)運行這種服務器那么僅僅才會產(chǎn)生14毫秒的延時。最佳的選擇方案就是,當我們可以在私有云環(huán)境中部署云IDE平臺時,那么從開發(fā)人員進行編程之日起,企業(yè)就可以籌劃服務器的推行了。在這種情況下,延遲可能會被降低到幾毫秒。
在分布式環(huán)境中,有許多用戶體驗因素可以直接添加到瀏覽器中,降低這些延遲,這樣也可以消除由完全網(wǎng)絡延遲有造成的延時問題。當有一部分邏輯必須運行在服務器中時,網(wǎng)絡聯(lián)合可以讓其顯著地慢下來。
構(gòu)建一種更好的工作流程
在大型繁瑣的工作流中,云IDE能夠支持集成也是非常重要的,包括如GitHub這樣的代碼倉庫、Jenkins持續(xù)集成服務器、Jira托管型問題管理追蹤器以及托管型云IDE前端。當這些因素都匯集在一起時,我們會很容易地將其編織在一起讓工作流程變得更加順暢。這就允許管理者創(chuàng)建新興項目,自動將開發(fā)人員所需要的其他各種系統(tǒng)連接到一起。
許多云IDE環(huán)境都允許開發(fā)人員在已形成的編碼基礎(chǔ)上實現(xiàn)新的工作流程。但是,CodeFresh公司(一家專注于IDE和PaaS的新型JavaScript公司)的合伙創(chuàng)始人兼CEO Raziel Tabib認為,一些企業(yè)也許會考慮“在PaaS開發(fā)過程中使用由專家們所開發(fā)的一種固定模式的工作流程。”將這些最佳的實踐方式添加到工具鏈中,從而,可以引導開發(fā)人員設(shè)計出類似于自動化 Gitflow這樣的最佳云開發(fā)實踐。
然而,身為 CliQr公司的企業(yè)發(fā)展副總裁Dave Cope卻認為,開發(fā)管理人員應該謹慎地考慮是否要將云IDE環(huán)境與單獨的PaaS進行綁定。“云環(huán)境鎖定是非常昂貴的,并且選擇范圍也會受到一定的限制。身為IT主管想要做的最后一件事情就是,向董事會證明18個月前他們所提出的不采用云項目所帶來的高額成本。”