CROSSPLANE: ¿Mejor que terraform?

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 พ.ย. 2024
  • Hoy hablo de Crossplane, una nueva forma de manejar infraestructura usando manifiestos de Kubernetes. También hablo de las ventajas y desventajas vs Terraform y cuándo usar uno o el otro.
    Guia de Crossplane: crossplane.io/...
    --
    Repo con todos los archivos que uso: github.com/pab...
    Merchandising Pelado Nerd: merch.peladone...
    Micrófono: Rode VideoMicro + Zoom H1N
    Cámara: Sony A7 Mark III
    Lente: Sony 28-70mm 3.5
    Laptop: Macbook Pro 16'' 2019
    Puedes encontrar todos mis links en peladonerd.com

ความคิดเห็น • 68

  •  2 ปีที่แล้ว +35

    Creo que ambos pueden convivir. Por ejemplo terraform para crear la VPC, zonas de DNS, peering, API Gateway, clusters de k8s, etc. Y utilizar CrossPlane para cosas que tengan una relación más directa con cada servicio que mantienen los desarrolladores, un RDS de AWS, buckets u otros recursos que vayan a ser consumidos de forma directa por X servicio.

    • @AFPinerosG
      @AFPinerosG 2 ปีที่แล้ว +8

      De una vez les cuento algo con lo que se van a chocar cuando se vuelvan dependientes de Crossplane. Kubernetes está obsesionado con mantener el estado sincronizado, eso significa que tiene que hacer llamados constantemente a los APIs para ver cambios. Lamentablemente los APIs externos de los providers no funcionan como ETCD que tiene eventos, lo que significa que es necesario estar constantemente haciendo peticiones GET para validar estados.
      Qué significa esto? Que van a estar estallando todos sus APIs con llamadas entre más recursos tengan. Por ejemplo, el API de Cloudflare tiene un límite de llamadas, cuando tengan 10 clusters y 100 nombres de dominio en cada cluster, van a matar al API de Cloudflare. Y no van a poder hacer nada, sus clusters se van a quedar pegados intentando actualizar las cosas y validando los estados. Lo mismo les va a pasar con otros APIs, como Hashicorp Vault y otras cosas.
      Tengan mucho cuidado con Crossplane, la verdad es que los APIs no están hechos para validar estados de la forma que Kubernetes lo hace.
      Si quieren el mismo comportamiento con Terraform pues simplemente hagan que el Terraform escriba un K8s Secret con el name y el secret de la DB en el namespace de la aplicación que va a consumirla. YA. Así se soluciona ese problema que plantea el Pelao con Terraform y queda igual que los outputs de Crossplane. No van a perder la capacidad de hacer Terraform plan y no van a tener cosas pasando mágicamente en su infrastructura de PRODUCCIÓN porque alguien hizo un cambio por accidente y Crossplane fue a remediar el estado inmediatamente.
      No sé, me parece una herrramienta muy peligrosa.

    • @deavi666
      @deavi666 10 วันที่ผ่านมา

      ​@@AFPinerosG Interesante...

  • @badermaluff4119
    @badermaluff4119 2 ปีที่แล้ว +5

    Está muy bueno el video!! Muchas gracias!! Solo para aportar, HCL es basado en yaml por lo que la sintaxis de los archivos de configuración son similares a los de CrossPlane, aunque ciertamente HCL le agrega más poder el incluir un poco de lógica a la infra. Además no es necesario intervención manual para la aplicación de las configuraciones con la opción -auto-approve. Cómo lo dijeron en otro comentario creo que podrían coexistir perfectamente!!! Saludos de Paraguay!!

  • @Bioingtutu
    @Bioingtutu 2 ปีที่แล้ว +7

    Hola Peladooo, esta vez levanto la mano. Nosotros hacemos todo lo que explicaste en el ejemplo del rds de forma automatizada usando tf; y mucho mas. Nuestros devs solo llenan un form (values en yml) y surge la magia.

    • @JorgeMolas
      @JorgeMolas 2 ปีที่แล้ว

      Exacto los recursos los podes escalar desde el pipeline con un template

  • @javierzolotarchuk4066
    @javierzolotarchuk4066 2 ปีที่แล้ว +5

    Muy buen video y muy interesante lo de crossplane! Sin dudas cuando este más maduro va a ser una gran alternativa 🙂. Con respecto a lo que comentabas de que terraform no escala, creo que se debe más a una metodología de trabajo que a la tecnología. Por ej si el equipo de desarrollo es también el encargado de construir su infra con tf no estaria el problema 😉.
    Saludos desde Buenos Aires!

  • @DanielGomez-gv5xc
    @DanielGomez-gv5xc 2 ปีที่แล้ว

    Muy bueno!, en nuestro caso estamos usando Terraform, pero orquestamos con ECS, por lo que de momento no tengo la oportunidad de aplicar Crossplane je (Y que me suena algo rebuscado crear un cluster a partir de otro cluster, es como que estoy forzando a usar una tecnologia que no aplica en ese caso)
    Me parece muy copado el poder crear infra "On-demand" directo sobre Kubernetes, principalmente para a futuro poder tener más automatizado lo que son ambientes de desarrollo por servicio

  • @ramiroandresvidela6592
    @ramiroandresvidela6592 2 ปีที่แล้ว

    En algun trabajo anterior utilizabamos templates de terraform que implementabamos como un source, declarabamos los recursos en un repo utilizando estos templates y las configuraciones estaban en un repo aparte que se manejaba todo con terragrunt. Esto porque manejabamos el mismo script de terraform con la config de cada ambiente, y nuestro CICD se encargaba de ir moviendo las versiones entre ambientes. Es mucho laburo si el proyecto es chico, pero este es un unicornio y a la velocidad que crece, este tipo de herramientas te salvan las papas. Buen video

  • @sergiokaznowiecki575
    @sergiokaznowiecki575 2 ปีที่แล้ว +4

    Muy buena review. Me gustaría que hagas un video sobre cdk(aws), pros y contras que le ves. Ya que en mi caso lo vengo usando hace un tiempo, y todos los beneficios que mencionas de crossplane y terraform los trae resueltos de base

  • @eleeaz
    @eleeaz 2 ปีที่แล้ว +3

    Muy buena la review, no me quedo muy claro por qué lo llaman Infra como datos si en realidad tenés yamls y es como manejar un operador más de k8s, con sus CRDs etc.
    Saludos!

    • @PeladoNerd
      @PeladoNerd  2 ปีที่แล้ว +2

      Porque en lugar de escribir codigo escribís configuración

  • @arieldosk4671
    @arieldosk4671 2 ปีที่แล้ว +1

    Muy bueno pela! Quizas podrian convivir ambas, con terraform creas lo basico y principal (ej el primer cluster) y despues lo otro lo manejas con crossplane. No conocia esta herramienta y parece interesante la verdad.

  • @jorgeguerrero3547
    @jorgeguerrero3547 2 ปีที่แล้ว

    Brutal el vídeo! Muchas gracias. Estaría bien más videos sobre Terraform y como hacer CI/CD de forma segura y validación de los cambios sobre la Infra.

  • @pelasilveira6690
    @pelasilveira6690 2 ปีที่แล้ว

    Muy bueno viejo. Quedó a la espera del vídeo sobre crosshelicopter me pareció muy interesante ;)

  • @gonzaloherreragonzalez1737
    @gonzaloherreragonzalez1737 2 ปีที่แล้ว

    Buenisimo el video, justo estaba buscando nuevas herramientas/tecnologias para seguir evolucionando la forma de manejar la infra y arquitectura del trabajo!!!!! Un Saludo desde Chile Pablo!!!

  • @brunomanuelcavagnaroolcese9845
    @brunomanuelcavagnaroolcese9845 2 ปีที่แล้ว

    Hola Peladoo, me gusta mucho tu contenido, soy algo nuevo en Docker y Kubernetes, y estoy aprendiendo bastante con tus videos. ¿Qué opinas del uso de servicios serverless como AWS Fargate? ¿En que casos se debería usar, en lugar de administrar uno mismo la infraestructura? ¿Y cuando debería elegir el uso de serverless functions como Lambda, sobre el uso de containers?

  • @VictorFernandez-wf5lj
    @VictorFernandez-wf5lj 2 ปีที่แล้ว +1

    Muy interesante, en el caso de Azure, que diferencia hay entre crossplane y Azure service operator?

  • @nachogonzalez7539
    @nachogonzalez7539 2 ปีที่แล้ว +2

    Buen video!!! está bien conocer nuevas herramientas. Por cierto, ¿para cuando un video celebrando los 100k suscriptores? Felicidades

  • @AlejandroHidalgoL
    @AlejandroHidalgoL 2 ปีที่แล้ว

    Gracias Pablo. excelente comparativa. En lo personal prefiero TF por lo predictivo del resultado y el manejo de versiones.
    ¿¿Será posible que pudieras hacer algún video sobre Service Mesh (Istio / Linkerd) con un cluster K8S en modo autopilot (GCP)??? o alguna mejor alternativa para saber qué ocurre dentro del cluster con los ms??
    Muchas gracias nuevamente!

  • @cohandj
    @cohandj 2 ปีที่แล้ว

    increible tool, terraform tmb tiene una vision integral de la infra, como haces para bindear cosas entre si? ejemplo, un dns friendly para tu postgres.... por otro lado, que hace el operador para concilar cambios y/o destruir es algo que tambien hay que considerar y que terraform hace muy bien

  • @felipedev_
    @felipedev_ 2 ปีที่แล้ว

    Excelete herramienta, gracias nuevamente por compartir

  • @Ismaway94
    @Ismaway94 2 ปีที่แล้ว

    Geniales tus videos, muchas gracias!!
    Tengo una pregunta, es posible en raspberry pi 3 b, crear un servidor rtmp que recepciones una cámara con transmisor rtmp y luego recibirlo en OBS por una DNS de rtmp que me comuniqué con el servidor?

  • @Escabechada
    @Escabechada 2 ปีที่แล้ว

    muy bueno el vídeo pelardo. no conocía crossplane, lo probaré 😉

  • @mijhaelcastrociviero2848
    @mijhaelcastrociviero2848 2 ปีที่แล้ว

    Buen video pela! interesante crossplane!

  • @henrydavilam
    @henrydavilam 2 ปีที่แล้ว

    Buen contenido otra opcion para hacer deploy y en .yaml lo hace mas sencillo. Saludos

  • @jsgiraldoh
    @jsgiraldoh 2 ปีที่แล้ว

    Nos gustan bastante los videos de tecnología que se puede aplicar 👍🏻

  • @ricardoraulbascunandufau631
    @ricardoraulbascunandufau631 2 ปีที่แล้ว

    Seco Pelado!! gracias

  • @bryansanjuan3059
    @bryansanjuan3059 2 ปีที่แล้ว

    Esta muy bueno el uso de crossplane, pero tengo una duda como se diferencia habría en entre esta tecnología y Cloudformation que que todo se declara todos los servicios (en este caso AWS)!?

  • @javicarrara
    @javicarrara 2 ปีที่แล้ว

    Me gustó para ciertos casos de uso, pero no tiene nada que ver con terraform. Creo que no es comparable con terraform, porque tf tiene su lenguaje específico HCL, para poder hacer cosas complejas, dinámicas, mantenés el estado, podés importar recursos, incluso podés aprovisionar, correr scripts y hacer templating. Muy bueno el video. Saludos

  • @devtao
    @devtao 2 ปีที่แล้ว

    Podría ser infra como objeto ?

  • @algungonzalo
    @algungonzalo 2 ปีที่แล้ว

    Noooo recién estoy empezando a entender terraform, pelado! El enriedo de datos en crosshelicopter lo solucionás con un buen backup, no es para tanto.

  • @marceamx
    @marceamx 2 ปีที่แล้ว

    Tenes algun analisis de pulumi vs terraform...? :)

  • @IVANLUISLG
    @IVANLUISLG 2 ปีที่แล้ว

    buenaa, al final te mamaste, gracias por el video

  • @wfmc202
    @wfmc202 2 ปีที่แล้ว

    Buenos dias saludos

  • @sergiosaez1007
    @sergiosaez1007 2 ปีที่แล้ว

    El chiste final TOP 😂
    Además muy interesante el vídeo. Gracias!

  • @mrwakko5715
    @mrwakko5715 2 ปีที่แล้ว

    Hola Pelado y gracias por el video. Hay algo que no termino de comprender y he leido los comentarios y no he visto que te lo hayan preguntado: por que hablas de Terraform cuando AWS tiene su propio servicio de Infrastructure as Code que es CloudFormation? No termino de comprenderlo poque yo siempre he creido que quien interactue con AWS en este respecto sera utilizando su propio servicio CloudFormation y no Terraform. Gracias

    • @PeladoNerd
      @PeladoNerd  2 ปีที่แล้ว +1

      Terraform tiene muchas más funcionalidades, no solo es compatible con otros servicios (por ejemplo, con el mismo código podes interactuar con GCP y AWS e intercambiar información entre ellos) sino que terraform tiene más posibilidades en el código, la lógica puede ser más compleja

    • @mrwakko5715
      @mrwakko5715 2 ปีที่แล้ว

      @@PeladoNerd Gracias

  • @klapcincuenta
    @klapcincuenta 2 ปีที่แล้ว +2

    Terraform hace lo q vos decís q no hace, nuestra Infra corre así. Ojooo peladooo cuando quieras charlamos y te mostramos nuestro laburo

  • @h3ct0rjs
    @h3ct0rjs 2 ปีที่แล้ว

    También pienso que esto es lo que mencionaba Kelsey en su talk, pero realmente no creo que terraform desaparezca quizás coexistan cómo muchos mencionan

  • @quiubolecab
    @quiubolecab 2 ปีที่แล้ว

    Interesante video Pelado como siempre. Exagerando un poco, creo que la comunidad de kubernetes quiere kubernetizar hasta el proceso de abrir una puerta. En mi opinión terraform seguirá teniendo el mayor segmento de mercado en el terreno de provisionar recursos de nube por mucho tiempo. Saludos.

  • @ea_stus
    @ea_stus 2 ปีที่แล้ว

    Pela! Te olvidaste de poner la intro cuando haces el chasquido de dedos. Mucho muy importante que necesitabamos.

    • @PeladoNerd
      @PeladoNerd  2 ปีที่แล้ว +1

      AJajaja me acabo de fijar y chasquié los dedos y despues dije vamos, deberia haber sido sin el "vamos"

  • @joseluiscruz5847
    @joseluiscruz5847 2 ปีที่แล้ว

    Vamos a tener que probar crosshelicopter a ver que tal 😂

  • @jimmyadaro
    @jimmyadaro 2 ปีที่แล้ว

    Espectaculaaarrrrr

  • @ChristianAltamiranoAyala
    @ChristianAltamiranoAyala 2 ปีที่แล้ว +3

    No me gusta la idea de que dependa de un k8s.

  • @LaVidaEnUnaGota
    @LaVidaEnUnaGota 2 ปีที่แล้ว

    Muy buen video, prefiero terraform, la infra en una gestion automatica me da miedo.

  • @diegobianqui2845
    @diegobianqui2845 2 ปีที่แล้ว

    pela, que pensas de pulumi?

    • @PeladoNerd
      @PeladoNerd  2 ปีที่แล้ว +2

      Es más complejo que terraform, podes usar tu propio lenguaje por lo que lo hace más poderoso. Pero tal vez sea más difícil de aprender o usar para aquellos que quieran hacer cosas simples

  •  2 ปีที่แล้ว +1

    Para mi Crossplane por lo que explicas, no tiene manera de desbancar a terraform... y el motivo principal es que no todo el mundo usa kubernetes. Por ejemplo, en mi empresa la política es de serverless first, casi todas nuestras aplicaciones utilizan lambda, algunas fargate, y muy pocas EKS... con terraform no tienes problemas para usarlo en ninguno de los escenarios.
    Aparte, terraform te permite sobre todo (muy importante para mí) crear módulos reutilizables y añadir cierta lógica (condicionales, bucles) a tus despliegues...
    De momento para mi no hay color...

  • @afutse
    @afutse 2 ปีที่แล้ว

    Muy bueno, puedes comentar sobre otras alternativas a terraform como pulumi. slds

  • @Takigatita9739
    @Takigatita9739 ปีที่แล้ว

    Hasta que Platzi te compró jejejeje

  • @h3ct0rjs
    @h3ct0rjs 2 ปีที่แล้ว

    Creo que la parte que menciona que la parte de terraform es manual esto realmente va a depender del workflow que tenga cada equipo, no lo sé Rick 🤔

  • @killbites4fun
    @killbites4fun 2 ปีที่แล้ว

    Soy un adelantado, odié Terraform antes de aprender qué era y me sigue haciendo ruido aprenderlo, ¿qué sentido tiene con tantos operadores últimamente?

  • @reydavid7300
    @reydavid7300 2 ปีที่แล้ว

    Pelado, has escuchado o leido sobre pulumi? Es parecido a lo que comentas de crossplane, resuelve los secretos sin interaccion humana. Ademas soporta el lenguaje que quieras python, go, javascript lo cual es mas cercano al desarrollador que el podrido yaml, y ademas si te da el preview! Honestamente con lo que hablas veo que pulumi resuelve mas cosas y es mas flexible que crossplane y terraform

    • @PeladoNerd
      @PeladoNerd  2 ปีที่แล้ว

      Si, la idea es que los desarrolladores no tengan que escribir codigo, ya que es lento (incluso tal vez mas lento) que terraform

  • @sergiobarrientos3725
    @sergiobarrientos3725 2 ปีที่แล้ว

    sumo a Kubeform como una alternativa, pero no lo he probado

  • @cacharreronato
    @cacharreronato 2 ปีที่แล้ว +2

    Ummm mejor que terraform sería muy clickbait, porque sin infra no hay k8s, sin k8s no hay crossplane... por tanto?

  • @martinvillalba5000
    @martinvillalba5000 2 ปีที่แล้ว

    ese final jajajajaaj

  • @pabloarismendi407
    @pabloarismendi407 2 ปีที่แล้ว

    QUEREMOS QUE VUELVA VAQUITA A LOS VIDEOS!!!!!

  • @devtao
    @devtao 2 ปีที่แล้ว

    Ahshahahhahahshahahha cmamo con el helicóptero

  • @dreadlordnitsuga2
    @dreadlordnitsuga2 2 ปีที่แล้ว

    Por qué el hate con Terraform?

  • @matc8085
    @matc8085 8 หลายเดือนก่อน

    Creo que pulumi es mejor

  • @miguelmonteiro7898
    @miguelmonteiro7898 8 หลายเดือนก่อน

    el titulo del video es ridiculo...

  • @imjavierpalma
    @imjavierpalma 2 ปีที่แล้ว

    Hola, Pelado. Cuando quiero crear el AWS keyfile me sale esto en mi terminal.
    fish: Unsupported use of '='. In fish, please use 'set AWS_PROFILE default'
    Luego lo cambie a esto.
    set AWS_PROFILE default && echo -e "[default]
    aws_access_key_id = $(aws configure get aws_access_key_id --profile $AWS_PROFILE)
    aws_secret_access_key = $(aws configure get aws_secret_access_key --profile $AWS_PROFILE)" > creds.conf
    Cuando corri esto me sale este mensaje.
    AWS_PROFfish: $(...) is not supported. In fish, please use '(aws)'.
    set AWS_PROFILE default && echo -e "[default]
    aws_access_key_id = $(aws configure get aws_access_key_id --profile AWS_PROFILE)
    aws_secret_access_key = $(aws configure get aws_secret_access_key --profile AWS_PROFILE)" >creds.conf

    • @imjavierpalma
      @imjavierpalma 2 ปีที่แล้ว

      Ya lo arregle. En vez de instalar AWS (Default VPC) instale AWS (Default New).