Slide 1

Slide 1 text

Mauricio Salatino @Salaboy Plataformas en Kubernetes

Slide 2

Slide 2 text

Mauricio Salatino @Salaboy Software Engineer @ Diagrid https://diagrid.io https://salaboy.com -> 45% Descuento <- Código: EMPANADA Intro

Slide 3

Slide 3 text

• Un poco de contexto • Un Libro? Porque? Cuando? Que? • Tiempo de consolidar y definir nuevas abstracciones Agenda

Slide 4

Slide 4 text

• Mendocino, Ingeniero en Informatica • Graduado en la Universidad de Mendoza (2007) • 4 años en Buenos Aires (OSDE, consultoría y trainings) • 2012 -> Red Hat UK -> Pequeñas y medianas empresas -> VMware -> Startups -> 2024 Background

Slide 5

Slide 5 text

• Porque escribir un libro que va a quedar viejo en 2 años? • Porque escribir un libro? • Porque es importante? Porque?

Slide 6

Slide 6 text

• 2021 contacte a Manning (manning.com) • Kubernetes se estaba volviendo aburrido • Empresas medianas y grandes estaban compartiendo sus experiencias y la mayoría estaba solucionando los mismos problemas Cuando?

Slide 7

Slide 7 text

• 9 capítulos • 1 repository en Github (publico / gratis para todos) • https://github.com/salaboy/platforms-on-k8s • 3 re-escrituras desde cero • Muchas muchas charlas / presentaciones Que?

Slide 8

Slide 8 text

• Capitulo #1: Introducción • Cloud Native y Platform Engineering • Ya hemos trabajado con otras plataformas, deberíamos copiar mas y reinventar menos • Team Topologies (interesante, pero no es el foco del libro) Que?

Slide 9

Slide 9 text

• Capitulo #2: Desafíos comunes y distintas opciones • Ejemplo, como correrlo y como romperlo • Cosas comunes que pueden ir mal • Ejemplos originalmente escritos en Java, migrados a Go • Ejemplos serán re escritos en Java y en otros lenguajes para la segunda edición. En ningún momento el lector tiene que cambiar los proyectos, por lo cual no es necesario programar para el libro Que?

Slide 10

Slide 10 text

Que?

Slide 11

Slide 11 text

• Capitulo #3: Construyendo Containers para nuestros servicios • Tema complejo si los hay, en el sentido de que hay muchas opciones y es depende mucho del contexto en el que un equipo se encuentre • Herramientas: • (Jenkins -> todos sabemos como funciona Jenkins, sus ventajas y defectos) • Tekton -> corren solo en Kubernetes • Dagger -> corren en cualquier lado, pipelines as code approach • GitHub Actions, fully managed approach Que?

Slide 12

Slide 12 text

• Capitulo #4: Manejando entornos (GitOps) • Crear y manejar entornos usando GitOps por ejemplo con Argo CD tiene sus ventajas pero es también complejo • Permisos en GitHub se vuelven mas complejos y tiene que ser administrados con cuidado Que?

Slide 13

Slide 13 text

Que?

Slide 14

Slide 14 text

• Capitulo #5: Un poco de infra estructura de aplicaciones • Nuestras aplicaciones no corren solas • Cada cloud-provider tiene una forma diferente de crear una base de datos o un broker de mensajería • Crossplane nos regala abstracciones cross cloud provider para crear infraestructura y configurarla de manera declarativa Que?

Slide 15

Slide 15 text

Que?

Slide 16

Slide 16 text

• Capitulo #6: Creando una mini plataforma • Podemos construir plataformas para un montón de cosas distintas, acá el ejemplo muestra como combinar las herramientas que hemos visto para crear entornos de desarrollo • Usamos Crossplane para crear una abstracción propia y • vcluster para no gastar millones de dólares en clusters Que?

Slide 17

Slide 17 text

• Capitulo #7: Capacidades (Capabilities) de nuestra plataforma • Que podemos ofrecer para nuestros equipos? • Abstracciones y simplificaciones para el consumo de servicios complejos • Hablemos un poco de Dapr Que?

Slide 18

Slide 18 text

• API para desarrolladores • APIs para abstraer mejores practicas y funcionalidades que equipos requieren para crear aplicaciones distribuidas • APIs sobre HTTP y gRPC • Todos los lenguajes, con SDKs Dapr - Distributed Application Runtime

Slide 19

Slide 19 text

Que?

Slide 20

Slide 20 text

Que?

Slide 21

Slide 21 text

• Capitulo #8: Capacidades de nuestra plataforma 2 (Estrategias de despliegue) • Los equipos usando nuestras platforma deberían poder experimentar • Blue/Green Deployments, A/B Testing, Canary Releases • Knative Serving y Argo Rollouts Que?

Slide 22

Slide 22 text

• Capitulo #9: Midiendo nuestras plataformas • Como nuestra plataforma ayuda a nuestros equipos a desplegar mas software de manera mas frecuente? • DORA metrics • Keptn y CDEvents Que?

Slide 23

Slide 23 text

• La industria y las herramientas que discuto en el libro se están consolidando, si están interesados en este tema los mejores lugares para seguir son: • CNCF Platforms Working Group • Platforms White Paper • Platforms Maturity Model • CNCF Application Development Working Group A donde ir luego?

Slide 24

Slide 24 text

¡MUCHAS GRACIAS!