Cncf101
Serie de artículos sobre la Cloud Native Computing Foundation (CNCF) y sus proyectos
Motivación
De un tiempo a esta parte me comenzó a interesar mucho todo lo relacionado con la CNCF y sus proyectos, así que pense, porqué no escribir una serie de artículos relacionados a esto y de paso voy probando los proyectos más renombrados para aprender un poco más en el camino.
Bueno aquí está el puntapié inicial, espero que sea de utilidad para todo aquel que quiera empezar a revisar conmigo cada uno de estos proyectos.
Vamos al grano, qué es la CNCF?
Para responder a esta pregunta, que mejor que ir a las Fuentes
"Las tecnologías “Cloud Native” empoderan a las organizaciones para construir y correr aplicaciones escalables en ambientes dinámicos modernos, como lo son hoy las nubes públicas, privadas o hibridas. Temas como contenedores, mallas de servicios, microservicios, infraestructura inmutable y APIs declarativas son ejemplos de este enfoque. Estas técnicas permiten crear sistemas de bajo acoplamiento que son resilentes, administrables y observables. Combinado con técnicas de automatización robusta les permite a los ingenieros realizar cambios de alto impacto de manera frecuente y predecible con un mínimo esfuerzo. La "Cloud Native Computing Foundation" busca impulsar la adopción de este paradigma mediante el fomento y mantenimiento de un ecosistema de proyectos de código abierto y neutro con respecto a los proveedores. Democratizamos los patrones modernos para que estas innovaciones sean accesibles para todos."
No hay mucho más que agregar a esta definición mas que comenzar a ver la organización de los proyectos y de que manera podemos pensar en la implementación de los mismos dentro de nuestras organizaciones
Organización de los proyectos
Los proyectos de la CNCF se pueden ordenar de muchas maneras, veamos algunas de las más utilizadas.
Mediante la etapa de madurez del proyecto
Dsponemos de 4 categorías, que podemos ver en detalle con los proyectos de cada una de ellas en el siguiente link
Graduated: Proyectos estables y muy adoptados, que son recomendados para uso productivo y con miles de personas manteniendolos activos.
Incubating: Poryectos ya usados en producción, aunque por un grupo menor de empresas, en menor medida pero también con un alto grado de comunidad manteniendolos.
Sandbox: Proyectos experimentales, aun no testeados muy en profundidad en ambientes productivos. Pueden ser los proximos a pasar a "incubating"
Archived: Proyectos inactivos que acabaron con su ciclo de vida
Organización por tipo de proyecto
Otro tipo de organización sería por tipo de proyecto, con esto me refiero a ordenarlos deacuerdo al problema que los proyectos intentan resolver.
Aquí tenemos el famoso landscape de la CNCF, donde podemos observar los proyectos ordenados de esta manera, les dejo la imágen de referencia pero pueden ir al landscape aquí
Otro modo de ver este mismo landscape es en modo guía donde, desde mi punto de vista, es mas simple comprender. Link!
Aquí se ordena en la parte izquierda cada una de las categorías de proyectos, explicando en cada caso qué es la categoría, qué intenta resolver y mucha información interesante.
Son 1000 proyectos, cuál utilizamos?
Como podemos notar revisando el landscape los proyectos de la CNCF son mucho y es muy fácil "perderse" sin saber muy bien cual utilizar.
Como la gente de la CNCF pensó en todo, también realizaron un "mapa" con recomendaciones de proyectos para resolver cada una de las partes necesarias al momento de desplegar y operar un proyecto Cloud Native.
Este mapa es llamado "trail map" y podemos encontrarlo aquí
Les dejo la imágen de referencia, pero es mucho mas claro revisando el link anterior para una mejor calidad de imágen