¿Cómo encuentran los desarrolladores de aplicaciones el espacio del servidor?

La cantidad de almacenamiento para los servicios web tradicionales tiende a aumentar por el promedio de requisitos de almacenamiento por usuario multiplicado por el número de usuarios.

Por lo tanto, cuando se inicia un servicio web como Snapchat o Instagram, no requieren mucho almacenamiento, ya que no tienen muchos usuarios. Los requisitos de almacenamiento solo aumentan cuando tienen un mayor número de usuarios.

Por lo general, esto se maneja utilizando servicios en la nube. A menudo se encuentran entre las plataformas menos eficientes y efectivas para servicios web, pero tienen una serie de ventajas de implementación inicial:

  • Generalmente ofrecen tarifas introductorias; Es común que el primer año de uso sea gratuito, en ese momento debe decidir pagarlos para seguir usándolos como plataforma, o necesita comprar / construir su propia infraestructura
  • Puedes tirarles dinero a escala; también puede hacerlo con su propia infraestructura, pero el hardware ya está instalado en una situación en la nube, lo que significa una mayor velocidad de implementación
  • Mucha gente sabe cómo construir cosas para servicios en la nube, como AWS; no serán necesariamente las cosas más eficientes del mundo, pero mientras los ingresos escalen más rápido que los gastos, solo se trata de optimizar los ingresos (por el contrario, si se escala más lentamente, se habla de aumentar la tasa de quema)
  • A pesar de que tiende a tener una latencia muy alta, siempre y cuando la latencia no sea un problema, realmente no te importa. Por ejemplo, un sitio alojado en AWS siendo contactado por un teléfono celular de AT&T en Seattle se verá como si estuviera ubicado en Virginia, porque las ubicaciones de DNS de la red de AT&T están en Virginia. Esto significa que la dirección IP que AWS entrega al teléfono celular como la dirección del servidor en realidad será el centro de datos de AWS más cercano a Virginia, y sus comunicaciones tendrán que realizar un viaje de ida y vuelta de Seattle a Virginia, a Seattle, en lugar de Seattle / Seattle / Seattle. AT&T necesita arreglar su DNS, o AWS necesita arreglar su transferencia del servidor en función de la geolocalización de la conexión, o ambas.

Pero básicamente: contratan a un proveedor de la nube y les arrojan un puñado de dinero después del período de introducción gratuita.


Es muy irónico que haya elegido Instagram y Snapchat como sus empresas de ejemplo. Este es el por qué:

  • El modelo de negocio de Snapchat se basa en que los datos son efímeros, por definición. Eso significa que no necesita ni tiene requisitos de almacenamiento a largo plazo. De hecho, necesitar mucho almacenamiento probablemente significaría que estaban siendo deshonestos con su servicio.
  • Instagram resolvió su problema de escalado al reubicarse en los centros de datos de Facebook. La forma en que lograron esto es al ser adquiridos por Facebook.

Por lo tanto, ninguno de sus ejemplos realmente necesitó grandes cantidades de almacenamiento que tuvieron que salir y encontrar.

¡Los días han cambiado ahora!

Hoy en día todo está en la nube y nadie utiliza servidores dedicados, etc. Los servidores en la nube son más económicos y escalables bajo demanda. Utilizamos AWS (Amazon) para alojar todas las aplicaciones móviles de nuestros clientes. Para cualquier precio de inicio es un factor importante, por lo que les pedimos que se registren en Amazon para ahorrar en costos. Cuando la aplicación se encuentra en la fase de desarrollo, comenzamos con micro instancias, por lo que menciono específicamente porque Amazon no cobra por micro instancias durante el primer año. También tiene muchos servicios diferentes que se pueden usar fácilmente dentro de la aplicación, como S3, cloudfront, RDS, balanceador de carga, IP elástica, AMI, etc. Una vez que el producto crece, se puede escalar fácilmente en estos servidores en la nube usando la capacidad de Auto Scaling de Amazon, piense sobre servidores dedicados y monitoreo de tráfico que se suponía que debía suceder en el pasado y que, dependiendo de los productos de carga, suponen aumentar la capacidad subyacente del hardware, pero ahora su historia diferente, debe pagar por lo que usa, y en pocos clics simples todo puede ser automatizado ¡Sí, es así de fácil!

Bueno, eso en realidad no es un gran problema porque si una aplicación realmente crece y tiene muchos usuarios, las personas detrás de ella probablemente recaudarán una cantidad de dinero para actualizar su infraestructura. En realidad, desde que llegó al mercado el concepto de nube, donde pagas sobre la marcha, ayudó a que muchas aplicaciones se ampliaran mientras crecían con bajos costos.

Muchos proveedores de servidores como AWS ofrecen a los estudiantes el uso gratuito durante un año. Heroku otro proveedor tiene un plan gratuito.

Incluso si eso no existiera, alquilar un servidor virtual o dedicado o ir a un plan pago en las nubes no es más costoso; realmente puedes hacer eso por $ 30 al mes.

Los creadores de aplicaciones van por ese camino y si su aplicación realmente tuvo éxito, recibirán fondos y tendrán tiempo suficiente para migrar o actualizar sus infraestructuras.

Hay muchos proveedores de servicios en la nube que compiten para ahorrarle el trabajo de mantener servidores reales.

Las compañías para las que he trabajado han utilizado AWS, Heroku, Rackspace y probablemente otras para esto.