Desde su última aparición en el Radar, la adopción de Crossplane ha seguido creciendo, especialmente para extender los clústeres de Kubernetes. En nuestra experiencia, Crossplane destaca en casos de uso específicos más que como una herramienta general de infraestructura como código (IaC). Nuestras observaciones anteriores siguen siendo válidas: Crossplane funciona mejor como complemento de las cargas de trabajo desplegadas dentro de Kubernetes, no como un reemplazo completo de herramientas como Terraform. Los equipos que apostaron por usar Crossplane como su solución principal de IaC a menudo enfrentaron dificultades, mientras que aquellos que lo emplearon de manera pragmática, en casos personalizados y puntuales, obtuvieron buenos resultados. Delegar la gestión del ciclo de vida de los recursos a Crossplane y utilizar las API de XRD para personalizaciones ligeras ha resultado especialmente eficaz. Crossplane es particularmente valioso para gestionar recursos cuyo ciclo de vida es simple pero no nativo de Kubernetes. Si bien ahora puede crear clústeres de Kubernetes, una capacidad que antes no tenía, recomendamos precaución al adoptarlo como sustituto total de Terraform. En nuestra experiencia, Crossplane ofrece mejores resultados cuando IaC actúa como capa base y Crossplane se utiliza encima para cubrir necesidades especializadas.
Crossplane es otra entrada en la clase de herramientas implementadas por el Patrón Operador en Kubernetes pero con efectos secundarios que van más allá del clúster de Kubernetes. En nuestro último Radar mencionamos Kube-managed cloud services como una técnica, y Crossplane hace justamente eso. La idea es aprovechar el plano de control de Kubernetes para proporcionar los servicios en la nube de los que depende tu despliegue, incluso si no están desplegados en el propio clúster. Algunos ejemplos son instancias de bases de datos administradas, balanceadores de carga o políticas de control de acceso. La herramienta es destacable por dos razones. La primera, demuestra el potente y flexible entorno de ejecución del plano de control subyacente de Kubernetes. No existe un límite real al rango de recursos personalizados soportados. Segundo, Crossplane provee una alternativa a las opciones habituales de uso de Terraform, CDK o Pulumi. Crossplane viene con un conjunto de proveedores predefinidos para los principales servicios en la nube que cubren los aprovisionamientos más comunes. No intenta ser una herramienta de infraestructura como código (IaC) de propósito general, sino más bien un complemento de las cargas de trabajo que se despliegan en Kubernetes. A menudo asociado con la práctica de GitOps, Crossplane se mantiene por sí solo y permite permanecer dentro del ecosistema de Kubernetes cuando sea necesario administrar los recursos externos de la nube. Sin embargo, Crossplane no ayuda con aprovisionamiento a Kubernetes propiamente; necesitará al menos otra herramienta IaC para iniciar el clúster.