聽(tīng)開(kāi)發(fā)者講述如何輕松簡(jiǎn)化Docker:借助Easypanel成為高效開(kāi)發(fā)者?
Linode Marketplace 為開(kāi)發(fā)者的應(yīng)用程序和基礎(chǔ)架構(gòu)提供了一種可以輕松訪問(wèn)開(kāi)源和第三方工具的方式。 為實(shí)現(xiàn)這一目標(biāo),我們與開(kāi)發(fā)者合作,將他們的項(xiàng)目添加到我們持續(xù)增長(zhǎng)的目錄中。 對(duì)于開(kāi)發(fā)者而言,現(xiàn)代應(yīng)用程序不是從頭開(kāi)始構(gòu)建的,我們希望用更簡(jiǎn)單的方式來(lái)讓大家將想法通過(guò)高效的構(gòu)建變?yōu)楝F(xiàn)實(shí)。
消除復(fù)雜性、提高創(chuàng)新力!Akamai 云計(jì)算服務(wù),靈活的開(kāi)放式架構(gòu),簡(jiǎn)化開(kāi)發(fā)體驗(yàn)!
無(wú)論開(kāi)發(fā)人員或目標(biāo)用戶(hù)是為中小型企業(yè)或企業(yè)組織工作,還是業(yè)余愛(ài)好者,架構(gòu)過(guò)程都涉及從構(gòu)思到生產(chǎn)的一系列決策和技術(shù)選擇,使用良好的工具可以這個(gè)過(guò)程變得事半功倍。
今天我們要介紹的Easypanel就是一個(gè)由 Docker 提供支持的服務(wù)器控制面板。 它可以幫助開(kāi)發(fā)者部署任何類(lèi)型的應(yīng)用程序,包括 Node.js、PHP、Ruby、Python、Go 和 Java。 不僅如此,開(kāi)發(fā)者還可以為許多流行的數(shù)據(jù)庫(kù)引擎創(chuàng)建和管理數(shù)據(jù)庫(kù)實(shí)例。
Easypanel 被設(shè)計(jì)為直觀的,并允許具有不同經(jīng)驗(yàn)和技術(shù)技能的開(kāi)發(fā)人員從控制面板中受益。 在了解這個(gè)工具的過(guò)程中,我們與Easypanel的開(kāi)發(fā)者 Andrei Canta 進(jìn)行了深度的交流,并從他那里了解到一些關(guān)于設(shè)計(jì)過(guò)程的問(wèn)題,通過(guò)聆聽(tīng)他的講述,我們將會(huì)對(duì)Easypanel有更加深入的了解。
通常來(lái)說(shuō),應(yīng)用程序會(huì)添加新的功能或解決舊的問(wèn)題。 Easypanel可以解決哪些挑戰(zhàn)?
Andrei Canta:Easypanel 解決了設(shè)置虛擬機(jī) (VM) 和手動(dòng)安裝軟件所帶來(lái)的復(fù)雜性和配置錯(cuò)誤的可能性。 通過(guò)在 Docker 允許的隔離容器中運(yùn)行每個(gè)應(yīng)用程序,開(kāi)發(fā)者可以減少出錯(cuò)的機(jī)會(huì)并提高穩(wěn)定性。 但是,配置和管理 Docker 可能很困難。 Easypanel 通過(guò)隱藏復(fù)雜性并提供用戶(hù)友好的 Web 界面來(lái)管理一切來(lái)簡(jiǎn)化此過(guò)程。 例如,它會(huì)自動(dòng)提供 SSL 證書(shū),讓用戶(hù)無(wú)需自己動(dòng)手進(jìn)行繁瑣的配置。
Easypanel 與市場(chǎng)上的其他解決方案有哪些差異?
Andrei Canta:Easypanel 從一開(kāi)始就被設(shè)計(jì)為 Docker方式,并與操作系統(tǒng)隔離。 大多數(shù)面板最初是為 PHP 應(yīng)用程序開(kāi)發(fā)的,其他一切都是事后才想到的。 另一方面,有些企業(yè)解決方案需要專(zhuān)門(mén)的 DevOps 工程師來(lái)操作。 Easypanel 旨在供開(kāi)發(fā)人員或管理員使用,而無(wú)需開(kāi)發(fā)者具備專(zhuān)業(yè)的知識(shí)。
您的應(yīng)用程序在 Docker 上運(yùn)行,但您沒(méi)有使用 Kubernetes。為什么您會(huì)做出這樣的選擇?
Andrei Canta:Docker 用于容器化和隔離。 Kubernetes 是容器的編排層。 該項(xiàng)目的目標(biāo)之一是保持輕量化并避免過(guò)多的資源開(kāi)銷(xiāo)。
我們使用 Docker Swarm 進(jìn)行編排,因?yàn)榕c Kubernetes 相比,它的開(kāi)銷(xiāo)更少。 將來(lái),我想從 Docker Swarm 轉(zhuǎn)移到輕量級(jí)的 Kubernetes 發(fā)行版,例如 HashiCorp 的 K3s 或 Nomad 。
Easypanel 不僅僅是 Docker 之上的 GUI。 它的作用遠(yuǎn)不止于此。 例如,開(kāi)發(fā)者可以將它連接到 GitHub 并部署自定義應(yīng)用程序,而無(wú)需了解任何有關(guān) Docker 的知識(shí)。 為此,我們使用 Heroku Buildpacks、Paketo Buildpacks 和 Nixpacks。 或者如果有需要的話,開(kāi)發(fā)者還可以自帶 Dockerfile。
作為一名開(kāi)發(fā)人員,你認(rèn)為與開(kāi)源項(xiàng)目合作并做出貢獻(xiàn)很重要嗎?
Andrei Canta:當(dāng)然了!我認(rèn)為我們現(xiàn)在認(rèn)為開(kāi)源是理所當(dāng)然的,但如果沒(méi)有它,我們就不會(huì)有今天的成就。開(kāi)源軟件在技術(shù)進(jìn)步中起著至關(guān)重要的作用。
與其重復(fù)努力,不如加入努力以構(gòu)建更好的東西。例如,在Easypanel中,開(kāi)發(fā)者可以一鍵安裝110 +開(kāi)源應(yīng)用程序。如果沒(méi)有我們了不起的社區(qū),我們就無(wú)法做到這一點(diǎn)!
在考慮軟件堆棧時(shí),可移植性的重要度有多高?
Andrei Canta:這取決于項(xiàng)目的范圍。當(dāng)我做咨詢(xún)時(shí),我總是向我的客戶(hù)解釋?zhuān)詈玫慕鉀Q方案是基于多種因素的。當(dāng)然,其中一個(gè)因素是需要符合軟件最佳實(shí)踐,但這還不是全部。必須考慮業(yè)務(wù)需求、解決方案的生命周期、開(kāi)發(fā)成本、遷移到不同堆棧的成本等等。
如果我正在開(kāi)發(fā)的應(yīng)用程序壽命很短,并且不是核心業(yè)務(wù),我不介意鎖定供應(yīng)商。實(shí)際上,我可能更喜歡它,因?yàn)榇蠖鄶?shù)時(shí)候,這些解決方案可以幫助您更快地開(kāi)發(fā)。但另一方面,如果我正在開(kāi)發(fā)一個(gè)核心業(yè)務(wù)的應(yīng)用程序,并且會(huì)隨著時(shí)間的推移而發(fā)展,我會(huì)盡可能避免供應(yīng)商鎖定。
Easypanel 接下來(lái)會(huì)有哪些新的東西? 愿意與我們分享任何未來(lái)的發(fā)展或商業(yè)計(jì)劃嗎?
Andrei Canta:在短期內(nèi),我們正努力為數(shù)據(jù)庫(kù)添加本地備份、多用戶(hù)支持和雙因素身份驗(yàn)證。 從長(zhǎng)遠(yuǎn)來(lái)看,我們希望使其成為多服務(wù)器。如果您渴望及時(shí)了解正在發(fā)生的事情,我邀請(qǐng)您加入我們的 Discord 社區(qū)。
使用 Marketplace 應(yīng)用程序在 Linode 上部署 Easypanel,或?yàn)g覽其他控制面板應(yīng)用程序以找到最適合您的工作負(fù)載的工具。
這篇文章的內(nèi)容感覺(jué)還行吧?有沒(méi)有想要立即在 Linode 平臺(tái)上親自嘗試一下?別忘了,現(xiàn)在注冊(cè)可以免費(fèi)獲得價(jià)值 100 美元的使用額度,快點(diǎn)自己動(dòng)手體驗(yàn)本文介紹的功能和服務(wù)吧↓↓↓
Akamai帶來(lái)開(kāi)發(fā)工具新選擇,點(diǎn)擊了解更多
歡迎關(guān)注 Akamai ,第一時(shí)間了解高可用的 MySQL/MariaDB 參考架構(gòu),以及豐富的應(yīng)用程序示例。