heroku 和 docker 都可以讓開發(fā)人員能夠在容器內(nèi)開發(fā)、部署和運(yùn)行應(yīng)用程序。容器是在單個(gè)操作系統(tǒng)內(nèi)核上運(yùn)行的虛擬環(huán)境,使應(yīng)用程序能夠使用虛擬機(jī)或裸機(jī)計(jì)算機(jī)系統(tǒng)所需資源的一小部分來運(yùn)行。容器還使我們能夠快速擴(kuò)展應(yīng)用程序,并輕松地從開發(fā)過渡到生產(chǎn)。雖然 heroku 和 docker 都為軟件部署和管理提供了一個(gè)容器化的解決方案,但是它們?cè)趯?shí)現(xiàn)和術(shù)語方面有很大的不同。每個(gè)系統(tǒng)也有著不同的利與弊。
什么是容器? 容器是使應(yīng)用程序能夠共享單個(gè)操作系統(tǒng)的軟件系統(tǒng)。容器系統(tǒng)通常由容器引擎、
在 heroku 上部署 docker 通過在 heroku 的基礎(chǔ)設(shè)施上部署 docker,可以同時(shí)享受這兩個(gè)領(lǐng)域的好處。heroku 的平臺(tái)簡化了設(shè)置和部署,并且?guī)缀鯖]有風(fēng)險(xiǎn)。雖然與 aws 這樣的平臺(tái)相比,在 heroku 上部署的初始費(fèi)用更昂貴,但是許多公司最終在 heroku 上節(jié)省了資金,因?yàn)榕c其他平臺(tái)相比,節(jié)省了所有在配置上要花費(fèi)的時(shí)間。
在 heroku 上部署 docker 的優(yōu)點(diǎn)包括:
開發(fā)環(huán)境和生產(chǎn)環(huán)境之間的差異更小。更好地控制如何構(gòu)建包。例如,如果你的應(yīng)用程序使用了一門不使用標(biāo)準(zhǔn) buildpack 的語言,那么你可以在 docker 中構(gòu)建它。在 heroku 平臺(tái)上部署 docker 的主要缺點(diǎn)是丟棄了一些 heroku 的自動(dòng)配置特性,承擔(dān)了更多的責(zé)任。如果使用標(biāo)準(zhǔn)的 slug 編譯器和默認(rèn)的 stack,heroku 將自動(dòng)檢查安全性更新,更新 stack,然后自動(dòng)遷移應(yīng)用程序。但是,如果使用 docker 容器,heroku 就不能這樣做了,責(zé)任就落在了管理應(yīng)用程序的人的身上。
哪些公司在使用 docker 和 heroku?docker 的客戶
docker 在 g2crowd 上的評(píng)分是 4.4 分 (滿分 5 分),共有 200 名用戶做了評(píng)價(jià)。許多公司選擇 docker 以在容器中快速部署服務(wù)器環(huán)境,而不需要?jiǎng)?chuàng)建虛擬機(jī)。
adp(https://www.adp.com/)——它使用 docker 建立一個(gè)安全的軟件供應(yīng)鏈,為 113 個(gè)國家的近 4000 萬活躍用戶服務(wù)。
alm. brand(https://www.almbrand.dk/)——使用 docker 企業(yè)版精簡了它的 oracle weblogic 應(yīng)用程序,并構(gòu)建了新的應(yīng)用程序。
assa abloy(https://www.assaabloy.com/)——assa abloy 是一家著名的鎖具制造商,利用 docker 企業(yè)版來加速其電子接口和鎖具硬件的市場交付。
baker hughes ge(https://www.bhge.com/)——使用 docker,將部署時(shí)間從 6 個(gè)月減少到 1 個(gè)小時(shí)。
glaxosmithkline(https://www.gsk.com/)——使用 docker 企業(yè)版來加速藥物配送模型和改進(jìn)研究。
visa(https://www.visa.com/)——visa 利用 docker 對(duì)其支付處理應(yīng)用進(jìn)行了重構(gòu),最終實(shí)現(xiàn)了 10 倍的可擴(kuò)展性提升。
heroku 的客戶
heroku 經(jīng)常被初創(chuàng)公司和行業(yè)領(lǐng)導(dǎo)者選擇,用于快速構(gòu)建強(qiáng)大的可以快速發(fā)布的數(shù)據(jù)驅(qū)動(dòng)應(yīng)用程序。docker 在 g2crowd 上的評(píng)分是 4.3 分 (滿分 5 分),共有 76 名用戶做出了評(píng)價(jià)。
altus assessments(https://altusassessments.com/)——altus assessments 使用 heroku 來運(yùn)行成千上萬的數(shù)據(jù)密集型測試。
swimtopia(https://www.swimtopia.com//)——heroku 幫助 swimtopia 在高峰期無縫地伸縮。
shift commerce(https://www.shiftcommerce.com/)——使用 heroku 電子接口并聚集硬件市場,使 shift commerce 的快速增長成為可能。
clickfunnels(https://www.clickfunnels.com/)——clickfunnels 運(yùn)用 heroku 靈活的數(shù)據(jù)服務(wù)抓住了增長的機(jī)會(huì)。
moneytree(https://www.getmoneytree.com/)——moneytree 專注于他們的業(yè)務(wù),而 heroku 負(fù)責(zé)數(shù)據(jù)安全和遵從性
drivendata(https://www.drivendata.org/)——heroku 為 drivendata 的數(shù)據(jù)科學(xué)應(yīng)用提供了一個(gè)安全的平臺(tái)。
總結(jié)heroku 和 docker 都是容器化的極佳選擇。它們都可以運(yùn)行各種語言的應(yīng)用程序,包括 java、ruby、php 和其他語言。它們還提供了簡單的可伸縮性和部署。
heroku 和 docker 之間的主要區(qū)別在于它們的實(shí)現(xiàn)。heroku 和 docker 都使用容器進(jìn)行操作,容器是一個(gè)自包含的代碼實(shí)例,包含運(yùn)行應(yīng)用程序所需的所有內(nèi)容,包括代碼、資源和工具。但是,heroku 在它自己的 heroku 部署流水線中提供容器。這使得 heroku 非常容易配置,因?yàn)榘⑷萜骱铜h(huán)境整體上都已經(jīng)為你配置好了。heroku 非常適合希望無需復(fù)雜的配置即可在一個(gè)固定的環(huán)境中部署應(yīng)用程序的新開發(fā)人員或者小公司。
另一方面,docker 提供了一個(gè)容器化模型,它可以運(yùn)行在各種各樣的平臺(tái)上,從內(nèi)部服務(wù)器到私有云、aws 甚至是 heroku 環(huán)境本身。因此,與 heroku 相比,docker 在部署方面要靈活得多。然而,伴隨這種靈活性而來的是更復(fù)雜的部署過程。
因此,docker 更適合具有更具體配置要求的公司。例如,如果你的應(yīng)用程序需要一個(gè)非常安全的環(huán)境,你可以運(yùn)行 docker on-premise 并根據(jù)你的規(guī)范配置安全性。更大的靈活性也帶來了一定程度的復(fù)雜性。heroku 基本上可以直接運(yùn)行,而 docker 則要根據(jù)你的需要進(jìn)行更多配置。
在某些情況下,開發(fā)人員可以通過在 heroku 上部署 docker 來利用兩個(gè)平臺(tái)的特性。這減輕了 docker 在其他 paas 平臺(tái)上帶來的許多部署和實(shí)現(xiàn)難題,但是與純 heroku 部署相比,它確實(shí)將更多的責(zé)任分配給了應(yīng)用程序管理者。另一方面,更大的責(zé)任也使你能夠更好地控制應(yīng)用程序。
要做讓人印象深刻的網(wǎng)站在進(jìn)行網(wǎng)站優(yōu)化時(shí),如何挖掘長尾關(guān)鍵詞?網(wǎng)絡(luò)推廣專員淺析網(wǎng)絡(luò)推廣期間網(wǎng)站收錄如何提升?網(wǎng)站建設(shè)網(wǎng)站規(guī)劃和搜索引擎的關(guān)系網(wǎng)站建設(shè)時(shí)和客戶溝通要講究方式方法不要過于直白來猜想一下微信企業(yè)號(hào)的功能有哪些?小程序大未來,實(shí)現(xiàn)流量的轉(zhuǎn)化是關(guān)鍵分析邊緣計(jì)算給物聯(lián)網(wǎng)帶來的優(yōu)勢