¿Debo usar Dokku o Docker para la producción en una sola gota DigitalOcean ($ 5 / pm) para múltiples aplicaciones web?

El único problema con este plan que veo es que te estás robando los beneficios reales de Docker.

He estado estudiando y probando Docker Swarm desde principios de 2016 hasta alrededor de diciembre y decidí que este año, migraría todo mi software para operar dentro de contenedores. No hubo dudas. Después de 20 años en el negocio creando software y sitios web y alojándolos a la “vieja usanza”, era hora de mudarse al maravilloso y loco mundo de los contenedores Docker.

Los beneficios de Docker son muchos. Entornos predecibles, aislamiento completo del software, implementaciones rápidas, estas son algunas de las ventajas de usar contenedores Docker. Sin embargo, el beneficio real para los servicios web está en Docker Swarm.

Opero un total de 8 servidores en este momento. 4 de ellos están ubicados físicamente en la sede de mi empresa en Internet de grado empresarial con IP estáticas para cada uno de ellos. Son nodos de trabajadores acoplados. 2 de esas máquinas son máquinas RAM de 32 GB con 8 CPU físicas cada una para procesar grandes tareas. Tengo otra instalación de servidor en un rack en una estación de radio local con su propia dirección IP dedicada y también es un nodo Docker, pero este porque está en respaldos de batería y generadores de respaldo y conectividad redundante a Internet, lo configuré como un nodo administrador . Los otros nodos son con Vultr, pagando solo $ 5 / mes cada uno. Literalmente, estos también se configuran como nodos acoplables, y sorprendentemente, esto completa mi alta disponibilidad, el clúster acoplado separado geográficamente ya que estos también son gerentes.

3 gerentes que SIEMPRE están en línea con 5 trabajadores. Los grandes trabajadores también están en su propia red física de back-end, para la velocidad de rendimiento para grandes trabajos como el procesamiento de video.

Mi punto es que estoy usando Docker Swarm por lo que ofrece: Alta disponibilidad de mis sitios web y servicios. Actualmente, todavía alojamos más de 300 sitios web en cuentas típicas de VPS cPanel y a veces vemos lentitud. Predecimos que erradicaremos muchos problemas una vez que todo se haya migrado al enjambre.

Utilizamos Traefik para nuestro proxy front-end + GlusterFS para nuestro sistema de archivos distribuido. Usamos LetsEncrypt para SSL automáticos en todos los puntos finales de URL y usamos prometheus para monitorear todos los servicios.

El punto de usar Docker en mi compañía era estrictamente por sus características de enjambre. Todo lo demás es un beneficio.

Ejecutar un entorno de un solo nodo parece venderse en corto, pero supongo que las necesidades de todos son diferentes.

No creo que este sea un buen camino a seguir, pero tal vez sea solo porque soy parte de la vieja escuela que entiende qué problema Docker realmente está tratando de resolver.

Entonces, si desea ahorrar dinero y ejecutar múltiples aplicaciones web en una máquina, solo hay una arquitectura que está realmente orientada a ese tipo de cosas, PHP. Si está utilizando PHP, entonces Docker se interpondrá en el camino. Porque PHP resolvió el problema de la tenencia múltiple hace mucho tiempo.

Si no está usando PHP, entonces es mi opinión que la tecnología de contenedores como Docker no es lo suficientemente buena como para proporcionar un arrendamiento múltiple decente e incluso si lo fuera, $ 5 al mes es demasiado barato para arriesgarlo en sus aplicaciones de producción. Pasará más tiempo del que vale la pena intentar averiguar cómo funciona Docker y pasará más tiempo resolviendo problemas de inquilinato múltiple.

Si está utilizando PHP, haga lo que todos los demás hacen y simplemente use la configuración de su servidor web para habilitar el arrendamiento múltiple.

Si no, simplemente use múltiples gotas. $ 5 al mes no es mucho dinero. Si aloja 10 aplicaciones, debería considerar consolidar la arquitectura para que todas esas aplicaciones sean solo una. Es un mejor uso de su tiempo que hacer que el arrendamiento múltiple funcione.

Pero esta es solo la opinión de una sal vieja. Solía ​​pensar que Vagrant era una idea estúpida, ahora lo estoy considerando seriamente para nuevos proyectos. Si realmente quieres intentar ahorrar el dinero, invierte dos días. Si no puede hacerlo funcionar después de dos días, busque otra forma. Si dos días parecen demasiado trabajo, entonces deberías seguir mi viejo consejo y no tratar de escatimar en lo que cuenta.

More Interesting

¿Qué es una API en desarrollo web?

¿Cuáles son algunas buenas herramientas o aplicaciones para autores de no ficción?

¿Dónde almacena sus archivos de desarrollo web?

¿Cuáles son buenos ejemplos de diseño moderno y plano en aplicaciones web empresariales?

¿Qué opinas de desarrollar mi aplicación web con php y mysql?

¿Es mejor implementar rápidamente con Parse o hacer una compilación personalizada de Django / Python? Desde una perspectiva de inversión y salida, me preocupa que si construimos con Parse, la compañía será menos atractiva.

¿Por qué alguien hizo clic en cada página de mi sitio web?

¿La gente pasa tiempo en Quora por el valor del entretenimiento?

¿Deberían las versiones móviles de aplicaciones web parecerse a una interfaz de usuario de aplicación nativa (por ejemplo, entrada inferior fija para una página de chat) o tener el mismo aspecto que la versión de escritorio?

¿Hay alguna investigación sobre el papel que juegan los mensajes de texto en tiempos de necesidad médica? ¿Para pacientes y cuidadores?

¿Por qué las aplicaciones web sin conexión no son populares a pesar de ser superiores a las aplicaciones web tradicionales?

Si tuviera que iniciar una nueva aplicación web a gran escala hoy, ¿qué marco utilizaría?

Cómo comenzar a crear aplicaciones web

¿Por qué los lenguajes como PHP, Ruby, Python y similares se consideran más rápidos para desarrollar software en comparación con C ++ o Java?

¿Para qué se utiliza un marco de aplicación web como Flask? ¿Se utiliza para la secuencia de comandos del lado del servidor?