La mejor respuesta
Entonces, para responder a esta pregunta: Primero, todos los servicios de OpenStack utilizan API RESTful que le permiten conectar y usar sus propias tecnologías de backend. Por ejemplo, puede usar tecnologías de red específicas del proveedor como Open vSwitch, Cisco Nexus1000v, Nuage Networks, etc. Las API RESTful de Neutron (el servicio de red para OpenStack) usa una API junto con complementos del proveedor para hablar sobre la tecnología de backend real que se está utilizando. . Por ejemplo, Open vSwitch y las otras tecnologías de red mencionadas anteriormente. Otros ejemplos pueden ser el servicio de almacenamiento en bloque conocido como Cinder. Cinder es la API que se comunica con la tecnología de almacenamiento en bloque real que desea utilizar en el back-end, como NetApp, soluciones de almacenamiento de EMC o incluso simplemente sistemas de archivos básicos de Linux.
Así que ahora llegamos a la pregunta de cómo OpenStack usa KVM. El servicio de cómputo para OpenStack, que administra las máquinas virtuales en su entorno, es el servicio que también usa como una API que puede comunicarse con cualquier hipervisor backend que desee usar. Como lo mencionaron otros aquí, puede ser Xen, ESXi de VMWare, etc. KVM es un hipervisor de código abierto completo que puede administrar máquinas virtuales. También es la solución más adaptada y utilizada para computación en OpenStack. Entonces, en pocas palabras, los servicios y las API de Nova se comunican con el hipervisor KVM para iniciar, detener y aprovisionar instancias de máquinas virtuales en su nube OpenStack.
Respuesta
Depende de el papel de la persona que lo aprende. También es una aplicación en evolución, lo que significa que debe mantenerse al día, ya que podría tener cambios de tamaño decentes cada 6 meses.
Usuario final: probablemente no le llevará mucho tiempo, ya que solo tiene que aprender algunos conceptos que puede diferir de lo que está acostumbrado. ¿Ha utilizado AWS o cualquier otra nube basada en CLI que funcione con una API? Si es así, eso reduce el tiempo aún más, ya que solo está cambiando la sintaxis para obtener los mismos resultados (en su mayor parte).
Administrador: lo consideraría alguien que podría solucionar problemas y, de hecho, solucionar problemas de servicios. Ahora, aquí es donde se pone difícil. ¿De cuántos servicios eres administrador? Si eras como yo, tenías que gestionarlo todo. Solo hay una cierta profundidad a la que puede llegar si tiene que trabajar con todos los servicios. El tiempo que me llevó ser lo suficientemente bueno para conseguir un trabajo en el mercado relacionado con OpenStack fue de alrededor de 6 meses a un año. alrededor de Grizzly y sabía más sobre lo que estaba haciendo en Havana.
Arquitecto: una vez más, ¿con cuántos servicios estás trabajando realmente?
Ahora, diciendo todo eso, nada de qué Aprendí que incluso incluía algo en HA porque la mayoría de las organizaciones todavía estaban trabajando en cómo hacerlo correctamente. Me tomó un par de meses más ver problemas reales para comenzar a profundizar más con servicios como Neutron. RabbitMQ era un agujero negro antes de que yo consiguió un trabajo relacionado con OpenStack que vio grandes instalaciones.
Es una pregunta realmente complicada. La mayor parte depende del rol que planea desempeñar, así como de su base de conocimientos actual relacionada con el hipervisor que va a utilizar y la red.
Lo más rápido que he visto a alguien aprenderlo es en unas pocas semanas, pero era alguien con una base de conocimientos muy grande relacionada con sistemas distribuidos. El más largo es … bueno, algunas personas simplemente nunca aprenden porque eso no es realmente lo que querían hacer al principio.