¿Cómo hace Airbnb para que su aplicación Ruby on Rails se escale masivamente?

Como desarrollador web, veo que esta pregunta hace mucho sobre cómo algo escala o X no es muy escalable. En última instancia, lo que la gente necesita darse cuenta es que puede hacer que casi cualquier cosa escale. Un idioma puede realizar más operaciones por segundo que otro, pero eso no es realmente escalabilidad, sino que es un problema.

En última instancia, todo lo que Ruby está haciendo es solicitar datos, y al mostrar html, puede haber algún masaje de datos allí, pero es principalmente una capa de vista. Lo que significa que puede colocar tantos servidores web detrás de un equilibrador de carga como desee. El equilibrador de carga es el verdadero héroe en la escalabilidad web, ya que “equilibra” la cantidad de tráfico que va a cada servidor, por lo que si sus servidores comienzan a estar abrumados, literalmente puede agregar más y ponerlos en la rotación de los equilibradores de carga.

Luego, detrás de los servidores Ruby, tiene cualquier tipo de bases de datos / caché, etc. También pueden replicarse y ampliarse. La replicación de datos es más compleja entre esos servidores de back-end pero, en última instancia, Ruby probablemente esté haciendo la menor cantidad de trabajo en toda esta Infraestructura.

En definitiva, lo que realmente quieres saber es. ¿Cómo se presenta la infraestructura de AirBnB y cómo diseñaron esa infraestructura para manejar grandes cantidades de solicitudes? Una pregunta que solo un ingeniero de AirBnB realmente puede responder.

Puede reemplazar la palabra Ruby con cualquier idioma y obtendrá una respuesta similar. La mayoría de las personas en el desarrollo web nunca tendrán que construir sistemas de carga equilibrada escalables que sirvan a millones de personas, por eso se ven tantos puntos de referencia estáticos de cómo el lenguaje X maneja miles de solicitudes, pero el lenguaje Y maneja millones.

En algún momento tendrá que agregar más servidores y luego se dará cuenta de que el idioma en el que escribió su aplicación fue probablemente una de las decisiones más fáciles que tomó, la infraestructura escalable es mucho más difícil.

Estoy bastante seguro de que puedes encontrar tu respuesta en su página oficial de ingeniería.

(Ingeniería de Airbnb – Nerds)

More Interesting

¿Qué opina de que SaaS GTM esté vinculado a las ventas impulsadas por socios de canal en lugar de las ventas directas?

¿Cuáles son los modelos saas disponibles?

¿Es posible utilizar un software web de código abierto como SAAS?

¿Cómo se crea una interfaz de usuario para aplicaciones Android / iOS y SaaS?

¿Cuál es la estrategia detrás de que el plan gratuito de Asana sea tan generoso?

¿Qué software CRM sería bueno para la participación del cliente en una gran empresa de TI?

Qué aplicaciones son el estándar de oro en la experiencia del usuario entre las aplicaciones comerciales, educativas o de productividad personal de SaaS; ¿y por qué?

¿Qué métricas de entrada son importantes para medir para una aplicación SaaS empresarial?

¿Qué pasó con las compras de Salesforce.com para ser adquiridas por Oracle o Amazon?

¿Qué es un aumento de precio típico que puedo esperar al renovar mis suscripciones SaaS?

Cómo abordar la búsqueda y reclutamiento de socios de canal

¿Qué compañías de software han realizado una transición exitosa o infructuosa de las instalaciones a la nube / SaaS?

¿Cuáles son los productos SaaS más populares utilizados para la cocción de inversión?

¿Cuánto disminuyen las ventas durante el verano para las empresas SaaS?

En el negocio de SaaS, ¿cómo debo manejar las comisiones en el caso de que un vendedor cerró una venta inicial del producto más pequeño para 1 usuario y, después de un tiempo, el cliente actualizó al producto más grande para 10 usuarios?