溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

DC/OS是怎么解決問題的

發(fā)布時間:2022-01-04 15:31:59 來源:億速云 閱讀:136 作者:柒染 欄目:大數(shù)據(jù)

DC/OS是怎么解決問題的,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

很多組織在應(yīng)對這方面的挑戰(zhàn)時會感到不知所措,因為他們經(jīng)常被鼓勵去重新構(gòu)建應(yīng)用程序并將這些程序遷移到Docker容器上或者PaaS平臺上,例如Redhat的OpenShift或者Pivotal的Cloud Foundry。然而不幸的是,重構(gòu)應(yīng)用有時會花費很多的時間或者有很多的技術(shù)限制,導(dǎo)致這些計劃在開始前就注定要失敗。

好消息的是,企業(yè)完全不必重寫他們的應(yīng)用程序或者將其完全遷移至云端來解決這些問題。有些解決方案可以讓企業(yè)即可以從現(xiàn)代化的應(yīng)用架構(gòu)中受益,同時卻無需重新編寫應(yīng)用程序。其中的一種解決方案就是利用Mesosphere DC/OS,它可以讓傳統(tǒng)應(yīng)用無需進(jìn)行任何代碼上的修改即可運行在新的平臺上。DC/OS還提供相關(guān)的功能從而簡化應(yīng)用的部署與擴(kuò)展,提升安全性,更快地更新補(bǔ)丁,同時節(jié)省資源使用與許可許可證方面的成本。

DC/OS包含兩種應(yīng)用程序編排方式,一種是Marathon(DC/OS內(nèi)部集成的組件),Marathon是一個經(jīng)過實際生產(chǎn)環(huán)境驗證的編排器,除了支持容器應(yīng)用的調(diào)度也支持二進(jìn)制軟件的部署,因此可以在不修改傳統(tǒng)程序代碼的情況下運行應(yīng)用程序。對于那些可以遷移到Docker上的應(yīng)用程序,DC/OS同樣提供了另外一個選項—Kubernetes,用戶可以在DC/OS一鍵單擊實現(xiàn)Kubernetes服務(wù)的部署。這樣,機(jī)構(gòu)組織就可以在統(tǒng)一的平臺上運行Java EE應(yīng)用程序和Docker容器應(yīng)用。

接下來,我們討論一下如何將Java EE運行在新一代的平臺上以及Mesosphere DC/OS如何解決它們所帶來的一些運營挑戰(zhàn)。

傳統(tǒng)的Java EE應(yīng)用程序擴(kuò)展可能需要幾個月的時間


很多開發(fā)人員或多或少都曾經(jīng)遇過這樣的一個場景,那就是要花費很長時間甚至6個月的時間來完成向現(xiàn)有的應(yīng)用集群添加新的服務(wù)器資源的任務(wù)。這些擴(kuò)展若能提前規(guī)劃好還好,但是如果與面臨突發(fā)的需求變更怎么辦?此外當(dāng)新的資源添加之后,稍后一旦資源閑置,用戶難道真的會將服務(wù)器從應(yīng)用集群中移除嗎?恐怕不會,明智的做法是要一直確保應(yīng)用有多余的容量,然而這樣就會造成更高的管理成本、更高的功耗,更龐大的數(shù)據(jù)中心占用空間,此外這些被應(yīng)用占有的服務(wù)器還不能用于支撐其它類型的應(yīng)用。

針對這個問題,一個現(xiàn)代化的辦法就是使用Mesosphere DC/OS來管理一個數(shù)據(jù)中心級別規(guī)模的集群,Mesosphere DC/OS 可以將整個數(shù)據(jù)中新的基礎(chǔ)設(shè)施資源進(jìn)行池化并將它們視為一個巨大的資源池。開發(fā)人員可以利用DC/OS以自服務(wù)的方式將應(yīng)用自動部署在現(xiàn)有的資源上,卻無需一定要將應(yīng)用程序遷移到Docker上。

利用DC/OS,應(yīng)用程序可以在數(shù)秒內(nèi)輕松地完成傳統(tǒng)應(yīng)用的彈性的部署與伸縮。應(yīng)用所有者可以立即響應(yīng)業(yè)務(wù)的需求,基礎(chǔ)設(shè)施的運營者業(yè)務(wù)不必?fù)?dān)心還有多少資源沒有使用或者虛擬機(jī)的許可數(shù)量等。

DC/OS可以在任何的Linux上運行,與虛擬化技術(shù)不同的是,DC/OS占用的資源極少,因此應(yīng)用程序可以充分地利用基礎(chǔ)設(shè)施平臺中的資源。DC/OS同時保證資源的有效隔離與效率。并采用相應(yīng)的訪問控制機(jī)制確保這些資源得到適當(dāng)?shù)厥褂?,確保最大限度地利用資源,同時不會對應(yīng)用程序性能造成影響。

密碼很難管理而且經(jīng)常公開


在很久以前,密碼管理相對于現(xiàn)在要簡單的多。在當(dāng)時,保護(hù)應(yīng)用程序所需要的就是在配置文件上設(shè)置密碼,并確保外部的人不能訪問控制臺以及連接數(shù)據(jù)庫。隨著時間的推移,為了完成日常維護(hù)以及應(yīng)用的緊急調(diào)試,組織機(jī)構(gòu)的人將會有越來越多的人能夠接觸到密碼。 

