Sin categoría

Cómo Couchbase ayudó a OMGPOP a batir todos los récords con Draw Something

De vez en cuando tienes la oportunidad de demostrar tu valía en un gran escenario. Hace cuatro semanas tuvimos la oportunidad. El usuario de Couchbase, OMGPOP, había lanzado Dibuja algo - un juego tipo Pictionary que se estaba volviendo viral. Aprovechando lo que acabaría siendo una oportunidad de crecimiento sin precedentes, tuvieron que ampliar su base de datos. Había dos condiciones innegociables: el rendimiento tenía que ser constante y el juego no podía desconectarse nunca, aunque el número de usuarios y juegos aumentara rápidamente.

Crecer para dar soporte al juego de móvil de mayor crecimiento de todos los tiempos no es trivial. Desde un principio, Draw Something se ha convertido en más de 50 millones de descargas en pocas semanas (y sigue sumando unos dos millones de descargas al día). Los usuarios activos diarios (DAU) ascienden a 15 millones, superando con creces al siguiente juego más cercano, Words with Friends. Se han iniciado decenas de millones de partidas. Más de Cada segundo se generan 3.000 dibujos que se suman a los 2.000 millones de que ya se han creado y almacenado.

Y el crecimiento no se ha detenido. OMGPOP tiene ahora la vista puesta en 100 millones de descargas.

Este tipo de crecimiento es el sueño de todo desarrollador de aplicaciones, pero si la escalabilidad no se planifica desde el principio, puede convertirse en la peor pesadilla de un desarrollador. La forma más rápida de acabar con un juego en crecimiento es hacer esperar a los usuarios o, peor aún, decirles que vuelvan cuando se pueda manejar la carga. Si no, que se lo pregunten a EA.

Lanzado más o menos al mismo tiempo que Draw Something, Simpson's Tapped Out de EA también estaba consiguiendo una enorme adopción. Con un crecimiento viral, alcanzó el número #2 en la App Store de Apple a principios de marzo, antes de tener problemas de escalabilidad. A los pocos días, el juego fue retirado de la App Store y sólo los jugadores existentes siguieron jugando. Unas semanas después, todavía no ha vuelto.

Afortunadamente, OMGPOP había previsto de antemano la escalabilidad, seleccionando un Base de datos NoSQL como tecnología principal de almacenamiento de datos. En su caso, utilizaban Servidor Couchbaseni siquiera sabíamos que Couchbase estaba detrás del juego.

Nos dimos cuenta de nuestro papel en su éxito cuando nos llamaron para asegurarse de que estaban empleando las mejores prácticas en la planificación del crecimiento de su clúster de bases de datos. A medida que el número de usuarios, juegos y dibujos crecía a un ritmo sin precedentes, fueron capaces de añadir capacidad continuamente al clúster (creciendo hasta más de 100 servidores), manteniendo el rendimiento de la aplicación y sin tiempo de inactividad.. Nunca hubo una caída de rendimiento ni un solo momento en el que los nuevos jugadores no pudieran unirse a la fiesta, ¡incluso ante un hardware moribundo! En un momento dado, un problema con la placa base del hardware seleccionado estaba haciendo que los miembros del clúster se cayeran a un ritmo alarmante. Couchbase soportó incluso esos fallos sin interrumpir el funcionamiento o el rendimiento del juego.

El desarrollo de aplicaciones innovadoras es, por supuesto, la base del éxito de OMGPOP y de otras empresas. Aunque los requisitos de escalabilidad de un juego social de éxito pueden ser más extremos que los de la mayoría de las aplicaciones, la importancia de poder escalar fácilmente la aplicación sin tiempo de inactividad y manteniendo el rendimiento es fundamental para el éxito de la mayoría de las aplicaciones. Es importante que los desarrolladores elijan una base de datos que no sólo soporte el funcionamiento de la propia aplicación, sino que también sea capaz de escalarse fácilmente. Enhorabuena a OMGPOP por desarrollar un juego innovador que es un gran éxito en todo el mundo. Nos alegramos de que Couchbase haya contribuido a su éxito.

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Bob Wiederhold

Bob fue presidente y consejero delegado de Couchbase de 2010 a 2017. Hasta su adquisición por IBM en 2008, Bob fue presidente, consejero delegado y presidente de Transitive Corporation, líder mundial en virtualización multiplataforma con más de 20 millones de usuarios. Anteriormente, fue presidente y director general de Tality Corporation, líder mundial en servicios de diseño electrónico, cuyos ingresos y tamaño crecieron hasta casi $200 millones y contaba con 1.500 empleados en todo el mundo. Bob ocupó varios puestos de dirección general ejecutiva en Cadence Design Systems, Inc, una empresa de automatización de diseño electrónico, a la que se incorporó en 1985 como una empresa incipiente y que ayudó a crecer hasta superar los $1.500 millones durante sus 13 años en la empresa. Bob también dirigió High Level Design Systems, una exitosa empresa de automatización de diseños electrónicos que fue adquirida por Cadence en 1996.

