SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
PREPARÁNDONOS PARA


UN MUNDO MULTI CLOUD
CON CROSSPLANE.IO


MAURICIO SALATINO


KUBERNETES COMMUNITY DAYS SPAIN 2021
@SALABOY


(MAURICIO SALATINO)


HTTP://SALABOY.COM
DESARROLLADOR


(DESEMPLEADO PERO CONTRIBUYENDO A OSS)


INSTRUCTOR DE KUBERNETES @LEARNK8S
AGENDA
• Porque Multi-Cloud?


• Aplicaciones Cloud Native y sus complicaciones


• Crossplane


• Como funciona?


• Cuando usarlo?
PORQUE MULTI-CLOUD?
• Evitar una relación de dependencia con un Cloud Provider


• Queremos usar tecnologias especi
fi
cas de cada Cloud


• Fusion de multiple empresas


• Industrias intensamente reguladas


• Mercados internacionales
PORQUE MULTI-CLOUD?
• Otras razones:


• Estas construyendo to plataforma SaaS (interna/externa)?


• Eres un proveedor de componentes software?


• Aplicaciones complejas y sus dependencias con infraestructura
DIMENSIONES MULTI-CLOUD


(NO ES UNA DECISION BINARIA)
• Hashicorp De
fi
nitions: https://www.hashicorp.com/resources/the-
many-de
fi
nitions-of-multi-cloud-and-their-implications


• Workload Portability: que tan fácil es de correr en otro proveedor


• Work
fl
ow Portability: que tan fácil es desplegar en otro proveedor


• Data Portability: que tan fácil es replicar datos


• Traf
fi
c Portability: que tan fácil es migrar tra
fi
co sin afectar al cliente
DIMENSIONES MULTI-CLOUD


(NO ES UNA DECISION BINARIA)
• Workload Portability


• Work
fl
ow Portability


• Data Portability


• Traf
fi
c Portability
UNA APLICACIÓN CLOUD-NATIVE SIMPLE
UNA APLICACIÓN CLOUD-NATIVE SIMPLE
• Containers en Kubernetes, nada nuevo


• Los Servicios se comunican via REST


• Si te gusta Helm, puedes agrupar los servicios en un Chart


• https://github.com/salaboy/fmtok8s-app
DESAFIOS
• Dependencias


• Base de datos, Mensajeria, Caches, etc.


• Opciones


• Helm puede ayudar -> pero hay que mantener estos componentes


• Especi
fi
co de cada Cloud Provider -> Dependencia fuerte


• Terraform y otras herramientas (IaC) -> Imperativas, aprender otras
herramientas
DESAFIOS CLOUD-NATIVE
QUE ES CROSSPLANE?
• Un proyecto que esta en sandbox de CNCF (cerca de incubation)


• Provee una capa de abstracción para trabajar con distintos Cloud
Providers


• Extiende las APIs de Kubernetes permitiéndonos crear infraestructura
de manera declarativa
COMO FUNCIONA?
• De
fi
ne el concepto de Provider


• GCP, AWS, Azure, etc.


• Cada provider de
fi
ne los servicios (recursos) que provee de manera
declarativa


• De
fi
ne el concepto de ManagedResource y ManagedResourceDe
fi
nition


• Crossplane va a reconciliar estos recursos creados en los providers de
manera continua
EJEMPLO PROVIDER
• Google Cloud Platform (GCP)


• `kubectl get providers.pkg.crossplane.io`


• `kubectl get providercon
fi
gs.gcp.crossplane.io`
EJEMPLO MANAGED RESOURCE
• PostgreSQL en GCP, representa una interface simple


• `kubectl get crd |grep gcp.crossplane.io`
MANAGED RESOURCE NOS BRINDAN
• Estos recursos representan uno-a-uno los recursos creados en un cloud provider


• Algunas características especiales porque estamos tratando con infraestructura


• Reconciliación continua


• Propiedades Inmutables


• Políticas de borrado (Deletion Policies)


• Nombres Externos


