使用Docker容器和Java EE进行持续交付
組織需要一種使應(yīng)用程序交付快速,可預測和安全的方法,而諸如docker之類的容器所提供的敏捷性則可以幫助開發(fā)人員實現(xiàn)這一目標。 對于Java EE應(yīng)用程序,這可以在容器中打包應(yīng)用程序,應(yīng)用程序服務(wù)器和其他依賴項,這些容器可以在構(gòu)建,測試和生產(chǎn)環(huán)境中復制。 這使您更接近實現(xiàn)連續(xù)交付。 至少這是托馬斯網(wǎng)絡(luò)研討會上的摘要,我?guī)滋烨耙恢痹诎l(fā)表 。 這是一篇支持博客的文章,其中包含有關(guān)設(shè)置的更多詳細信息,包括所有指向源代碼和演示的鏈接。 在下面嵌入的開發(fā)人員訪談中找到更詳細的技術(shù)演練。 非常感謝我
合著者Thomas幫助我撰寫了這篇博文。
我們涵蓋了什么?
首先,我們要談一些為什么如今每個人都熱衷于優(yōu)化應(yīng)用程序交付。 越來越復雜的應(yīng)用程序給基礎(chǔ)架構(gòu),團隊和流程帶來了更大的壓力。 容器承諾通過將應(yīng)用程序及其運行時組件保持在一起來提供解決方案。
但是,我們不要止步于此,再往前看,這似乎是操作的理想選擇。 它越來越多地泄漏到開發(fā)人員空間中。 作為開發(fā)人員,只需專注于我們最擅長的工作即可輕松忽略最新的炒作:提供功能正常的應(yīng)用程序。 但說實話,還有更多。 特別是Java EE不僅需要代碼。 因此,容器有望使我們的生活更輕松。
僅僅談?wù)撊萜鬟€不是全部。 它們必須是可用的,并且必須在生產(chǎn)環(huán)境中供開發(fā)人員最終使用。 在這里,我們將簡要介紹一下OpenShift v3即將發(fā)布的內(nèi)容以及它如何適應(yīng)更大的前景。
在簡短介紹之后,Thomas將帶您詳細了解所有細節(jié),從Docker容器開始,以及它們?nèi)绾螌崿F(xiàn)完整的持續(xù)交付鏈,該鏈完全支持DevOps。
為什么現(xiàn)在呢?
最重要的是,諸如微服務(wù)之類的新架構(gòu)方法使我們脫離了運行單片應(yīng)用程序的大型VM和物理服務(wù)器。 單獨引導的服務(wù)很自然地適合基于容器的部署,因為運行它們所需的一切都已完全封裝。 此外,對優(yōu)化運營的追求正將越來越多的基礎(chǔ)架構(gòu)帶入云模型。 我們將把容器作為一種服務(wù)來提供,與VM相比,容器將更快地部署,運行更便宜并且更易于管理。 企業(yè)將使用容器作為目標來運行專注于企業(yè)級操作的PaaS產(chǎn)品。 以容器包裝而不是虛擬機的形式分發(fā)軟件要更加完善,并且容器也更加標準化。 更容易適應(yīng)不同的供應(yīng)商和供應(yīng)商。 無論產(chǎn)品使用哪種語言或運行時。 企業(yè)不必再專注于單個平臺來實現(xiàn)優(yōu)化的運營和成本。 容器基礎(chǔ)架構(gòu)通過保持標準化的操作模型并具有未來的優(yōu)化和附加功能(例如圍繞安全性)的潛力,可以提供更多樣化的技術(shù)基礎(chǔ)。容器及其管理系統(tǒng)是開發(fā)人員和操作人員之間的粘合劑,并且是支持的技術(shù)層DevOps運動。 簡而言之:容器已準備就緒。
作為一名Java EE開發(fā)人員,我從中獲得什么?
容器是關(guān)于容器內(nèi)部而不是容器外部的內(nèi)容。 將此與PaaS產(chǎn)品進行比較很容易。 開發(fā)人員不想關(guān)心配置或托管。 他們只想為其應(yīng)用程序提供可靠的運行時。 除了Containers,您所需的東西并不多。 標準格式,標準圖像,甚至可以選擇使用公司范圍內(nèi)的集線器,這將使開發(fā)團隊更加高效。 這也與我們?nèi)绾卧O(shè)置本地環(huán)境并將其推廣到我們的團隊有關(guān)。 配置不同的實例可以在幾秒鐘內(nèi)旋轉(zhuǎn)和拆除。 無需維護中間件或數(shù)據(jù)庫的不同版本,也無需弄亂路徑或配置。 預先配置的容器將大大減少團隊的設(shè)置時間,并允許更輕松地使用不同的配置進行測試。 圖像可以集中開發(fā),配置和維護。 根據(jù)公司標準,包括特定的框架或集成庫。 責任和教育是激勵的關(guān)鍵部分。 今天的全棧開發(fā)人員希望對自己的藝術(shù)作品負責–端到端。 日復一日使用相同的la腳API進行編程不再是一項繁瑣的工作。 實際上,容器允許從構(gòu)建到打包以及將您的應(yīng)用程序通過不同的環(huán)境交付生產(chǎn)的完整往返過程。 而且由于所有內(nèi)容都可以進行版本控制和集中維護,并且在任何環(huán)境中都依賴于相同的操作系統(tǒng)和配置,因此使用Containers可以更完整地預測完整的軟件交付鏈。
OpenShift如何適合所有這些?
市場向容器轉(zhuǎn)變的完美例子是OpenShift。 它有不同的版本:
- OpenShift Origin是Red Hat云產(chǎn)品的開源項目
- OpenShift Online是Red Hat的公共云應(yīng)用程序開發(fā)和托管平臺,可自動配置,管理和擴展應(yīng)用程序,以便您專注于為業(yè)務(wù),啟動或下一個大創(chuàng)意編寫代碼。 在openshift.com上注冊以嘗試一下自己
- OpenShift Enterprise是一種內(nèi)部部署的私有平臺即服務(wù)(PaaS)解決方案,可讓您更快地交付應(yīng)用程序并滿足企業(yè)不斷增長的應(yīng)用程序需求。
根據(jù)您的需求,您可以自由選擇最適合您需求的解決方案。 從使用Origin來構(gòu)建自己的PaaS到自己運行完全受支持的本地PaaS。
而且,我們將在下一版本的OpenShift上大放異彩! Origin的每個里程碑都伴隨著OpenShift的新版本。 現(xiàn)在,OpenShift 3的Origin源代碼存儲庫已可用。 它正在朝著完全重新設(shè)計的全新架構(gòu)的方向發(fā)展。 這種新架構(gòu)集成了Docker和Kubernetes容器編排和管理系統(tǒng),可在針對運行容器化應(yīng)用程序而優(yōu)化的Atomic主機上使用。 最重要的是,OpenShift將整合有效且高效的DevOps工作流,這些工作流在平臺即服務(wù)中為加速應(yīng)用交付發(fā)揮了關(guān)鍵作用。
OpenShift v3的外觀如何?
OpenShift在Kubernetes的基礎(chǔ)上增加了以開發(fā)人員和操作為中心的工具,以實現(xiàn)快速的應(yīng)用程序開發(fā),輕松的部署和擴展以及對大小團隊和應(yīng)用程序的長期生命周期維護。
從一切開始,紅帽一直與Docker社區(qū)合作,以發(fā)展我們現(xiàn)有的容器技術(shù),并通過libcontainer項目推動容器化的新標準。 這項工作導致宣布RHEL 7中對Docker的支持,并啟動Project Atomic以開發(fā)新的容器優(yōu)化的Linux主機。 這種新的容器架構(gòu)是OpenShift v3的核心。
OpenShift v3彈藥筒格式將采用Docker打包模型,并使用戶能夠利用打包為Docker映像打包的任何應(yīng)用程序組件。 這將使開發(fā)人員能夠利用Docker Hub社區(qū)來訪問和共享要在OpenShift中使用的容器映像
在OpenShift v3中,我們將Kubernetes集成到OpenShift Broker中以驅(qū)動容器編排。
OpenShift v3將帶來新的功能,以供應(yīng),修補和管理應(yīng)用程序容器,路由和網(wǎng)絡(luò)增強功能以??及供應(yīng)和管理OpenShift平臺本身。 目標是為OpenShift開發(fā)人員提供最佳的用戶體驗。
- 為即將發(fā)布的版本感到興奮!
完整的演示
網(wǎng)絡(luò)廣播重播已經(jīng)完成,現(xiàn)在是時候接觸源代碼并獲取#coffee +++,然后坐下來放松演示,而不是10分鐘即可完成。 托馬斯(Thomas)將介紹所有細節(jié),我很高興在這兩者之間提出一些令人討厭的問題。
別忘了,您隨時可以重新觀看原始的網(wǎng)絡(luò)研討會 。
這是prezi演示的體系結(jié)構(gòu)概述,Thomas在網(wǎng)絡(luò)廣播中展示了該概述。
鏈接和進一步閱讀
一些思考和家庭作業(yè)的食物。 網(wǎng)絡(luò)研討會中的鏈接集合以及其他一些資源可供您深入研究。
- “ 使用docker容器和Java EE進行持續(xù)交付 ”(網(wǎng)絡(luò)研討會重播,28日或4月)
- TicketMonster –一個JBoss示例 (演示中使用的示例Java EE應(yīng)用程序)
- 該示例的完整源代碼
- 編寫您的Docker容器
- 托馬斯的博客
- Arun Gupta關(guān)于Docker的博客
- OpenShift v3的功能
- 原子項目
翻譯自: https://www.javacodegeeks.com/2015/05/continuous-delivery-with-docker-containers-and-java-ee.html
總結(jié)
以上是生活随笔為你收集整理的使用Docker容器和Java EE进行持续交付的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 花生属于什么类食物 花生属于啥类食物
- 下一篇: JUnit:使用Java 8和Asser