Zum Inhalt springen
BlogContainer (Kubernetes, Docker)Entwickler-Geschichte: Vereinfachung von Docker mit Easypanel

Entwickler-Geschichte: Vereinfachung von Docker mit Easypanel

Entwickler-Geschichte-Vereinfachung des Dockers mit EasyPanel

Die Linode Marketplace bietet einfachen Zugang zu Open-Source- und Drittanbieter-Tools für Ihre Anwendungen und Infrastruktur. Um dies zu erreichen, arbeiten wir mit Entwicklern zusammen, um ihre Projekte zu unserem wachsenden Katalog hinzuzufügen. Moderne Anwendungen werden nicht von Grund auf neu entwickelt. 

Unabhängig davon, ob der Entwickler oder der vorgesehene Benutzer für ein kleines bis mittleres Unternehmen oder eine Unternehmensorganisation arbeitet oder ein Hobbyist ist, umfasst der Architekturprozess eine Reihe von Entscheidungen und die Auswahl von Technologien, um von der Idee zur Produktion zu gelangen.

Easypanel ist ein Server-Kontrollzentrum, das auf Docker basiert. Es hilft Ihnen bei der Bereitstellung jeder Art von Anwendung, einschließlich Node.js, PHP, Ruby, Python, Go, und Java. Sie können auch Datenbankinstanzen für viele beliebte Datenbank-Engines erstellen und verwalten.

Easypanel ist so konzipiert, dass es intuitiv ist und es Entwicklern mit unterschiedlichen Erfahrungen und technischen Fähigkeiten ermöglicht, von einem Control Panel zu profitieren. Ich habe einige Zeit mit Andrei Canta, dem Entwickler von Easypanel, verbracht und ihm ein paar Fragen zu seinem Designprozess gestellt.

In der Regel fügen die Anwendungen eine neue Funktion hinzu oder lösen ein altes Problem. Welche Herausforderungen werden mit Easypanel gelöst?

AC: Easypanel beseitigt die Komplexität und das Potenzial für Fehlkonfigurationen, die mit der Einrichtung einer virtuellen Maschine (VM) und der manuellen Installation von Software einhergehen. Indem Sie jede Anwendung in einem isolierten Container ausführen, was mit Docker möglich ist, können Sie die Wahrscheinlichkeit von Fehlern verringern und die Stabilität verbessern. Die Konfiguration und Verwaltung von Docker kann jedoch schwierig sein. Easypanel vereinfacht diesen Prozess, indem es die Komplexität verbirgt und eine benutzerfreundliche Webschnittstelle für die Verwaltung bereitstellt. So werden beispielsweise SSL-Zertifikate automatisch eingerichtet, so dass die Benutzer dies nicht selbst tun müssen.

Wie unterscheidet sich Easypanel von den anderen Lösungen auf dem Markt?

AC: Easypanel ist von Grund auf so konzipiert, dass es zuerst auf Docker basiert und vom Betriebssystem isoliert ist. Die meisten Panels wurden ursprünglich für PHP-Anwendungen entwickelt, und alles andere ist ein nachträglicher Einfall. Auf der anderen Seite gibt es Unternehmenslösungen, die dedizierte Devops-Ingenieure für den Betrieb benötigen. Easypanel ist so konzipiert, dass es von einem Entwickler oder Administrator ohne spezielle Kenntnisse verwendet werden kann.

Ihre Anwendung läuft auf Docker, aber Sie verwenden nicht Kubernetes. Erzählen Sie mir ein wenig über Ihre Design-Entscheidungen hier.

AC: Docker dient der Containerisierung und Isolierung. Kubernetes ist eine Orchestrierungsschicht für Container. Ein Ziel des Projekts war es, es schlank zu halten und übermäßigen Overhead zu vermeiden. 

Wir haben Docker Swarm für die Orchestrierung verwendet, weil es im Vergleich zu Kubernetes weniger Overhead hat. In Zukunft würde ich gerne von Docker Swarm auf eine leichtgewichtige Kubernetes-Distribution wie K3s oder Nomad von HashiCorp umsteigen.

Easypanel ist nicht nur eine GUI auf Docker. Es kann mehr als das. Sie können es zum Beispiel mit GitHub verbinden und Ihre benutzerdefinierten Anwendungen bereitstellen, ohne etwas über Docker wissen zu müssen. Dafür verwenden wir Heroku Buildpacks, Paketo Buildpacks und Nixpacks. Wenn Sie möchten, können Sie auch Ihr eigenes Dockerfile mitbringen.

Halten Sie es als Entwickler für wichtig, an Open-Source-Projekten mitzuarbeiten und zu ihnen beizutragen?

AC: Auf jeden Fall! Ich glaube, wir halten Open Source heute für selbstverständlich, aber ohne sie wären wir nicht da, wo wir heute sind. Open-Source-Software spielt eine entscheidende Rolle für den Fortschritt der Technologie.

Anstatt doppelte Arbeit zu leisten, können Sie sich zusammenschließen, um etwas Besseres zu schaffen. In Easypanel gibt es zum Beispiel über 110 Open-Source-Apps, die Sie mit einem Klick installieren können. Ohne unsere großartige Community hätten wir das nicht geschafft!

Wie wichtig ist Portabilität bei der Planung Ihres Software-Stacks?

AC: Das kommt auf den Umfang des Projekts an. Wenn ich berate, erkläre ich meinen Kunden immer, dass die beste Lösung von mehreren Faktoren abhängt. Einer der Faktoren ist natürlich die Notwendigkeit, die besten Softwarepraktiken einzuhalten, aber das ist nicht alles. Man muss auch die geschäftlichen Anforderungen, die Lebensdauer einer Lösung, die Entwicklungskosten, die Kosten für die Migration zu einem anderen Stack und vieles mehr berücksichtigen. 

Wenn die Anwendung, die ich entwickle, nur eine kurze Lebensdauer hat und nicht zum Kerngeschäft gehört, stört mich die Bindung an einen Anbieter nicht. Ich würde es sogar bevorzugen, weil diese Lösungen in den meisten Fällen eine schnellere Entwicklung ermöglichen. Wenn ich jedoch an einer Anwendung arbeite, die zum Kerngeschäft gehört und die sich im Laufe der Zeit weiterentwickeln wird, versuche ich, die Bindung an einen bestimmten Anbieter so weit wie möglich zu vermeiden.

Wie geht es mit Easypanel weiter? Möchten Sie etwas über zukünftige Entwicklungen oder Geschäftspläne verraten?

AC: Kurzfristig arbeiten wir daran, native Backups für Datenbanken, Unterstützung für mehrere Benutzer und Zwei-Faktor-Authentifizierung hinzuzufügen. Langfristig wollen wir die Lösung auf mehrere Server ausweiten. Wenn Sie gerne sehen möchten, was in Echtzeit passiert, lade ich Sie ein, unserer Discord-Community beizutreten.

Stellen Sie Easypanel auf Linode mit der Marketplace App bereit oder suchen Sie andere Control Panel Apps, um das beste Tool für Ihre Workloads zu finden.


Kommentare

Kommentar abgeben

Ihre E-Mail Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit *gekennzeichnet