Historia de desarrolladores: Simplificando Docker con Easypanel
Nova Imago Digital facilita el acceso a herramientas de código abierto y de terceros para sus aplicaciones e infraestructuras. Para lograrlo, trabajamos con desarrolladores para añadir sus proyectos a nuestro creciente catálogo. Las aplicaciones modernas no se construyen desde cero.
Tanto si el desarrollador o el usuario previsto trabaja para una pequeña o mediana empresa como si es un aficionado, el proceso de arquitectura implica una serie de decisiones y selecciones tecnológicas para pasar de la idea a la producción.
Easypanel es un panel de control de servidor basado en Docker. Te ayuda a desplegar cualquier tipo de aplicación, incluyendo Node.js, PHP, Ruby, Python, Go, y Java. También puedes crear y gestionar instancias de bases de datos para muchos motores de bases de datos populares.
Easypanel está diseñado para ser intuitivo y permitir que desarrolladores con experiencia y conocimientos técnicos variados se beneficien de un panel de control. Pasé algún tiempo con Andrei Canta, desarrollador de Easypanel, y le hice algunas preguntas sobre su proceso de diseño.
Normalmente, las aplicaciones añaden una nueva función o resuelven un viejo problema. ¿Qué retos resuelve Easypanel?
AC: Easypanel resuelve la complejidad y la posibilidad de errores de configuración que conlleva la configuración de una máquina virtual (VM) y la instalación manual de software. Al ejecutar cada aplicación en un contenedor aislado, lo que permite Docker, puede reducir la posibilidad de errores y mejorar la estabilidad. Sin embargo, configurar y gestionar Docker puede resultar difícil. Easypanel simplifica este proceso ocultando la complejidad y proporcionando una interfaz web fácil de usar para gestionarlo todo. Por ejemplo, aprovisiona automáticamente certificados SSL, ahorrando a los usuarios la frustración de hacerlo ellos mismos.
¿En qué se diferencia Easypanel de las demás soluciones del mercado?
AC: Easypanel está diseñado desde cero para ser Docker primero y aislado del sistema operativo. La mayoría de los paneles se desarrollaron inicialmente para aplicaciones PHP, y todo lo demás es una idea de último momento. Por otro lado, hay soluciones empresariales que requieren ingenieros devops dedicados para operar. Easypanel está diseñado para ser utilizado por un desarrollador o administrador sin necesidad de conocimientos especializados.
Su aplicación se ejecuta en Docker, pero no utiliza Kubernetes. Háblame un poco de tus opciones de diseño.
AC: Docker es para la contenerización y el aislamiento. Kubernetes es una capa de orquestación para contenedores. Uno de los objetivos del proyecto era mantenerlo ligero y evitar una sobrecarga excesiva.
Utilizamos Docker Swarm para la orquestación porque tiene menos sobrecarga en comparación con Kubernetes. En el futuro, me gustaría pasar de Docker Swarm a una distribución ligera de Kubernetes como K3s o Nomad de HashiCorp.
Easypanel no es sólo una interfaz gráfica de usuario sobre Docker. Hace más que eso. Por ejemplo, puedes conectarlo a GitHub y desplegar tus aplicaciones personalizadas sin tener que saber nada de Docker. Para ello, utilizamos Heroku Buildpacks, Paketo Buildpacks y Nixpacks. O, si quieres, puedes traer tu propio Dockerfile.
Como desarrollador, ¿cree que es importante trabajar y contribuir a proyectos de código abierto?
AC: ¡Por supuesto! Creo que ahora damos por sentado el código abierto, pero sin él no estaríamos donde estamos hoy. El software de código abierto desempeña un papel crucial en el progreso de la tecnología.
En lugar de duplicar esfuerzos, puedes unirlos para construir algo mejor. En Easypanel, por ejemplo, hay más de 110 aplicaciones de código abierto que puedes instalar con un solo clic. No podríamos haberlo hecho sin nuestra increíble comunidad.
¿Qué importancia tiene la portabilidad a la hora de considerar su entorno de software?
AC: Depende del alcance del proyecto. Cuando hago consultoría, siempre explico a mis clientes que la mejor solución se basa en múltiples factores. Uno de los factores, por supuesto, es la necesidad de ajustarse a las mejores prácticas de software, pero eso no es todo. Hay que tener en cuenta las necesidades de la empresa, la vida útil de una solución, el coste del desarrollo, el coste de la migración a una entorno diferente, y mucho más.
Si la aplicación que estoy desarrollando tiene una vida corta, y no es el núcleo del negocio, no me importa la dependencia de un proveedor. De hecho, puede que lo prefiera, porque la mayoría de las veces estas soluciones te ayudan a desarrollar más rápido. Pero, por otro lado, si estoy trabajando en una aplicación que es fundamental para el negocio y que evolucionará con el tiempo, intento evitar la dependencia de un proveedor en la medida de lo posible.
¿Qué le espera a Easypanel? ¿Tiene planes de desarrollo o de negocio para el futuro?
AC: A corto plazo, estamos trabajando para añadir copias de seguridad nativas de las bases de datos, compatibilidad multiusuario y autenticación de dos factores. A largo plazo, queremos que sea multiservidor. Si quieres ver lo que ocurre en tiempo real, te invito a unirte a nuestra comunidad de Discord.
Implemente Easypanel en Nova Imago Digital, o explore otras aplicaciones de panel de control para encontrar la mejor herramienta para sus cargas de trabajo.