• Manejo de dependencias


• Podemos importar de recursos no creados por Crossplane


• Backup con herramientas de Kubernetes
EXTRAS
• Agregaciones / CompositeResources (XR & XRD)


• Distintos Roles: InfraOps y AppOps
EXTRAS
• Paquetes (Packages)


• Provider Packages (GCP)


• Con
fi
guration Packages -> Nuestras composiciones


• Entienden Upgrades y versiones


• Instalan y manejan CRDs
PREGUNTAS?
@SALABOY

Más contenido relacionado

La actualidad más candente

Microservicios sobre tecnologías Pivotal y VMware
Microservicios sobre tecnologías Pivotal y VMwareMicroservicios sobre tecnologías Pivotal y VMware
Microservicios sobre tecnologías Pivotal y VMwareAntonio Gallego
 
105Apps Genexus en la Nube de Montevideo COMM Powered by Openshift
105Apps Genexus en la Nube de Montevideo COMM Powered by Openshift105Apps Genexus en la Nube de Montevideo COMM Powered by Openshift
105Apps Genexus en la Nube de Montevideo COMM Powered by OpenshiftGeneXus
 
Arquitectura de microservicios
Arquitectura de microserviciosArquitectura de microservicios
Arquitectura de microserviciosFelix Liberio
 
Presentacion OpenShift by RedHat
Presentacion OpenShift by RedHatPresentacion OpenShift by RedHat
Presentacion OpenShift by RedHatJosé Pino
 
Azure Bootcamp Como montar una arquitectura Serverless y aprovechar Azure
Azure Bootcamp Como montar una arquitectura Serverless y aprovechar AzureAzure Bootcamp Como montar una arquitectura Serverless y aprovechar Azure
Azure Bootcamp Como montar una arquitectura Serverless y aprovechar AzureAdrian Diaz Cervera
 
Web App Container
Web App ContainerWeb App Container
Web App ContainerCDS
 
Santiago de Chile - Seguridad Continua en Cloud Computing
Santiago de Chile - Seguridad Continua en Cloud ComputingSantiago de Chile - Seguridad Continua en Cloud Computing
Santiago de Chile - Seguridad Continua en Cloud ComputingWalter Vargas
 

La actualidad más candente (10)

Microservicios sobre tecnologías Pivotal y VMware
Microservicios sobre tecnologías Pivotal y VMwareMicroservicios sobre tecnologías Pivotal y VMware
Microservicios sobre tecnologías Pivotal y VMware
 
105Apps Genexus en la Nube de Montevideo COMM Powered by Openshift
105Apps Genexus en la Nube de Montevideo COMM Powered by Openshift105Apps Genexus en la Nube de Montevideo COMM Powered by Openshift
105Apps Genexus en la Nube de Montevideo COMM Powered by Openshift
 
Lemoncode github actions
Lemoncode   github actionsLemoncode   github actions
Lemoncode github actions
 
Kubernetes workshop
Kubernetes workshopKubernetes workshop
Kubernetes workshop
 
Arquitectura de microservicios
Arquitectura de microserviciosArquitectura de microservicios
Arquitectura de microservicios
 
Presentacion OpenShift by RedHat
Presentacion OpenShift by RedHatPresentacion OpenShift by RedHat
Presentacion OpenShift by RedHat
 
Azure Bootcamp Como montar una arquitectura Serverless y aprovechar Azure
Azure Bootcamp Como montar una arquitectura Serverless y aprovechar AzureAzure Bootcamp Como montar una arquitectura Serverless y aprovechar Azure
Azure Bootcamp Como montar una arquitectura Serverless y aprovechar Azure
 
Fury DevopsConf 2015
Fury DevopsConf 2015Fury DevopsConf 2015
Fury DevopsConf 2015
 
Web App Container
Web App ContainerWeb App Container
Web App Container
 
Santiago de Chile - Seguridad Continua en Cloud Computing
Santiago de Chile - Seguridad Continua en Cloud ComputingSantiago de Chile - Seguridad Continua en Cloud Computing
Santiago de Chile - Seguridad Continua en Cloud Computing
 

