Abstracciones sobre Abstracciones
Mauricio Salatino / Gabriel Freites
- Abstracciones de todo tipo
- Para todos los días
- Herramientas que empaquetan abstracciones
- Específicas para un problema
- Tekton CI/CD
- Abstrayendo Ecosistemas enteros
- Crossplane para Multi-Cloud
- Enfocadas en mejorar y acelerar nuestras prácticas
- Knative simplifica y aumenta lo que puedes hacer
- Knative `func` abstrae Kubernetes y Docker
Agenda
Quienes Somos?
Mauricio Salatino
Twitter: @Salaboy / http://salaboy.com
@VMware @KnativeProject
Gabriel Freites
Twitter: @gabilloillo
@VMware @KnativeProject
Continuous Delivery for Kubernetes
● Enfocado en desarrolladores
● Herramientas Open Source que
nos ayudan en nuestra búsqueda
de CD
● Link: http://mng.bz/jjKP
● 35% Descuento:
”mtpk8sguat21”
Kubernetes
Kubernetes
Abstracción Extensible
Abstracciones Extensibles
CNCF Landscape
- Pero que es una Aplicación en el mundo de Kubernetes?
Abstracciones para todos los días
- Mejor con versiones, no?
Abstracciones para todos los días
- Necesitamos un package manager ...
Abstracciones para todos los días
Package Managers: Helm o Kapp
- https://helm.sh
- https://carvel.dev/kapp/
- https://carvel.dev/kapp-controller/
Ejemplo: https://github.com/salaboy/from-monolith-to-k8s/tree/master/helm
Chart: https://github.com/salaboy/fmtok8s-app/
Chart Repository: https://github.com/salaboy/helm
- Por Ejemplo Tekton para CI/CD Pipelines
(https://tekton.dev/docs/pipelines/)
- Ejemplo Service Pipeline
(https://github.com/salaboy/from-monolith-to-k8s/tree/master/tekton)
Abstracciones para problemas específicos
La forma de las extensiones
El creador de Abstracciones 🎨
- Crossplane nos permite abstraer Cloud Providers y sus
Servicios
- También es una extensión para Kubernetes, pero acá ya
hablamos de múltiples Clusters y no uno solo
o.. Meta Abstracciones
Enfoque Multi Cloud
Y aún más… Composiciones de Abstracciones
Composiciones de Abstracciones
Y aún más… Composiciones de Abstracciones
Creando Compositions
Abstracciones que simplifican
- Reducir el “Yaml forest”
- Facilitar el proceso de desarrollo para devs sin que tengan
que preocuparse por la infraestructura
- Proporciona herramientas que facilitan el desarrollo de
arquitecturas orientadas a eventos
- Knative Serving, Eventing, Func
Espera… ¿Más abstracciones?
Knative Serving
kn service create hello --image gcr.io/knative-samples/helloworld-go --env
TARGET=”First”
kn service update hello --env TARGET=”Second”
kn service update hello --traffic h-1=50 --traffic h-2=50
Revisiones y Rutas en acción
Knative Eventing
Knative Func
FaaS
Ejemplo / Demo
- Hemos visto muchas Abstracciones y de todo tipo
- Tenemos que acostumbrarnos a trabajar con ellas
- Abstracciones de más alto nivel se están creando todos los días
- Siempre preguntarse: A dónde encajan nuestras abstracciones?
- Explorar proyectos Open Source ayuda
- A validar ideas
- Seguir buenas prácticas
- Confirmar que nuestros desarrollos se alinean a otros proyectos
Conclusiones
- Helm + Tekton + Crossplane:
https://github.com/salaboy/from-monolith-to-k8s
- SpringNative Func:
https://github.com/salaboy/dad-vibes-functions
- Go Func: https://github.com/gabo1208/func-talk
- Twitter los DMs esta abiertos @Salaboy @gabilloillo
Recursos
Muchas Gracias!

KCD Guatemala - Abstracciones sobre Abstracciones

  • 1.
  • 2.
    - Abstracciones detodo tipo - Para todos los días - Herramientas que empaquetan abstracciones - Específicas para un problema - Tekton CI/CD - Abstrayendo Ecosistemas enteros - Crossplane para Multi-Cloud - Enfocadas en mejorar y acelerar nuestras prácticas - Knative simplifica y aumenta lo que puedes hacer - Knative `func` abstrae Kubernetes y Docker Agenda
  • 3.
    Quienes Somos? Mauricio Salatino Twitter:@Salaboy / http://salaboy.com @VMware @KnativeProject Gabriel Freites Twitter: @gabilloillo @VMware @KnativeProject
  • 4.
    Continuous Delivery forKubernetes ● Enfocado en desarrolladores ● Herramientas Open Source que nos ayudan en nuestra búsqueda de CD ● Link: http://mng.bz/jjKP ● 35% Descuento: ”mtpk8sguat21”
  • 5.
  • 6.
  • 7.
  • 8.
    - Pero quees una Aplicación en el mundo de Kubernetes? Abstracciones para todos los días
  • 9.
    - Mejor conversiones, no? Abstracciones para todos los días
  • 10.
    - Necesitamos unpackage manager ... Abstracciones para todos los días
  • 11.
    Package Managers: Helmo Kapp - https://helm.sh - https://carvel.dev/kapp/ - https://carvel.dev/kapp-controller/ Ejemplo: https://github.com/salaboy/from-monolith-to-k8s/tree/master/helm Chart: https://github.com/salaboy/fmtok8s-app/ Chart Repository: https://github.com/salaboy/helm
  • 12.
    - Por EjemploTekton para CI/CD Pipelines (https://tekton.dev/docs/pipelines/) - Ejemplo Service Pipeline (https://github.com/salaboy/from-monolith-to-k8s/tree/master/tekton) Abstracciones para problemas específicos
  • 13.
    La forma delas extensiones
  • 14.
    El creador deAbstracciones 🎨
  • 15.
    - Crossplane nospermite abstraer Cloud Providers y sus Servicios - También es una extensión para Kubernetes, pero acá ya hablamos de múltiples Clusters y no uno solo o.. Meta Abstracciones
  • 16.
  • 17.
    Y aún más…Composiciones de Abstracciones Composiciones de Abstracciones
  • 18.
    Y aún más…Composiciones de Abstracciones Creando Compositions
  • 19.
  • 20.
    - Reducir el“Yaml forest” - Facilitar el proceso de desarrollo para devs sin que tengan que preocuparse por la infraestructura - Proporciona herramientas que facilitan el desarrollo de arquitecturas orientadas a eventos - Knative Serving, Eventing, Func Espera… ¿Más abstracciones?
  • 21.
  • 22.
    kn service createhello --image gcr.io/knative-samples/helloworld-go --env TARGET=”First” kn service update hello --env TARGET=”Second” kn service update hello --traffic h-1=50 --traffic h-2=50 Revisiones y Rutas en acción
  • 23.
  • 24.
  • 25.
  • 26.
    - Hemos vistomuchas Abstracciones y de todo tipo - Tenemos que acostumbrarnos a trabajar con ellas - Abstracciones de más alto nivel se están creando todos los días - Siempre preguntarse: A dónde encajan nuestras abstracciones? - Explorar proyectos Open Source ayuda - A validar ideas - Seguir buenas prácticas - Confirmar que nuestros desarrollos se alinean a otros proyectos Conclusiones
  • 27.
    - Helm +Tekton + Crossplane: https://github.com/salaboy/from-monolith-to-k8s - SpringNative Func: https://github.com/salaboy/dad-vibes-functions - Go Func: https://github.com/gabo1208/func-talk - Twitter los DMs esta abiertos @Salaboy @gabilloillo Recursos
  • 28.