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

2005與2015軟件應用部署方式的比較

云計算
在過去十年中,構(gòu)建和發(fā)布應用程序的方式已經(jīng)發(fā)生顯著變化,本文將2005年和2015在Java/JVM上應用部署的不同加以分析和比較。

近期攜程網(wǎng)站由于程序員登錄生產(chǎn)現(xiàn)場誤操作導致整個網(wǎng)站長期無法訪問,這些現(xiàn)象反映了國內(nèi)很多大型網(wǎng)站的應用部署運營還是停留在2005年的階段,該文展示了2015年的生產(chǎn)現(xiàn)場運營現(xiàn)狀。

在過去十年中,構(gòu)建和發(fā)布應用程序的方式已經(jīng)發(fā)生顯著變化,這篇文章比較了2005年和2015在Java/JVM上應用部署的不同。

2005 = Multi-App Containers / App Servers / Monolithic Apps

2015 = Microservices / Docker Containers / Containerless Apps

2005 年我們基本都是以WAR文件作為項目結(jié)果,其包含Java的Web應用和有關(guān)依賴庫包,這個應用被部署到一個單個的應用服務(wù)器,稱為容器,因為它包含一個或多個應用,這個應用服務(wù)器提供了很多基礎(chǔ)服務(wù)比如HTTP服務(wù)器,服務(wù)目錄或共享庫包等等,不幸的是部署多個應用在一個容器中在擴展性 部署性和資源使用上有很多磕磕絆絆,應用服務(wù)器將應用和底層系統(tǒng)依賴隔離開來,這樣避免“it works on my machine” 問題(只在我機器上能夠運行),但是事情變得不是很平滑,因為系統(tǒng)依賴和配置游離于應用服務(wù)器也就是容器之外。

在2015年,應用能夠以作為自我包容單元的方式部署,應用自身包含一切,它直接運行在標準的系統(tǒng)依賴之上就可以,在Java世界,一個無容器containerless應用是一個ZIP文件,其包含包含基于JVM運行需要的一切依賴庫包,大多數(shù)開發(fā)框架已經(jīng)切換到這種containerless方式,比如Play框架, Dropwizard和Spring Boot等等。

系統(tǒng)級別的更完整可移植的自我包容單元有 Docker 和 LXC,不同于過去將很多應用部署到一個應用服務(wù)器容器中,一個個單個應用加入到Docker image,然后可以部署到一個或多個服務(wù)器中。

微服務(wù)在這里扮演了重要角色,因為以一個個微服務(wù)部署可以分離獨立,而傳統(tǒng)的應用服務(wù)器當部署其中一個應用時需要重啟整個服務(wù)器,這也就是企業(yè)部署速度是蝸牛的原因,部署應用是一件非常危險的工作,必須提前幾個月與眾多團隊協(xié)調(diào)好,熱部署只是一個承諾,從來沒有在生產(chǎn)環(huán)境實現(xiàn)過。

而微服務(wù)激活了獨立團隊部署自己的應用的愿望,微服務(wù)能夠快速準備 快速部署和擴展服務(wù)的能力,這些需求正好能夠?qū)ontainerless應用運行在底層Docker容器中實現(xiàn)。

2005 = 手工部署

2015 = 持續(xù)提交 /持續(xù)部署

2005年是手工部署,多個整體單一monolithic應用捆綁在一起,通過手工配置上傳到生產(chǎn)環(huán)境。

2015是持續(xù)遞交和持續(xù)部署,每天可以部署提交幾百次。

2005 = Persistent Servers / “祈禱它不會當機”

2015 = 不變的基礎(chǔ)設(shè)施/ Ephemeral Servers

今天,Netflix的Chaos Monkey能夠隨機關(guān)閉服務(wù)器,以確保我們各自準備工作完成就緒,然后啟動,可以瞬間進行應用實例的增加和減少,因為基礎(chǔ)設(shè)施的不變性,我們解決生產(chǎn)問題再也不需要SSH登錄到主機(banq注:近期攜程停機事件是由于程序員登錄生產(chǎn)環(huán)境誤操作導致,采取微服務(wù)+Docker+不變基礎(chǔ)設(shè)施環(huán)境,這種情況能夠避免),日志服務(wù)被導出到外部服務(wù),能夠以實時流方式查看。

2005 = Ops Team運營團隊

2015 = DevOps 開發(fā)運營合一

在2005年運營團隊拿到WAR文件,負責部署 管理和監(jiān)控它,開發(fā)人員手機無需24小時開機,因為運營人員可以在生產(chǎn)環(huán)境凌晨3點出現(xiàn)問題時做一些事情解決,但是***的風險就是在軟件交接時造成了很大的緩慢。

今天開發(fā)人員將會對投入生產(chǎn)的代碼一直負責到底,類似New Relic, VictorOps, 和 Slack這樣服務(wù)能夠幫助開發(fā)人員負責起運營職責,DevOps文化正在逐漸普及。

原文鏈接:http://www.jdon.com/47358

責任編輯:Ophira 來源: 解道
相關(guān)推薦

2011-04-25 14:12:57

iPad2軟件

2012-12-27 15:37:32

應用交付F5

2011-08-01 14:14:36

加密技術(shù)

2011-11-28 15:59:54

云計算

2009-07-23 14:58:29

虛擬化軟件應用

2015-11-30 11:41:01

大會組委會

2010-11-10 16:59:00

移動開發(fā)

2011-11-15 18:29:51

SAPSAP TechEd NetWeaver

2010-11-22 13:28:29

2018-03-27 10:13:26

大數(shù)據(jù)軟件應用程序

2010-09-16 13:57:53

2009-12-25 09:29:27

Android應用

2010-04-26 18:56:37

2010-01-11 17:11:15

yum安裝

2010-01-05 10:02:55

商業(yè)智能軟件

2020-02-12 10:45:29

物聯(lián)網(wǎng)數(shù)據(jù)軟件

2021-05-14 17:38:11

Python工具程序

2009-03-23 15:09:02

管理軟件應用顧問緊缺人才

2009-12-10 14:23:03

M8軟件應用商店

2010-06-28 13:51:18

SQL Server
點贊
收藏

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