Similar a Kubernetes Community Day Spain -> Crossplane

Cloud Native en Azure impartido en Microsoft Madrid y Barcelona
 Cloud Native en Azure impartido en Microsoft Madrid y Barcelona Cloud Native en Azure impartido en Microsoft Madrid y Barcelona
Cloud Native en Azure impartido en Microsoft Madrid y BarcelonaSanti Macias Rodriguez
 
Automatización del despliegue de aplicaciones multi cloud
Automatización del despliegue de aplicaciones multi cloudAutomatización del despliegue de aplicaciones multi cloud
Automatización del despliegue de aplicaciones multi cloudSoftware Guru
 
Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker Eduardo Castro
 
Cloud Native en Azure Webinar atSistemas
Cloud Native en Azure Webinar atSistemasCloud Native en Azure Webinar atSistemas
Cloud Native en Azure Webinar atSistemasSanti Macias Rodriguez
 
Webinar: Descubre los diferentes servicios Cloud Native en Azure
Webinar: Descubre los diferentes servicios Cloud Native en AzureWebinar: Descubre los diferentes servicios Cloud Native en Azure
Webinar: Descubre los diferentes servicios Cloud Native en AzureatSistemas
 
Commit conf arquitectura-microservicios_v1.0
Commit conf  arquitectura-microservicios_v1.0Commit conf  arquitectura-microservicios_v1.0
Commit conf arquitectura-microservicios_v1.0Alfredo García Lavilla
 
Derribando la torre de marfil - Plain Concepts Dev Day
Derribando la torre de marfil - Plain Concepts Dev DayDerribando la torre de marfil - Plain Concepts Dev Day
Derribando la torre de marfil - Plain Concepts Dev DayPlain Concepts
 
Contenedores y el Futuro del Despliegue de Aplicaciones
Contenedores y el Futuro del Despliegue de AplicacionesContenedores y el Futuro del Despliegue de Aplicaciones
Contenedores y el Futuro del Despliegue de AplicacionesBitnami
 
[Evento] Microsoft Azure | Azure Compute: una mirada en 360°
[Evento] Microsoft Azure | Azure Compute: una mirada en 360°[Evento] Microsoft Azure | Azure Compute: una mirada en 360°
[Evento] Microsoft Azure | Azure Compute: una mirada en 360°Pablo Ariel Di Loreto
 
Multi hybrid-cloud-fundamentals v4
Multi hybrid-cloud-fundamentals v4Multi hybrid-cloud-fundamentals v4
Multi hybrid-cloud-fundamentals v4Luis Merino Troncoso
 
1 la arquitectura cloud computing
1 la arquitectura cloud computing1 la arquitectura cloud computing
1 la arquitectura cloud computingOmega Peripherals
 
1 la arquitectura cloud computing
1   la arquitectura cloud computing1   la arquitectura cloud computing
1 la arquitectura cloud computingOmega Peripherals
 

Similar a Kubernetes Community Day Spain -> Crossplane (20)

Cloud Native en Azure impartido en Microsoft Madrid y Barcelona
 Cloud Native en Azure impartido en Microsoft Madrid y Barcelona Cloud Native en Azure impartido en Microsoft Madrid y Barcelona
Cloud Native en Azure impartido en Microsoft Madrid y Barcelona
 
El camino de Java a Kubernetes
El camino de Java a KubernetesEl camino de Java a Kubernetes
El camino de Java a Kubernetes
 
Automatización del despliegue de aplicaciones multi cloud
Automatización del despliegue de aplicaciones multi cloudAutomatización del despliegue de aplicaciones multi cloud
Automatización del despliegue de aplicaciones multi cloud
 
Terraform Ansible v3.0
Terraform Ansible v3.0Terraform Ansible v3.0
Terraform Ansible v3.0
 
Descubriendo windows azure
Descubriendo windows azureDescubriendo windows azure
Descubriendo windows azure
 
Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker
 
