メインコンテンツにスキップ
ブログコンテナ(Kubernetes, Docker)開発者ストーリーEasypanelでDockerを簡素化する

開発者ストーリー:Easypanel で Docker をシンプルに

開発秘話-EasypanelでDockerを簡素化する

LinodeのMarketplace 、アプリやインフラ のためのオープンソースやサードパーティのツールに簡単にアクセスできます。これを達成するために、私たちは開発者と協力し、彼らのプロジェクトを私たちの成長しているカタログに追加します。最新のアプリケーションはゼロから作られるわけではありません。 

開発者や利用者が中小企業や企業組織に所属している場合でも、趣味でやっている場合でも、アーキテクチャのプロセスでは、アイデアから製品化までの一連の決定と技術の選択が行われます。

Easypanelは、Dockerを利用したサーバーコントロールパネルです。Node.js, PHP, Ruby,Python,Go, Javaを含むあらゆるタイプのアプリケーションのデプロイを支援します。また、多くの一般的なデータベースエンジンのデータベースインスタンスを作成し、管理することができます。

Easypanelは直感的で、さまざまな経験や技術力を持つ開発者がコントロールパネルの恩恵を受けられるように設計されています。私はEasypanelの開発者であるAndrei Cantaと一緒に時間を過ごし、彼のデザインプロセスについていくつかの質問をしました。

一般的に、アプリケーションは新しい機能を追加したり、古い問題を解決したりします。Easypanelはどのような課題を解決するのでしょうか?

AC: Easypanelは、仮想マシン(VM)のセットアップとソフトウェアの手動インストールに伴う複雑さと設定ミスの可能性を解決します。Dockerが可能にする分離されたコンテナですべてのアプリケーションを実行することで、エラーが発生する可能性を減らし、安定性を向上させることができます。しかし、Dockerの設定と管理は難しい場合があります。Easypanelは、複雑さを隠し、すべてを管理するためのユーザーフレンドリーなWebインタフェースを提供することで、このプロセスを簡素化します。例えば、SSL証明書を自動的にプロビジョニングし、ユーザが自分で行う際のフラストレーションを軽減します。

Easypanelは、市場にある他のソリューションとどのように違うのですか?

AC: Easypanelは、Dockerファーストで、OSから分離されるように、一から設計されています。ほとんどのパネルは、当初はPHPアプリケーション向けに開発され、それ以外は後付けです。その一方で、運用に専門のデボップスエンジニアが必要なエンタープライズソリューションも存在します。Easypanelは、専門的な知識を必要とせず、開発者や管理者が使用できるように設計されています。

あなたのアプリケーションはDocker上で動作していますが、Kubernetesは使っていませんね。ここでのデザインの選択について少し教えてください。

AC: Dockerはコンテナ化、分離のためのものです。Kubernetesはコンテナ用のオーケストレーションレイヤーです。プロジェクトの目標の1つは、スリムにして過度なオーバーヘッドを避けることでした。 

オーケストレーションには、Kubernetesと比較してオーバーヘッドが少ないDocker Swarmを使用しました。将来的にはDocker Swarmから、K3sやHashiCorpのNomadのような軽量なKubernetesディストリビューションに移行したいと考えています。

EasypanelはDockerの上にある単なるGUIではありません。それ以上のことをするのです。例えば、GitHubに接続して、Dockerのことを知らなくても、カスタムアプリケーションをデプロイすることができます。そのために、Heroku BuildpacksやPaketo Buildpacks、Nixpacksを利用します。また、必要であれば、自分でDockerfileを持ち込むことも可能です。

開発者として、オープンソースプロジェクトと連携し、貢献することは重要だとお考えですか?

AC: もちろんです。私たちは今、オープンソースを当たり前のように使っていますが、オープンソースがなければ、今の私たちはなかったと思います。オープンソースソフトウェアは、テクノロジーの進歩に重要な役割を果たしているのです。

重複した努力をする代わりに、より良いものを作るための努力に参加することができます。例えばEasypanelでは、ワンクリックでインストールできる110以上のオープンソースアプリケーションがあります。私たちの素晴らしいコミュニティなしには、これを実現することはできませんでした

ソフトウェアスタックを考える上で、ポータビリティはどの程度重要なのでしょうか?

AC: プロジェクトのスコープによります。私がコンサルティングを行う際、クライアントにはいつも、最適なソリューションは複数の要因に基づいていることを説明しています。もちろん、ソフトウェアのベストプラクティスに準拠する必要があることも要因の一つですが、それだけではありません。ビジネスニーズ、ソリューションの寿命、開発コスト、別のスタックへの移行コストなどを考慮しなければなりません。 

もし私が開発しているアプリケーションの寿命が短く、コアビジネスでないなら、私はベンダーロックインを気にしない。なぜなら、ほとんどの場合、これらのソリューションが開発のスピードアップに役立つからです。しかし一方で、もし私がコアビジネスで、時間とともに進化するアプリケーションに取り組んでいるのであれば、ベンダーロックインはできるだけ避けたいと考えています。

Easypanelの今後の展開について教えてください。今後の展開やビジネスプランについてお聞かせください。

AC: 短期的には、データベースのネイティブバックアップ、マルチユーザーサポート、二要素認証の追加を進めています。長期的には、マルチサーバ化も視野に入れています。もし、リアルタイムで何が起こっているのか知りたい方は、ぜひDiscordのコミュニティーに参加してください。

Marketplace アプリを使ってLinodeにEasypanelをデプロイするか、他のコントロールパネルアプリを閲覧してあなたのワークロードに最適なツールを見つけてください。

コメント 

コメントを残す

あなたのメールアドレスは公開されません。必須項目には*印がついています。