¿En qué punto tienes que tener tus propios servidores?

Trataré de responder esta pregunta porque he tenido experiencia con la configuración de muchos servidores. Hay cuatro tipos de servidores en los que uno podría alojar una aplicación. Recorreré cada uno:

1. Alojamiento compartido. Like Go Daddy es el registrador de nombres de dominio más grande del mundo, Internet 1 & 1 – Inicio

  • El alojamiento compartido son servidores que ejecutan múltiples aplicaciones en el mismo servidor. Son baratos (generalmente menos de $ 10 / mes)
  • Recursos compartidos.
  • No muy personalizable Si desea instalar sus propios módulos php o alguna base de datos especial, no podrá hacerlo.
  • Por lo general, puede cambiar algunas configuraciones a través de .htaccess, pero solo si la empresa de alojamiento lo permite.
  • Muchos proyectos PHP funcionan muy bien porque PHP funciona bien con hosting compartido y PHP puede usar memoria compartida. La mayoría del alojamiento compartido usa Apache2.

2. El siguiente nivel es servidores PaaS como Heroku | Plataforma de aplicaciones en la nube.

  • Estas son empresas de hosting que se especializan en alojar un tipo de proyecto, como Ruby on Rails
  • La ventaja de esto es que la mayoría de las configuraciones y configuraciones ya han sido pensadas para el desarrollador.
  • La implementación es más fácil.
  • A veces puede instalar sus propios módulos personalizados si está permitido.
  • Todavía tiene recursos compartidos, pero tiene más control sobre la cantidad de memoria que puede usar.
  • En mi opinión, este es el siguiente nivel en comparación con el alojamiento compartido.

3. El siguiente nivel es servidores virtuales como Rackspace o Amazon EC2

  • Este es un gran salto en comparación con las soluciones anteriores porque ahora tiene que mantener una máquina.
  • Puede instalar su propio Linux, MySQL, su propio servidor HTTP como nginx o Apache.
  • Debe mantener su propio servidor para las actualizaciones de seguridad. Algo que no tiene que ver con las soluciones anteriores.
  • Puede controlar la cantidad de memoria que desea y, por supuesto, cuanto más desee, más caro.
  • Con esta solución, tienes el control total. Puede instalar cualquier paquete, configurar el equilibrador de carga e incluso abrir nuevas instancias de servidores automáticamente cuando necesite más potencia de procesamiento.
  • Sin embargo, aún tiene recursos compartidos. El procesador todavía se comparte con otros servidores virtuales y el disco se usa en paralelo con muchas otras cosas.
  • Esta es una buena solución si obtiene mucho tráfico y desea un control total de su alojamiento. También es bueno porque puede ingresar SSH rápidamente en la caja, activar soluciones de almacenamiento en caché o instalar cualquier paquete que pueda necesitar. Por ejemplo, si desea instalar Redis, simplemente puede instalarlo.

4. Finalmente, en mi opinión, el siguiente nivel es alojar en una caja dedicada.

  • Obtiene todas las ventajas del servidor virtual. Tienes el control total.
  • Obtendrá MUCHO más rendimiento porque no se ejecutarán otras aplicaciones. Esto es muy costoso porque ahora tiene que pagar por energía dedicada, enfriamiento y tener el servidor físicamente en algún lugar.
  • Si su aplicación tiene mucho IO de disco o el uso de CPU es alto, esta sería la mejor solución.
  • Esto le costará más y solo debe hacerlo si realmente tiene el tráfico que lo necesita. Recomiendo actualizar solo si es necesario.

Creo que la gran conclusión es que usar algo como servidores en la nube Rackspace es más fácil de mantener . No significa más rápido. Es más barato y más fácil crear nuevos servidores y personalizarlos. Pero cuando compara una de esas cajas con su propia computadora portátil en casa, lo más probable es que sea más lenta. Siempre hay una capa entre el sistema operativo y el hardware físico que realiza la virtualización. En mi experiencia, el uso de un servidor virtual funciona bien hasta que obtenga tráfico en millones o incluso más.