Cloud Native en Azure Webinar atSistemas
Cloud Native en Azure Webinar atSistemasCloud Native en Azure Webinar atSistemas
Cloud Native en Azure Webinar atSistemas
 
Webinar: Descubre los diferentes servicios Cloud Native en Azure
Webinar: Descubre los diferentes servicios Cloud Native en AzureWebinar: Descubre los diferentes servicios Cloud Native en Azure
Webinar: Descubre los diferentes servicios Cloud Native en Azure
 
Commit conf arquitectura-microservicios_v1.0
Commit conf  arquitectura-microservicios_v1.0Commit conf  arquitectura-microservicios_v1.0
Commit conf arquitectura-microservicios_v1.0
 
Kubernetes para developers
Kubernetes para developersKubernetes para developers
Kubernetes para developers
 
Derribando la torre de marfil - Plain Concepts Dev Day
Derribando la torre de marfil - Plain Concepts Dev DayDerribando la torre de marfil - Plain Concepts Dev Day
Derribando la torre de marfil - Plain Concepts Dev Day
 
Cloud Native Development in the JVM
Cloud Native Development in the JVMCloud Native Development in the JVM
Cloud Native Development in the JVM
 
Contenedores y el Futuro del Despliegue de Aplicaciones
Contenedores y el Futuro del Despliegue de AplicacionesContenedores y el Futuro del Despliegue de Aplicaciones
Contenedores y el Futuro del Despliegue de Aplicaciones
 
[Evento] Microsoft Azure | Azure Compute: una mirada en 360°
[Evento] Microsoft Azure | Azure Compute: una mirada en 360°[Evento] Microsoft Azure | Azure Compute: una mirada en 360°
[Evento] Microsoft Azure | Azure Compute: una mirada en 360°
 
Multi hybrid-cloud-fundamentals v4
Multi hybrid-cloud-fundamentals v4Multi hybrid-cloud-fundamentals v4
Multi hybrid-cloud-fundamentals v4
 
1 la arquitectura cloud computing
1 la arquitectura cloud computing1 la arquitectura cloud computing
1 la arquitectura cloud computing
 
Practical Spring Cloud
Practical Spring CloudPractical Spring Cloud
Practical Spring Cloud
 
Desarrollo moderno con DevOps y Cloud Native
Desarrollo moderno con DevOps y Cloud NativeDesarrollo moderno con DevOps y Cloud Native
Desarrollo moderno con DevOps y Cloud Native
 
1 la arquitectura cloud computing
1   la arquitectura cloud computing1   la arquitectura cloud computing
1 la arquitectura cloud computing
 
Autobuses de Madrid en tiempo real con Azure Relay
Autobuses de Madrid en tiempo real con Azure RelayAutobuses de Madrid en tiempo real con Azure Relay
Autobuses de Madrid en tiempo real con Azure Relay
 

Más de Mauricio (Salaboy) Salatino

Lessons Learnt from creating platforms on Kubernetes @ Rejekts
Lessons Learnt from creating platforms on Kubernetes @ RejektsLessons Learnt from creating platforms on Kubernetes @ Rejekts
Lessons Learnt from creating platforms on Kubernetes @ RejektsMauricio (Salaboy) Salatino
 
Building Developer Experiences for the Cloud .pdf
Building Developer Experiences for the Cloud .pdfBuilding Developer Experiences for the Cloud .pdf
Building Developer Experiences for the Cloud .pdfMauricio (Salaboy) Salatino
 
KUBEDAY - JAPAN 2022 - Building FaaS Platforms.pdf
KUBEDAY - JAPAN  2022 - Building FaaS Platforms.pdfKUBEDAY - JAPAN  2022 - Building FaaS Platforms.pdf
KUBEDAY - JAPAN 2022 - Building FaaS Platforms.pdfMauricio (Salaboy) Salatino
 
