2018年軟件開發的預測
來源:湖北國菱計算機科技有限公司-荊州網站建設-荊州軟件開發-政府網站建設公司
時間:2018-01-22
區塊鏈、NLP、AI驅動的工具、機器學習、無服務器計算和devops創新將在2018年改變開發者的生活。
1. 利用區塊鏈的B2B交易進入生產階段
企業已經開始了解從區塊鏈啟動的交易中獲得的安全性、可靠性和效率。在未來的一年,開發人員將在整個金融服務和制造供應鏈中實施許多區塊鏈用例。區塊鏈是一種技術,它可以使組織之間的高效、安全、不可變、可信的交易成為可能,而這些交易可能不會完全相互信任,從而消除中介。
區塊鏈云服務將帶來可伸縮性、彈性、安全性以及與企業系統的預構建集成,使開發人員更容易將重點放在業務用例上,而不是底層的hyperledger fabric實現。
2. 聊天機器人經常與顧客和員工進行真正的對話
開發人員使用新的智能的bot構建云服務,可以快速地制造能夠理解客戶意圖、維護會話狀態的機器人,并在與后端系統集成的過程中智能地響應。想象一下你在電影中看到的一件連衣裙的圖片,然后把照片傳給你最喜歡的服裝店的機器人,它使用圖像識別和人工智能來推薦相似的服裝。
3. 按鈕消失了:AI變成了app界面
人工智能成為UI,意味著使用應用和服務的同步、請求-響應模型逐漸消失。智能手機仍然是“低智商”,因為你必須去接他們,啟動一個應用程序,要求做一些事情,最終得到回應。在新一代智能應用程序中,該應用將通過推送通知啟動交互。讓我們更進一步,使用人工智能的應用程序、機器人或虛擬個人助手將知道該做什么、何時、何地以及如何做。費用審批程序會注意你的報銷模式,開始自動審批費用報告的99%,只會讓你注意到需要你注意的罕見報告。
4. 機器學習采用實際的、特定領域的用途
機器學習正從晦澀的數據科學領域轉移到主流應用程序開發領域,這都是因為在流行的平臺上可以預先構建模塊的可用性,而且在處理大型的歷史數據集時,它非常有用。通過機器學習,最有價值的洞察力來自于背景,你以前做過什么,你問過什么問題,別人在做什么,正常的和反常的活動是什么。
使用機器學習,開發人員可以構建智能應用程序來生成建議、預測結果或做出自動化的決策。
5. DevOps走向無操作
我們都同意devops對于幫助開發人員快速構建新的應用程序和特性非常重要,同時保持高質量和性能。devops的問題是開發人員需要花費他們60%的時間在方程的操作一邊,從而縮短開發的時間。開發人員必須集成各種持續集成和持續交付(CICD)工具,維護這些集成,并隨著新技術的發布不斷更新CI / CD工具鏈。每個人都有CI,但沒有太多的人做CD。開發人員會堅持使用云服務來幫助鐘擺在2018年回歸開發。這將需要更大的自動化。
Docker提供了打包、可移植性以及進行敏捷部署的能力。您需要CD作為Docker生命周期的一部分。例如,如果您正在使用容器,一旦您將代碼更改提交給Git,那么構建的默認構件應該是具有新版本代碼的Docker映像。此外,映像應該被自動推送到Docker注冊表中,并將一個容器從映像部署到devtest環境中。在QA測試和部署到生產之后,應該為您處理容器的編排、安全性和擴展。商業領袖正在向開發者施壓,要求他們更快地提供新的創新;devops模型必須為開發人員騰出更多的時間使其成為可能。
6. 開源作為一種服務,加速了開源創新的消費
開源模式仍然是創新的最佳引擎之一,但實現和維護創新往往過于復雜。例如:您想要一個流數據/事件管理平臺,所以您可以轉向Kafka。當您開始在規模上使用Kafka時,您必須設置額外的Kafka節點和負載平衡大型Kafka集群,隨著Kafka的新版本的發布更新這些集群,然后將此服務與您的其他環境集成起來。
開發人員將越來越多地尋找云服務,以便在處理這些技術的操作和管理方面的同時,從開放源碼中提供所有的高速創新。
7. 無服務器計算的架構在生產中會變得很大
無服務器架構的吸引力是顯而易見的:當需要基于某個事件執行我的代碼時,基礎架構被實例化,我的代碼被部署和執行,而我只在代碼運行的時候被收取費用。
對于開發人員來說,將無服務器的函數串在一起執行復雜的事務會帶來新的挑戰:描述如何將這些函數鏈接在一起,調試分布式事務,并決定如何在一個函數的鏈上失敗,從而創建補償事務來取消不適當的更改。尋找云服務和開放源碼工具,比如FN項目,通過幫助開發人員輕松地管理服務器功能的編程、組成、調試和生命周期管理,并在筆記本電腦或on - prem服務器或任何云上部署和測試它們,從而繁榮發展。關鍵是要選擇一個提供最大可移植性的無服務器平臺。
8. 關于容器的唯一問題是“為什么不呢?”
容器將成為開發/測試工作的默認值,并成為生產應用程序的常見內容。在開源創新和行業標準的驅動下,希望在安全性、可管理性、編制、監控和調試方面持續改進。容器為驅動現代開發的許多趨勢提供了構建塊,包括微服務體系結構、云本地應用程序、無服務器函數和devops。
容器在任何地方都是沒有意義的——例如,當您需要一個更規定性的云平臺時,例如集成PaaS或移動PaaS,但是這些更高級別的云服務將自己運行在容器上,并且將是證明規則的異常。
此外,軟件許可模型用于高價值、商業、現場的軟件,將不得不接受容器采用的傳播。軟件的定價模型必須支持“打開”和“關閉”許可,因為容器被實例化、放大和縮小。
9. 軟件和系統可以自我修復、自我調節和自我管理
開發人員和生產操作團隊正在從日志、web /應用程序/數據庫性能監視和用戶體驗監視和配置中淹沒數據。此外,這些不同類型的數據都是豎向的,所以您必須將許多人帶入一個房間來調試問題。然后就是知識轉移的問題:開發人員花了大量的時間來講述他們的應用程序的輸入和輸出、設置的閾值、用于監視事務的服務器拓撲,等等。
通過聚合大量的數據到一個存儲庫(在日志、性能指標、用戶體驗,和配置,例如),并應用大量的計算能力,機器學習,和專用算法,基于云計算的系統管理服務將大大緩解性能/日志/配置監視。這些云服務將通過觀察事務來建立基線,通過觀察事務(從必須管理閾值來節省ops團隊),并了解與事務自動關聯的服務器拓撲。使用針對這些基線的異常檢測,系統管理服務將自動能夠告訴開發人員,當事情偏離正常的行為時,并能夠顯示特定事務的問題的根源。
開發人員需要考慮如何在編寫應用程序時利用這種自動化,以便能夠在云中這些智能管理系統之上創建自管理應用程序。
10. 高度自動化的安全性和遵從性努力成為開發人員的新同盟
盡管開發人員通常認為安全性和遵從性是“其他人的工作”或“交付代碼的瓶頸”,但基于機器學習和交付的綜合安全性和遵從性機制的出現,將有助于使這些努力與快速的開發步調一致。具體地說,高度自動化的網絡防御將被部署到“上游”,以識別和糾正開發和“下游”的潛在安全風險,從而自動調整公司的安全配置文件,以適應正在進行的應用程序和環境變化(識別攻擊、修復漏洞和評估持續的遵從性)。
在某些情況下,這種保護是必要的,持續的合規評估是GDPR和類似任務的標志。開發人員、安全專業人員和最終用戶都將受益于在devops生命周期中更加嚴格的、自動化的安全方法。