采用明文密碼或者爆炸式增長的應(yīng)用共享相同的數(shù)據(jù)庫的憑證時,問題則會變得更加嚴(yán)重。在一些組織中,更改一個數(shù)據(jù)庫密碼經(jīng)常會導(dǎo)致不得不更改數(shù)以百計的應(yīng)用程序配置文件。而更改密碼有時又意味著重啟并中斷應(yīng)用程序,因此數(shù)據(jù)庫中大多數(shù)的密碼很少會發(fā)生更改。然而,當(dāng)組織內(nèi)當(dāng)前和已經(jīng)離職的員工可能都會知道這些密碼,所以應(yīng)用和數(shù)據(jù)庫在安全方面會面臨著重大的風(fēng)險。

在這種情況下,若有一個密鑰集中管理器,并且可以和應(yīng)用部署緊密集成,則可以在很大程度上減輕上述的負(fù)擔(dān)。Mesosphere DC/OS 內(nèi)置一個的安全的密鑰集中存儲器。為了減少不必要的業(yè)務(wù)中斷,您可以在不變動原有密碼的同時創(chuàng)建一個新的密碼,然后將密鑰再重新映射至新的密碼即可,最后再更新一下應(yīng)用即可完成密碼的重新配置。通過密鑰,用戶可以很頻繁地更改密碼,從而主動規(guī)避很多人知道密碼帶來的風(fēng)險。

傳統(tǒng)Java應(yīng)用存在一些不穩(wěn)定的因素


對于Java EE這樣的傳統(tǒng)應(yīng)用程序,另外一個挑戰(zhàn)便是內(nèi)存泄漏與連接掛起會經(jīng)常發(fā)生。許多企業(yè)會采用cron自動化的方式在夜間重啟應(yīng)用程序,這種操作通常會導(dǎo)致短至幾分鐘長至幾個小時的應(yīng)用中斷。然而在當(dāng)今應(yīng)用需要24*7小時之內(nèi)保持連續(xù)性的世界里,這樣的中斷有時是不可接受的。

借助Mesosphere DC/OS,企業(yè)可以設(shè)定應(yīng)用級別的健康檢查,并將其綁定至每個運行的應(yīng)用實例上,當(dāng)應(yīng)用程序異常響應(yīng)時,DC/OS 會重啟進(jìn)程,在具有干凈的內(nèi)存以及連接池的新應(yīng)用運行前,原有的應(yīng)用會一直保持運行的狀態(tài)。通過這種方式,DC/OS可以確保傳統(tǒng)應(yīng)用程序的可靠性,而不需要開發(fā)人員變更代碼以及停止應(yīng)用。

補(bǔ)丁升級不及時不方便


我們經(jīng)常飽受與數(shù)據(jù)泄漏相關(guān)的新聞,這些數(shù)據(jù)的泄露又是由于應(yīng)用程序或者平臺受到攻擊,而應(yīng)用與平臺受到攻擊有時又是由補(bǔ)丁、環(huán)境等配置的不合理或者過時的庫(JAR文件)以及代碼漏洞等造成的。

Mesosphere DC/OS 提供 CLI/UI/API 等方式部署應(yīng)用程序來解決這些問題,企業(yè)可以直接使用CLI與UI進(jìn)行應(yīng)用的部署,也可以將API與Jenkins與Gitlab等工具進(jìn)行集成。平臺打通各種工具,確保傳統(tǒng)應(yīng)用在整個流程上以及使用上的安全。

通過 DC/OS 實現(xiàn)Java EE應(yīng)用的低風(fēng)險遷移


Mesosphere DC/OS 提供了一個極安全的分布式平臺來托管您的傳統(tǒng)應(yīng)用程序,您可以根據(jù)需求靈活地選擇Marathon或者Kubernetes對應(yīng)用進(jìn)行編排。

要完成Java企業(yè)應(yīng)用程序的遷移,我們需要:

1、列出待遷移的應(yīng)用以及與應(yīng)用相關(guān)的配置。

2、決定好是直接采用二進(jìn)制文件的方式進(jìn)行部署(JAR,WAR)還是通過構(gòu)建Docker鏡像動態(tài)加載應(yīng)用程序二進(jìn)制文件的方式進(jìn)行部署。

3、將源代碼以及相關(guān)的配置文件上傳至源碼管理倉庫上,例如JFrog,Nexus等然后再與Jenkins等CI/CD服務(wù)器集成,構(gòu)建合適的管道。

4、創(chuàng)建并保護(hù)經(jīng)過加密的DC/OS的Secret,如用戶名、密碼、配置文件以及證書等。

5、創(chuàng)建應(yīng)用程序部署文件(如Marathon的JSON文件或者Kubernetes 的YAML文件),為應(yīng)用程序定義健康檢查策略,并為應(yīng)用程序選擇合適的應(yīng)用程序組,如果有必要的話,也可以設(shè)置健康策略以及非停機(jī)的計劃內(nèi)重啟等策略。

看完上述內(nèi)容,你們掌握DC/OS是怎么解決問題的的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

dc os
AI