Nuestro propio DreamHoster, Mark McClain, quien también es un Líder Técnico del Proyecto OpenStack, tuvo una increíble entrevista con Mirantis! ¡En caso de que no hayas tenido la oportunidad de leerla, échale un vistazo abajo!
Por: David M. Fishman
Estamos presentando la primera de una serie continua de entrevistas con Líderes Técnicos del Proyecto OpenStack en nuestro blog de Mirantis. Nuestro objetivo es educar a la comunidad tecnológica en general y ayudar a las personas a entender cómo pueden contribuir y beneficiarse de OpenStack. Naturalmente, estas son opiniones del entrevistado, no de Mirantis. Hemos editado la entrevista para claridad y longitud del post.
Nuestra primera entrevista es con Mark McClain, recién elegido Proyecto de Networking de OpenStack (anteriormente conocido como “Quantum”) Líder Técnico.
Mirantis: Cuéntanos sobre ti y cómo comenzaste con OpenStack.
Mark McClain: Soy un Desarrollador Senior de la Nube en DreamHost y trabajo en el Equipo Cloud. DreamHost me contrató específicamente para trabajar en OpenStack. Me contrataron durante el medio del ciclo de Essex, y lo genial de trabajar en OpenStack, y específicamente en OpenStack Networking, es que combina dos de mis cosas favoritas: Networking y Python.
P: ¿Cuáles son tus responsabilidades? ¿Qué haces en tu día a día?
A: Durante el lanzamiento de Grizzly, fui un colaborador principal enfocado en mejorar la funcionalidad del servicio de metadatos cuando se utilizan redes IP superpuestas. También trabajé en la migración de bases de datos para que las personas que estaban implementando OpenStack pudieran actualizar sin problemas de Folsom a Grizzly. Durante Grizzly, también lideré varios subequipos incluyendo los de L3, base de datos y equipos de triaje de errores.
Ahora como PTL, tengo una visión mucho más amplia del proyecto. Soy responsable de dirigir nuestra reunión semanal de equipo y organizar el track de Networking en la cumbre de diseño. Diariamente, me corresponderé con la comunidad, coordinaré con los líderes de los sub-equipos, revisaré las entregas de código, gestionaré los errores y revisaré los planos. También coordinaré con otros miembros de la Fundación y el Comité Técnico en temas interproyectos.
P: ¿Qué hace que el Networking de OpenStack sea tan especial? ¿Por qué es importante?
A: Con Nova puedes crear máquinas virtuales y proporciona capacidades básicas de red. Pero cuando quieres utilizar tecnologías más nuevas, digamos, túnel para proporcionar aislamiento de red entre inquilinos o VXLAN, realmente no puedes aprovechar esas tecnologías con la red de Nova. Te limita a VLAN o redes planas. Las nuevas tecnologías permiten los mayores beneficios de la Red de OpenStack: aislamiento de inquilinos escalable.
P: ¿Qué ha logrado hasta ahora la comunidad de Networking de OpenStack, y cuáles son sus planes para la versión de Havana?
A: OpenStack Networking fue creado originalmente en la Cumbre Diablo. Fue un proyecto de incubación durante Essex y se integró en Folsom. Durante el período de Essex y Folsom, la comunidad dedicó mucho tiempo a intentar alcanzar la paridad de características y desarrollar muchas características L2 y L3 en OpenStack Networking.
En Grizzly pudimos cambiar el enfoque para agregar nuevos servicios, y también cerrar la brecha de paridad con Nova Networking. En el ciclo de Grizzly añadimos servicios de metadatos superpuestos, migraciones y grupos de seguridad. Otra gran característica de Grizzly fue el equilibrio de carga.
De hecho, varias personas de Mirantis realmente ayudaron a contribuir al equilibrio de carga. Eso fue un gran proyecto comunitario que involucró a múltiples personas de varios proveedores que trabajaron juntos para producir una API y la base para el equilibrio de carga.
En La Habana vamos a extender el servicio de balanceo de carga y añadir más funcionalidades. Mirando hacia adelante, hay proveedores en la comunidad trabajando para mejorar el Networking de OpenStack añadiendo soporte VPN, soporte ACL a nivel empresarial y soporte IPv6. Actualmente, la funcionalidad IPv6 es bastante básica y la gente quiere añadir algunos servicios de alto nivel encima de eso. Además, hay empresas y miembros de la comunidad trabajando en soporte de metal desnudo, soporte completo multi-host, proporcionando HA en un contexto un poco más pequeño similar a lo que es Nova multi-host… también hay varios miembros de la comunidad que se unen para trabajar en otras características orientadas al usuario.
P: ¿Qué es genuinamente único acerca de OpenStack Networking o es simplemente una versión de código abierto de Networking as a Service como ya existe?
A: Creo que lo más único de OpenStack Networking en comparación con casi cualquiera de las otras soluciones de Networking as a Service es una comunidad de proveedores muy vibrante. Durante el ciclo Grizzly agregamos cinco nuevos Plugins de diferentes proveedores. Eso es una de las cosas únicas de OpenStack Networking. También muestra mucho impulso de los proveedores porque la mayoría de los proveedores han elegido poner su energía y sus esfuerzos detrás de OpenStack.
Si lo comparas con otras soluciones de Networking en otros grupos de cloud, tal vez tengan una o dos opciones si tienes suerte. Estás prácticamente atascado con la opción de Networking del grupo.
P: ¿Cuáles son algunos casos de uso donde la Red de OpenStack realmente destaca?
A: En entornos multiinquilinos donde el aislamiento y la seguridad son imprescindibles, puedes poner en marcha esos sistemas rápidamente y proporcionar esos servicios a los inquilinos, ya sea en una nube pública o privada y puedes hacerlos funcionar a gran escala con bastante rapidez.
En el caso de implementaciones más pequeñas, la red OpenStack puede configurarse para soportar nubes privadas aún más pequeñas de manera bastante fácil utilizando herramientas de código abierto. Los pequeños comercios que tienen recursos limitados aún pueden aprovechar muchas de las mismas características que las personas que implementan a gran escala también pueden.
P: Cuando dices “bastante rápido”, ¿puedes cuantificar eso?
A: Para una tienda pequeña, simplemente siguiendo las guías de OpenStack – si estás familiarizado con OpenStack – eso sería medio día. Si no estás familiarizado con OpenStack, quizás un día o dos. Las guías te guiarán y te ayudarán a configurar un sistema bastante realista que funciona bien para la mayoría de los casos.
Lo bueno es que puedes hacerlo con el personal mínimo y todo funciona en hardware común. No necesitas switches especiales o servidores. Para aquellos que están tratando de experimentar y averiguar si OpenStack o OpenStack Networking es la solución para ellos, pueden usar equipos que la mayoría de las empresas tienen en sus laboratorios de todos modos para pruebas.
P: ¿Qué base de conocimientos necesitas para poner en marcha OpenStack Networking?
A: Es el mismo conjunto de habilidades que encontrarías si tuvieras un ingeniero de redes o incluso un puesto tipo DevOps. Realmente solo necesitas una familiaridad básica para desplegar redes IP.
Entonces, realmente no se necesitan habilidades especiales porque mucho de lo que los autores de Plugins/plugin han hecho – tanto de código abierto como propietario – es abstraer muchos de los detalles de conocer las especificaciones extremas de ciertos protocolos para que el implementador pueda centrarse en las API’s.
P: ¿Existen conceptos erróneos sobre la Networking de OpenStack?
A: No combatimos muchos conceptos erróneos con OpenStack Networking. Creo que la mayoría de las personas entienden lo que hace. Algunas personas optarán por seguir implementando Nova networking para nuevas instalaciones porque están preocupadas por la complejidad, madurez o estabilidad de OpenStack Networking.
Ahora los materiales de soporte para la instalación se han actualizado y las distribuciones han hecho un excelente trabajo al empaquetar OpenStack, por lo que ya no es así. Para nuevas implementaciones, deberías usar OpenStack Networking desde el principio y aprovechar esas funcionalidades ahora, en lugar de comenzar con Nova-network y eventualmente tener que migrar a OpenStack Networking, lo cual es una migración no trivial.
Durante Havana, los equipos de Networking y Nova de OpenStack van a discutir: ¿Cómo cerramos esa brecha y cómo se convierte OpenStack Networking en el proveedor de red predeterminado para Nova?
P: ¿Qué pasa con la escalabilidad de Networking en OpenStack?
A: Hay varios despliegues grandes que utilizan OpenStack Networking. Algunos están utilizando versiones de Folsom, y algunas personas están ejecutando realmente trunk, lo cual es realmente interesante porque habla de la madurez de la base de código.
P: ¿El Proyecto de Red de OpenStack todavía tiene algún “problema infantil”?
A: Pasamos mucho tiempo en Grizzly trabajando en servicios de metadatos aislados. Muchas de las preguntas de soporte que recibimos y los informes de errores después del lanzamiento de Folsom fueron: ¿Cómo funciona el servicio de metadatos? – y así que dedicamos mucho tiempo a asegurarnos de que el servicio de metadatos fuera mucho más fácil de configurar y simplemente funcionara de manera óptima para una amplia variedad de implementaciones. En Grizzly eso es probablemente una de las mayores enfermedades de las que nos hemos deshecho.
P: ¿A quién te gustaría ver contribuyendo al Proyecto de Red de OpenStack?
A: Somos muy afortunados. Contamos con contribuciones de algunas empresas muy respetadas, incluyendo: Arista, BigSwitch, Brocade, Cisco, HP, IBM, NEC, Nicira, Juniper, Midokura, Plumgrid y VMware. Durante el ciclo Grizzly agregamos aún más empresas y algunas nuevas startups que están ofreciendo sus soluciones, lo que impulsa la innovación en la comunidad.
En cuanto al colaborador ideal… es alguien que esté entusiasmado con Networking y quiera participar en la comunidad de OpenStack, y esté dispuesto a intercambiar ideas de un lado a otro entre los diferentes colaboradores para que al final del día la comunidad se beneficie en su conjunto.
P: ¿Cuáles son las mayores oportunidades para las personas que desean crear algo impresionante y destacado en el Proyecto de Red de OpenStack?
A: Habrá un gran impulso en La Habana para VPN-como-Servicio en varios modos de implementación diferentes. También, extenderemos el equilibrio de carga. En Grizzly dimos los primeros pasos para implementarlo y ahora hay varios proveedores que están intentando aprovechar esa API. El soporte para IPv6 también será grande. Más proveedores de servicios de internet están ofreciendo servicios v6 para implementaciones empresariales. Asegurar que el Proyecto de Red de OpenStack funcione para los diversos modos de implementación de IPv6 también será importante.
También tenemos entusiasmo por las personas que trabajan con metal desnudo en OpenStack Networking y en la gestión de dispositivos a gran escala: Si soy un proveedor de hardware, ¿cómo integro mi pieza de hardware en OpenStack Networking? Además, nos centramos en temas para implementadores, como: ¿Cómo puedo proporcionar diferentes niveles de ofertas de servicio?
P: ¿Cómo aconsejaría a las personas que quieren comenzar a contribuir en Networking de OpenStack? ¿Qué pasos deben seguir específicamente?
A: El primer paso es obviamente unirse a la lista de correo de desarrollo de OpenStack. Te da una idea de los temas que los desarrolladores de OpenStack Networking están discutiendo.
El equipo de Networking de OpenStack también mantiene una página Wiki para bugs iniciales. En esa página mantenemos un seguimiento de enlaces simples para: Aquí está cómo encontrar las revisiones de código para el servidor de Networking de OpenStack o el cliente de Networking de OpenStack, etc. A medida que se reportan los bugs, etiquetaremos los más sencillos como fruta baja colgante, que son una excelente oportunidad para que nuevos desarrolladores y colaboradores se inicien en el proyecto.
Eso significa que quien esté clasificando los errores puede decir: “Oye, esto es algo que no es demasiado complicado y es una buena manera de familiarizarse con la base del código de OpenStack Networking.” También mantenemos una lista de proyectos comunitarios que serían buenos para empezar a trabajar. Al ser miembro de la lista de correo de OpenStack Networking, puedes reclutar a otros miembros de la comunidad y trabajar juntos. También se genera confianza dentro de la comunidad, de modo que aquellos que revisaron tu código trabajen contigo. Tienes un sentido de relación con ellos.
P: ¡Muchas gracias, Mark!
A: ¡De nada!