Sin categoría

MrRoboto: La historia de memcached AMI

No hace mucho, fuimos a comer a un local de sushi en la calle Castro de Mountain View, frente a la modesta sede de NorthScale. De camino estábamos hablando del robatayaki japonés y Dave contó una historia sobre un discurso de los Oscar para un animador japonés que trabaja para una empresa llamada Robot.

Tengo muchas otras historias sobre el cuartel general, como la descripción de un día "rosa"... pero ese no es el propósito de este post.... Fue durante el almuerzo que DustinDave, Steve y yo, justo después del lanzamiento de memcached 1.4.0, dijimos que deberíamos lanzar una AMI con memcached para que la gente la usara. No queríamos que se modificara en modo alguno con respecto a lo que se podía obtener de memcached.org.... simplemente sería construido por algunas personas que trabajan y utilizan memcached. Estaría diseñado para arrancar de forma sencilla y utilizar toda la memoria disponible en el sistema para ejecutar una gran instancia de memcached. Conocemos a muchos desarrolladores y sabemos que algunos de ellos utilizan instancias EC2 para ejecutar memcached. Simplemente lo haríamos más sencillo de obtener. Entonces, abrí la boca y dije que creía que podía crear una AMI aún mejor, que utilizara parte de la tecnología con la que había trabajado en el proyecto Pila Web Sun para simplificar aún más el despliegue de EC2.... Así comenzó MrRoboto. Como he dicho antes, conocemos a muchos desarrolladores, así que sabemos cómo utilizan memcached. Cuando la gente se inicia con memcached, tienden a ejecutarlo desde un terminal con "-vvv". Ese nivel de verbosidad es realmente sólo algo que un memcached desarrollador podría amar. Es demasiado para un desarrollador medio que utilice Rails, PHP o Java. Habla de una idea en una startup, ¡y acabas de conseguir un proyecto de desarrollo de software para ejecutar! El concepto era combinar un script DTrace, el servidor slosh de Dustin modificado para ejecutar dicho script cuando un usuario lo solicita, y una sencilla interfaz de usuario de navegador AJAX para obtener información y mostrársela al usuario. En lugar de tratar de describirlo, echa un vistazo a este screencast: AMI de memcached con herramientas de NorthScale de Matt Ingenthron en Vimeo. Efectivamente, esto es "-vvv" en un navegador. Es muy, muy básico para una primera versión, pero podemos pensar en algunos lugares para crecer desde aquí ahora que la base está en su lugar. Aunque no es inmediatamente evidente a partir de este simple, pero útil "flujo de claves", podemos hacer un montón de otras cosas interesantes. Algunos otros experimentos ya están funcionando. Aparte de Trond Norbye y yo mismo, no creo que mucha gente haya hurgado en memcached con DTrace a pesar de que ha estado en el código durante más de un año. No voy a entrar en grandes detalles sobre DTrace aquí, pero la gran ventaja que obtienes 'gratis' con DTrace es que es simple y seguro de usar en producción, y la sobrecarga de una sonda que no está habilitada es nula. Así es exactamente como lo usamos en esta AMI. Si no estás mirando con un navegador, no hay sobrecarga. Incluso si estás mirando, la sobrecarga es muy baja, y fuera de la ruta crítica de la ejecución de memcached. En mi humilde opinión, la tecnología detrás de DTrace es impresionante, sólo necesita algunos ejemplos publicados y herramientas para ayudar a la gente a ponerse las pilas. Muchas gracias a mis colegas Dustin Sallings por el ejemplo de slosh, Rod Ebrahimi por ayudar a dar forma a la interfaz de usuario y Steve Yen y Dave Neilsen por la lluvia de ideas y el entusiasmo detrás del proyecto. Gracias también a Trond Norbye por la autoría de las sondas DTrace, a Chad Mynhier y Adam Leventhal por ayudarme con mis sencillos problemas de DTrace-fu y a Rich McDougall/Jim Mauro y Brendan Gregg (inicialmente de Kit de herramientas DTrace y más tarde de Fishworks analytics) por el tutilidge sobre DTrace a lo largo de los años. Habrá más en futuros posts sobre el proyecto MrRoboto, pero si esto te parece interesante o útil... o tienes una idea de algo que te gustaría ver en una futura AMI de MrRoboto, ¡háznoslo saber! p.d.El AMI se basa en OpenSolaris. Los errores de la consola de gestión EC2 de Amazon (actualmente en Beta) lo mantienen listado como "Otro Linux", que es el valor por defecto para cualquier cosa que no puedan identificar con una subcadena.

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

Autor

Publicado por Jennifer García

Jennifer Garcia es Gerente Senior de Web en Couchbase Inc. Como responsable del sitio web, Jennifer tiene la responsabilidad general de las propiedades del sitio web, incluido el diseño, la implementación, el contenido y el rendimiento.

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.