The Challenges of building Cloud Native Platforms
The Challenges of building Cloud Native PlatformsThe Challenges of building Cloud Native Platforms
The Challenges of building Cloud Native PlatformsMauricio (Salaboy) Salatino
 
Functions Working Group Update - August 2022.pdf
Functions Working Group Update - August 2022.pdfFunctions Working Group Update - August 2022.pdf
Functions Working Group Update - August 2022.pdfMauricio (Salaboy) Salatino
 
Expanding Interoperability in the CD ecosystem - CDCon - Austin, TX - 2022
Expanding Interoperability in the CD ecosystem - CDCon - Austin, TX -  2022 Expanding Interoperability in the CD ecosystem - CDCon - Austin, TX -  2022
Expanding Interoperability in the CD ecosystem - CDCon - Austin, TX - 2022 Mauricio (Salaboy) Salatino
 
Spring I/O 2022: Knative and Spring - Bringing back the `func`
Spring I/O 2022: Knative and Spring - Bringing back the `func`Spring I/O 2022: Knative and Spring - Bringing back the `func`
Spring I/O 2022: Knative and Spring - Bringing back the `func`Mauricio (Salaboy) Salatino
 
Knative Maintainers KubeConEU 22 Knative Overview and Update
Knative Maintainers KubeConEU 22 Knative Overview and UpdateKnative Maintainers KubeConEU 22 Knative Overview and Update
Knative Maintainers KubeConEU 22 Knative Overview and UpdateMauricio (Salaboy) Salatino
 
CDEventsCon Expanding Interoperability in the CD ecosystem
CDEventsCon Expanding Interoperability in the CD ecosystemCDEventsCon Expanding Interoperability in the CD ecosystem
CDEventsCon Expanding Interoperability in the CD ecosystemMauricio (Salaboy) Salatino
 
A Polyglot Developer Experience on Kubernetes - KubeCon EU Valencia
A Polyglot Developer Experience on Kubernetes - KubeCon EU ValenciaA Polyglot Developer Experience on Kubernetes - KubeCon EU Valencia
A Polyglot Developer Experience on Kubernetes - KubeCon EU ValenciaMauricio (Salaboy) Salatino
 
KCD Guatemala - Abstracciones sobre Abstracciones
KCD Guatemala - Abstracciones sobre AbstraccionesKCD Guatemala - Abstracciones sobre Abstracciones
KCD Guatemala - Abstracciones sobre AbstraccionesMauricio (Salaboy) Salatino
 
KubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS Offering
KubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS OfferingKubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS Offering
KubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS OfferingMauricio (Salaboy) Salatino
 
Cloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
Cloud Native Islamabad - Getting Closer to Continuous Delivery with KnativeCloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
Cloud Native Islamabad - Getting Closer to Continuous Delivery with KnativeMauricio (Salaboy) Salatino
 

Más de Mauricio (Salaboy) Salatino (20)

Devoxx UK - Platforms on top of K8s
Devoxx UK - Platforms on top of K8sDevoxx UK - Platforms on top of K8s
Devoxx UK - Platforms on top of K8s
 
WTF_is_SRE_DeveloperEnabledPlatforms.pdf
WTF_is_SRE_DeveloperEnabledPlatforms.pdfWTF_is_SRE_DeveloperEnabledPlatforms.pdf
WTF_is_SRE_DeveloperEnabledPlatforms.pdf
 
Lessons Learnt from creating platforms on Kubernetes @ Rejekts
Lessons Learnt from creating platforms on Kubernetes @ RejektsLessons Learnt from creating platforms on Kubernetes @ Rejekts
Lessons Learnt from creating platforms on Kubernetes @ Rejekts
 
Building Developer Experiences for the Cloud .pdf
Building Developer Experiences for the Cloud .pdfBuilding Developer Experiences for the Cloud .pdf
Building Developer Experiences for the Cloud .pdf
 
KUBEDAY - JAPAN 2022 - Building FaaS Platforms.pdf
KUBEDAY - JAPAN  2022 - Building FaaS Platforms.pdfKUBEDAY - JAPAN  2022 - Building FaaS Platforms.pdf
KUBEDAY - JAPAN 2022 - Building FaaS Platforms.pdf
 