15 Comentarios

  1. Guay. Eso es algo de lo que presumir.

  2. ¿Cuántos documentos se escriben y leen por segundo con 100 nodos? ¿Se trata de un entorno en la nube o de hardware dedicado?

    1. Hola Artur -
      Están ejecutando Couchbase en hardware dedicado (gestionado por un proveedor de alojamiento) y promediando unas 120.000 lecturas y escrituras de datos por segundo, en apoyo del juego. El clúster también multiplica los datos a velocidades similares en todo el clúster (lo que nos ha permitido absorber muchos fallos de hardware en las últimas dos semanas).
      James.

      1. Algunas preguntas (divertidas):

        ¿Cuántos servidores ha derribado OMGPOP con Draw Something?

        Cuál es su tasa de muerte del servidor (fallo de unidad/servidor).

        ¿Es mayor o menor que el fallo de hardware previsto para los sistemas en los que se ejecutan?

        ¿Cuánto le cuesta a OMGPOP/Zynga este tipo de servicio de alojamiento?

  3. Me pregunto si las soluciones totalmente alojadas, como CloudAnt, podrían tener esta capacidad de respuesta.

    ¿O es necesario contratar a un administrador para escalar esto fácilmente.

    No tengo muy claro si las soluciones totalmente alojadas (como CloudAnt) venden instancias de un servidor o una infraestructura de servidores que pueden ampliarse a demanda.

    1. Hola.
      Debería hablar con Cloudant para conocer mejor sus ofertas y capacidades. Ellos están mejor preparados para responder a esas preguntas. Couchbase soporta el despliegue alojado de nuestro software en EC2 a través de rightscale. Es muy fácil de usar. Sólo google couchbase y rightscale.
      James.

    2. Hola Razamataz,

      Este no es el mejor lugar para hablar de Cloudant u otros proveedores que no sean Couchbase, pero abordaré las preguntas específicas que planteas. 

      - Cloudant tiene historias similares de clientes que responden a las necesidades de carga.

      - No necesitaría contratar a un administrador porque Cloudant gestiona todo por usted, ya sea en su centro de datos o en el de Cloudant. Usted solo interactúa con la API.

      - Puede escalar el número de nodos de su clúster Cloudant.

      No dude en ponerse en contacto conmigo si desea hablar más sobre Cloudant.

      Salud.

  4. disco de tornillos abril 4, 2012 a 6:17 am

    Me pregunto si están teniendo el mismo problema con la función de reequilibrio. ¿Están utilizando el couchbase 1.8.x? Estamos utilizando membase 1.7.1 con más o menos 200million artículos en 9 nodo aws cluster, sin embargo estamos teniendo problema crítico en reequilibrio seguir fallando.

    1. Hola screwdisk -
      Siento que tengas problemas. ¿Estás recibiendo la ayuda que necesitas? Estaré encantado de ponerte en contacto con nuestros recursos de apoyo si quieres enviarme un correo electrónico. Soy James de couchcbase.
      gracias -
      James.

  5. Estamos en el proceso de buscar a alguien que nos ayude a construir nuestro arco para un próximo juego social y bueno, ninguno de nosotros aquí en la oficina tiene ninguna gran experiencia con la ejecución de sitios o el manejo de datos en los millones por hora o más y ser capaz de mantener la escala sin ningún tiempo de inactividad ... que, por supuesto, como en el caso de EA\ les mordió en el culo.

    Nos comunicamos con nuestro cliente de juego a través de puntos finales json, y escribir un montón de datos y, por supuesto, leer los datos, así en el arranque del cliente ... Tenemos que ser capaces de manejar el tráfico de juego social como nuestra aplicación crece en iOS, y Facebook. es Right Scale con + CouchBase una buena solución y también una solución en la que no es necesario un administrador a tiempo completo, también sería recomendable ejecutar en la nube aws o hardware realmente metal.

  6. Clinton Mills junio 12, 2012 a 1:28 pm

    ¿Sabemos si utilizan la versión 1.8 o la 2.0?

  7. Cory Armbrecht junio 25, 2012 a 8:20 pm

    Vengo de mongo, y he estado viendo algunos informes que me han llevado a buscar otras opciones para ciertos proyectos como este impresionante ejemplo. Después de investigar un poco más, esto suena como una solución impresionante. Trabajo con Node, y ahora mismo parece que node-memcached es el único camino a seguir. Sin haber usado nunca memcached, aunque es drop-in, ¿hay características importantes que me perdería?

  8. Matt Ingenthron junio 26, 2012 a 4:57 am

    Si bien es cierto que node-memcached es la opción lista para producción hoy en día, tenemos un proyecto en el que estamos avanzando con un cliente node basado en libcouchbase. Por favor, envíeme un correo electrónico (matt) a Couchbase si desea una vista previa.

    Usando node-memcached, no te estarías perdiendo nada realmente. Tendrías que interactuar con la interfaz REST de la vista directamente, pero está bien documentada y es simple HTTP, que node hace muy fácil, por supuesto.

    Puedes ver algunas ideas aproximadas aquí:
    https://www.couchbase.com/wiki/

    ... y ha habido más debates entre los colaboradores y los desarrolladores principales, tanto por correo electrónico como por IRC.

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.