The Challenges of building Cloud Native Platforms
The Challenges of building Cloud Native PlatformsThe Challenges of building Cloud Native Platforms
The Challenges of building Cloud Native Platforms
 
Functions Working Group Update - August 2022.pdf
Functions Working Group Update - August 2022.pdfFunctions Working Group Update - August 2022.pdf
Functions Working Group Update - August 2022.pdf
 
JBCNConf 2022: Go vs Java (Kubernetes)
JBCNConf 2022: Go vs Java (Kubernetes)JBCNConf 2022: Go vs Java (Kubernetes)
JBCNConf 2022: Go vs Java (Kubernetes)
 
Expanding Interoperability in the CD ecosystem - CDCon - Austin, TX - 2022
Expanding Interoperability in the CD ecosystem - CDCon - Austin, TX -  2022 Expanding Interoperability in the CD ecosystem - CDCon - Austin, TX -  2022
Expanding Interoperability in the CD ecosystem - CDCon - Austin, TX - 2022
 
Spring I/O 2022: Knative and Spring - Bringing back the `func`
Spring I/O 2022: Knative and Spring - Bringing back the `func`Spring I/O 2022: Knative and Spring - Bringing back the `func`
Spring I/O 2022: Knative and Spring - Bringing back the `func`
 
KnativeCon 2022 - Knative Functions
KnativeCon 2022 - Knative FunctionsKnativeCon 2022 - Knative Functions
KnativeCon 2022 - Knative Functions
 
Knative Maintainers KubeConEU 22 Knative Overview and Update
Knative Maintainers KubeConEU 22 Knative Overview and UpdateKnative Maintainers KubeConEU 22 Knative Overview and Update
Knative Maintainers KubeConEU 22 Knative Overview and Update
 
CDEventsCon Expanding Interoperability in the CD ecosystem
CDEventsCon Expanding Interoperability in the CD ecosystemCDEventsCon Expanding Interoperability in the CD ecosystem
CDEventsCon Expanding Interoperability in the CD ecosystem
 
A Polyglot Developer Experience on Kubernetes - KubeCon EU Valencia
A Polyglot Developer Experience on Kubernetes - KubeCon EU ValenciaA Polyglot Developer Experience on Kubernetes - KubeCon EU Valencia
A Polyglot Developer Experience on Kubernetes - KubeCon EU Valencia
 
Pave the Golden Path On Your Internal Platform
Pave the Golden Path On Your Internal PlatformPave the Golden Path On Your Internal Platform
Pave the Golden Path On Your Internal Platform
 
Knative and Spring - Bringing back the func.pdf
Knative and Spring - Bringing back the func.pdfKnative and Spring - Bringing back the func.pdf
Knative and Spring - Bringing back the func.pdf
 
KCD Guatemala - Abstracciones sobre Abstracciones
KCD Guatemala - Abstracciones sobre AbstraccionesKCD Guatemala - Abstracciones sobre Abstracciones
KCD Guatemala - Abstracciones sobre Abstracciones
 
KubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS Offering
KubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS OfferingKubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS Offering
KubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS Offering
 
Cloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
Cloud Native Islamabad - Getting Closer to Continuous Delivery with KnativeCloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
Cloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
 
Keptn Meetup Interoperable ci/cd ecosystem
Keptn Meetup Interoperable ci/cd ecosystemKeptn Meetup Interoperable ci/cd ecosystem
Keptn Meetup Interoperable ci/cd ecosystem
 

Kubernetes Community Day Spain -> Crossplane

  • 1.
  • 2. PREPARÁNDONOS PARA UN MUNDO MULTI CLOUD CON CROSSPLANE.IO MAURICIO SALATINO KUBERNETES COMMUNITY DAYS SPAIN 2021
  • 3. @SALABOY (MAURICIO SALATINO) HTTP://SALABOY.COM DESARROLLADOR (DESEMPLEADO PERO CONTRIBUYENDO A OSS) INSTRUCTOR DE KUBERNETES @LEARNK8S
  • 4. AGENDA • Porque Multi-Cloud? • Aplicaciones Cloud Native y sus complicaciones • Crossplane • Como funciona? • Cuando usarlo?
  • 5. PORQUE MULTI-CLOUD? • Evitar una relación de dependencia con un Cloud Provider • Queremos usar tecnologias especi fi cas de cada Cloud • Fusion de multiple empresas • Industrias intensamente reguladas • Mercados internacionales
  • 6. PORQUE MULTI-CLOUD? • Otras razones: • Estas construyendo to plataforma SaaS (interna/externa)? • Eres un proveedor de componentes software? • Aplicaciones complejas y sus dependencias con infraestructura
  • 7. DIMENSIONES MULTI-CLOUD (NO ES UNA DECISION BINARIA) • Hashicorp De fi nitions: https://www.hashicorp.com/resources/the- many-de fi nitions-of-multi-cloud-and-their-implications • Workload Portability: que tan fácil es de correr en otro proveedor • Work fl ow Portability: que tan fácil es desplegar en otro proveedor • Data Portability: que tan fácil es replicar datos • Traf fi c Portability: que tan fácil es migrar tra fi co sin afectar al cliente
  • 8. DIMENSIONES MULTI-CLOUD (NO ES UNA DECISION BINARIA) • Workload Portability • Work fl ow Portability • Data Portability • Traf fi c Portability
  • 10. UNA APLICACIÓN CLOUD-NATIVE SIMPLE • Containers en Kubernetes, nada nuevo • Los Servicios se comunican via REST • Si te gusta Helm, puedes agrupar los servicios en un Chart • https://github.com/salaboy/fmtok8s-app
  • 11.
  • 12. DESAFIOS • Dependencias • Base de datos, Mensajeria, Caches, etc. • Opciones • Helm puede ayudar -> pero hay que mantener estos componentes • Especi fi co de cada Cloud Provider -> Dependencia fuerte • Terraform y otras herramientas (IaC) -> Imperativas, aprender otras herramientas
  • 14. QUE ES CROSSPLANE? • Un proyecto que esta en sandbox de CNCF (cerca de incubation) • Provee una capa de abstracción para trabajar con distintos Cloud Providers • Extiende las APIs de Kubernetes permitiéndonos crear infraestructura de manera declarativa
  • 15. COMO FUNCIONA? • De fi ne el concepto de Provider • GCP, AWS, Azure, etc. • Cada provider de fi ne los servicios (recursos) que provee de manera declarativa • De fi ne el concepto de ManagedResource y ManagedResourceDe fi nition • Crossplane va a reconciliar estos recursos creados en los providers de manera continua
  • 16. EJEMPLO PROVIDER • Google Cloud Platform (GCP) • `kubectl get providers.pkg.crossplane.io` • `kubectl get providercon fi gs.gcp.crossplane.io`
  • 17.
  • 18. EJEMPLO MANAGED RESOURCE • PostgreSQL en GCP, representa una interface simple • `kubectl get crd |grep gcp.crossplane.io`
  • 19. MANAGED RESOURCE NOS BRINDAN • Estos recursos representan uno-a-uno los recursos creados en un cloud provider • Algunas características especiales porque estamos tratando con infraestructura • Reconciliación continua • Propiedades Inmutables • Políticas de borrado (Deletion Policies) • Nombres Externos • Manejo de dependencias • Podemos importar de recursos no creados por Crossplane • Backup con herramientas de Kubernetes
  • 20. EXTRAS • Agregaciones / CompositeResources (XR & XRD) • Distintos Roles: InfraOps y AppOps
  • 21.
  • 22. EXTRAS • Paquetes (Packages) • Provider Packages (GCP) • Con fi guration Packages -> Nuestras composiciones • Entienden Upgrades y versiones • Instalan y manejan CRDs
  • 23.