Guía de estudio de Kubernetes y Cloud Native Associate (KCNA) - Adrián González - E-Book

Guía de estudio de Kubernetes y Cloud Native Associate (KCNA) E-Book

Adrián González

0,0
20,99 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

Con el crecimiento imparable de la adopción de la nube, Kubernetes se ha consolidado como el estándar de facto en el ecosistema de nube nativa o cloud native. Mientras que certificaciones de Kubernetes como KCSA, CKAD, CKA y CKS están orientadas a un mayor nivel de competencia técnica, el Kubernetes and Cloud Native Associate (KCNA) abarca el entorno nativo de la nube en general, así como las habilidades y conocimientos fundamentales de Kubernetes. El KCNA está diseñado para ser el primer paso en su transición hacia la nube nativa. Esta guía práctica y completa le proporciona todo lo necesario para prepararse y aprobar el examen de certificación KCNA. Es mucho más que un manual de estudio: es una puerta de entrada al universo cloud native. Los autores, Adrián González Sánchez y Jorge Valenzuela Jiménez, le acompañan en un recorrido didáctico y actualizado por los fundamentos técnicos, las herramientas clave y la comunidad que impulsa la Cloud Native Computing Foundation (CNCF). Al finalizar su preparación, estará listo para dar el siguiente salto y convertirse en un auténtico #Kubestronaut, aspirando a formar parte del selecto grupo de profesionales con las cinco certificaciones Kubernetes. Gracias a esta lectura aprenderá a: - Prepararse para el examen KCNA de la Fundación Linux y CNCF - Comprender la arquitectura de Kubernetes y los componentes cruciales del desarrollo moderno - Interpretar las tendencias y avances más recientes del entorno cloud native y su relevancia en la industria - Evaluar y seleccionar tecnologías según criterios técnicos y de negocio - Explorar las perspectivas y los testimonios de expertos de la industria cloud native Invertir en su formación con esta guía le preparará para aprobar el examen KCNA y le brindará acceso a un mundo de oportunidades en el ámbito de la nube nativa. Aproveche esta oportunidad para avanzar en su carrera y convertirse en un profesional destacado en el ecosistema cloud native.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 392

Veröffentlichungsjahr: 2025

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



 

Primera edición original publicada en inglés por O’Reilly con el título Kubernetes and Cloud Native Associate (KCNA) Study Guide, ISBN 978-1-098-16950-3 ©2024 13329054 Canada Inc. y Jorge Valenzuela Jiménez.

This translation is published and sold by permission of O’Reilly Media, Inc., which owns or controls all rights to publish and sell the same.

Título de la edición en español: Guía de estudio de Kubernetes y Cloud Native Associate (KCNA)

Primera edición en español, noviembre 2025

© 2025 MARCOMBO, S.L. www.marcombo.comGran Via de les Corts Catalanes 594, 08007 BarcelonaContacto: [email protected]

Diseño de portada: Karen MontgomeryIlustración: Kate DulleaTraducción y actualización: Adrián González Sánchez y Jorge Valenzuela JiménezCorrección: Héctor TarancónDirectora de producción: M.ª Rosa Castillo

Cualquier forma de reproducción, distribución, comunicación pública o transformación de esta obra solo puede ser realizada con la autorización de sus titulares, salvo excepción prevista por la ley. La presente publicación contiene la opinión del autor y tiene el objetivo de informar de manera precisa y concisa. La elaboración del contenido, aunque se ha trabajado de modo escrupuloso, no puede comportar una responsabilidad específica para el autor ni el editor de los posibles errores o imprecisiones que pudiera contener la presente obra.

ISBN del libro en papel: 978-84-267-4047-2ISBN del libro electrónico: 978-84-267-4199-8Producción del ePub: booqlab

Índice

Título

Créditos

Índice

Prólogo: Una visión general del ecosistema nativo de la nube

Prefacio

1. Introducción a la certificación KCNA y guía de estudio

Definición de nube nativa

Historias de éxito inspiradoras

Autocuestionario para nuevos profesionales de la nube nativa

Parte 1: El ecosistema del CNCF

Parte 2: Conceptos generales de la nube nativa

Parte 3: Conceptos sobre Kubernetes

Parte 4: Comandos de Kubernetes

Parte 5: Fundamentos de Linux

Parte 6: Otros proyectos relacionados

Opiniones de expertos: Walid Shaari

Resumen

2. El examen KCNA como punto de partida

La certificación KCNA de la Fundación Linux y la CNCF

Por qué es importante el KCNA y por qué debe obtener el certificado

Descripción del examen y plan de estudios

Acerca del formato

Parte 1: Fundamentos de Kubernetes

Parte 2: Orquestación de contenedores

Parte 3: Arquitectura nativa de la nube

Parte 4: Observabilidad nativa de la nube

Parte 5: Despliegue y entrega de aplicaciones nativas de la nube

Otras áreas de conocimiento

Kubernetes 101: práctica

Fundamentos de Linux

Desarrollo basado en API

Telemática

Desarrollo web

Uso aplicado

Plan de estudio de los exámenes

Paso 1: Determine su nivel actual de conocimientos

Paso 2: Preparar y adoptar un calendario de estudios

Paso 3: Centrarse en el material adecuado

Logística del examen y qué esperar

Paso 1: Programe su examen

Paso 2: Prepararse para el día del examen

Paso 3: Esperar y comprobar los resultados

Posibles vías de certificación

Estudio de caso: Spotify

Comprobación de conocimientos al final del capítulo

Resumen

3. La CNCF y la nueva era de la nube nativa

Los orígenes de la CNCF

Cronología de la industria de la nube nativa

Orígenes de la contenerización

El auge de Kubernetes y la CNCF

Dinámica y gobernanza comunitarias

Recursos clave de la CNCF

Foros comunitarios

Eventos presenciales y en línea

Recursos educativos

Mentores y embajadores

Proyectos y niveles de madurez de la CNCF

Principales proyectos de la CNCF para el examen KCNA

Iniciativas y grupos de trabajo relacionados

Opiniones de expertos: Chris Aniszczyk

Comprobación de conocimientos al final del capítulo

Resumen

4. Conceptos esenciales para los profesionales de la nube nativa

Computación en la nube

Comercialización de la computación en la nube

Infraestructura como servicio

Plataforma como servicio

Software como servicio

Contenedor como servicio

Función como servicio

Infraestructura de computación en la nube

Nube pública

Nube privada

Nube híbrida

Multicloud

El tridente de virtualización, contenerización y orquestación

Virtualización

Contenerización

Orquestación

Relación entre computación en la nube y nube nativa

Creación de aplicaciones nativas de la nube

Otros temas relacionados con la nube nativa

DevOps y CI/CD

GitOps e infraestructura como código

Declarativo frente a imperativo

Con/Sin estado

Entrada y salida

Sin servidor

Opiniones de expertos: Benjamin Muschko

Resumen

5. El papel clave de Kubernetes

Introducción a los contenedores y las tecnologías de orquestación

Contenedores

Orquestación de contenedores

Ecosistema de contenedores y normas

Contenedor Linux

Docker

¿Qué ofrecen las normas sobre contenedores?

Soluciones para contenedores

¿Qué es Kubernetes y por qué es tan importante?

Tendencias actuales del sector

Inteligencia artificial

Bases de datos vectoriales

Computación de borde

Ingeniería de plataformas

Alternativas de orquestación a Kubernetes

Apache Mesos y Marathon

Red Hat OpenShift

Ventajas de la contenerización para las empresas

Opiniones de expertos: Brendan Burns

Resumen

6. Temas técnicos de Kubernetes

Conceptos básicos de Kubernetes: De los contenedores a los clústeres

Clúster Kubernetes

Componentes del plano de control

Componentes del plano de datos

Arquitectura de Kubernetes

Pods monocontenedor y multicontenedor

Runtime de contenedores en Kubernetes

Interfaz de red de contenedores

Interfaz de almacenamiento de contenedores

Navegación por los estados de Kubernetes

Aplicaciones sin estado

Aplicaciones con estado

Despliegues: Orquestación de la escalabilidad sin estado

StatefulSets: El guardián de las Aplicaciones con estado

ReplicaSets: Salvaguardar la replicación y la fiabilidad

Controlador DaemonSet

Controladores Job y CronJob

Autoescalado de cargas de trabajo, eventos de Kubernetes y ciclos de vida de los Pods

Autoescalador horizontal de Pod

Autoescalador de Pod vertical

Autoescalador proporcional de clúster

Autoescalado basado en eventos

Autoescalador de clústeres

Programador

Observabilidad y rendimiento de Kubernetes

Logs

Métricas

Trazas

Canalización de métricas de recursos

Canal de métricas completo

Almacenamiento de Kubernetes

Volúmenes persistentes y reclamación de volúmenes persistentes

Clases de almacenamiento

Volúmenes y tipos de volumen

Conjuntos de estados

Interfaz de almacenamiento de contenedores

Aprovisionamiento dinámico

Redes y malla de servicios

Red de clústeres

Controladores de entrada

Plugins de red

Descubrimiento de servicios

Malla de servicio

Seguridad de Kubernetes

Estrategias de seguridad de imágenes de contenedores

Estrategias de protección de clústeres Kubernetes

Otros componentes relacionados con Kubernetes

Helm

Dapr

ConfigMap

minikube

Comandos principales

Opiniones de expertos: James Spurin

Resumen

7. Recomendaciones finales

Información adicional para la preparación del examen

Expertos de la comunidad Kubernetes a seguir

Comunidades relacionadas con el KCNA

Repositorios útiles de GitHub

Posibles opciones profesionales con la certificación KCNA

Otras certificaciones de Kubernetes

Resumen

Guide

Cover

Índice

Start

Prólogo

Una visión general del ecosistema nativo de la nube

El año 2024 marca el 10º aniversario de Kubernetes. Es innegable que Kubernetes cambió la forma en la que los sectores e industrias enteras abordan la entrega de software en entornos de producción. Como segundo proyecto de código abierto más grande del mundo después de Linux, Kubernetes es el principal marco de orquestación de contenedores para el 71 % de las empresas Fortune 100. Cada año, la Cloud Native Computing Foundation (CNCF) y otras organizaciones llevan a cabo varias encuestas y auditorías anuales para mostrar la satisfacción general de los usuarios, mientras que los innumerables estudios de casos de usuarios destacan las ventajas y los numerosos retos técnicos resueltos.

En retrospectiva, Kubernetes sirvió como punto de gravitación para el ecosistema nativo de la nube. A lo largo de los años, se produjo un crecimiento considerable en el número de organizaciones que desarrollaron nuevas herramientas o funcionalidades que beneficiarían a la infraestructura centrada en contenedores. Al mismo tiempo, los equipos de ingeniería de plataformas de todo el mundo aprovechaban un sistema conectable, integrando sus herramientas deseadas para redes, almacenamiento, malla de servicios, observabilidad y muchas más con compromisos técnicos mínimos. La tasa de adopción constante por parte del usuario final y la creación de ofertas nuevas/mejoradas de terceras empresas crearon un circuito cerrado de retroalimentación que disparó el crecimiento del panorama nativo de la nube. En la actualidad, existen más de 175 proyectos de código totalmente abierto (en noviembre de 2023) con distintos niveles de madurez, como sandbox, incubación y graduación.

Los principales factores del éxito de Kubernetes fueron su naturaleza de código abierto y la comunidad que lo rodea. La gobernanza abierta y la transparencia son los fundamentos de cualquier proyecto de código abierto, que permite el desarrollo imparcial de funciones y, al mismo tiempo, acoge los comentarios y las nuevas ideas de la comunidad. A través de la apertura a las contribuciones de múltiples individuos y organizaciones, se creó un impulso definitorio en torno a Kubernetes y el ecosistema nativo de la nube en general, grabando un impacto duradero en el sector tecnológico.

Teniendo en cuenta el éxito continuo de Kubernetes, podríamos preguntarnos por qué, en este preciso momento, necesitamos un examen de nivel básico y cómo afectará esto al ecosistema nativo de la nube en general. Para responder a estas preguntas, primero debemos explorar los retos a los que nos enfrentamos con los recursos y certificaciones existentes. Esto nos ayudará a destacar por qué es imperativo establecer objetivos ambiciosos para el crecimiento de nuestra comunidad y centrarnos en allanar el camino a los talentos emergentes.

Un poco de historia

La misión de los nativos de la nube es fomentar un ecosistema sostenible y resistente. Nuestra comunidad no solo debe centrarse en resolver los problemas del presente, sino también cultivar y adoptar una cultura de educación y formación para la futura generación de profesionales nativos de la nube.

El informe sobre empleos relacionados con el desarrollo de código abierto publicado en 2022 reveló que el conocimiento de las tecnologías en la nube y de contenedores es el conjunto de competencias más demandado por los responsables de contratación, pero el 93% de ellos afirma tener dificultades para encontrar suficientes talentos con conocimientos de código abierto. Por lo tanto, nuestro primer reto como comunidad es atraer, mejorar y retener nuevos talentos en el sector. Las certificaciones de Kubernetes, como Certified Kubernetes Application Developer (CKAD), Certified Kubernetes Administrator (CKA) y Certified Kubernetes Security Specialist (CKS), son increíblemente populares para demostrar las credenciales nativas de la nube. Con cientos de miles de inscripciones hasta la fecha, estas certificaciones de nivel profesional requieren que los candidatos tengan cierta experiencia práctica diaria para poder aprobar el examen. Esto pone de relieve nuestro próximo reto y la necesidad de bajar el listón de entrada para los nuevos miembros, que también se correlaciona con la retroalimentación de la comunidad y la demanda de una evaluación más amigable para los principiantes e inclusiva para obtener credenciales CNCF.

El objetivo de resolver estos desafíos llevó a la creación de la certificación Kubernetes and Cloud Native Associate (KCNA) en el verano de 2021 y al anuncio oficial unos meses después. Soy uno de los colíderes de KCNA, que dirigió este esfuerzo junto con otros miembros de la comunidad, incluido el envío, la revisión y el examen de cientos de preguntas para garantizar una experiencia de incorporación sin problemas para los novatos nativos de la nube.

Como comunidad, tenemos que hacer accesibles nuestros recursos y herramientas para que crezca la próxima generación de profesionales. Esta es la razón de ser de la creación del examen KCNA. En la actualidad, existe una gran cantidad de recursos para capacitar a los nuevos miembros; sin embargo, es fundamental mantenerlos para que sigan siendo relevantes y apropiados, especialmente con el rápido ritmo de cambio de la tecnología y la aparición de nuevas herramientas en los ámbitos de la IA, la sostenibilidad, WebAssembly y la seguridad, entre otros.

Como resultado, también se han creado otros exámenes de nivel asociado. Si desea ampliar sus conocimientos en un específica, le recomiendo que explore también algunas de las nuevas certificaciones, incluidas estas:

• Asociado de seguridad en la nube y Kubernetes (KCSA)

• Asociado certificado Prometheus (PCA)

• Asociado certificado en Istio (ICA)

• Asociado certificado por Cilium (CCA)

• Asociado certificado de proyectos Argo (CAPA)

Panorámica de la KCNA

KCNA es un examen de opción múltiple de nivel básico y ofrece a todos, desde estudiantes a aquellos que buscan hacer un cambio de carrera, una manera de demostrar los conocimientos y habilidades básicas de la nube nativa. KCNA demostrará los conocimientos básicos del candidato sobre Kubernetes y las tecnologías nativas de la nube, incluido el uso de comandos a través de API y kubectl, la arquitectura de alto nivel de Kubernetes y la comprensión de las ramificaciones del panorama nativo de la nube en ámbitos como la seguridad, el almacenamiento, la observabilidad, GitOps y la malla de servicios. En general, el examen se divide en cinco partes principales que abarcan Kubernetes y el panorama más amplio de la nube nativa.

Kubernetes Fundamentals cubre el 46 % de las preguntas y pone a prueba si los estudiantes entienden las correlaciones entre los recursos, tales como contenedores, Pods, ReplicaSets y Deployments. Además, esta parte del examen explora cómo funciona el scheduler para crear nuevas réplicas de una aplicación, junto con los componentes de alto nivel de la arquitectura de Kubernetes.

El segundo subdominio del examen, Container Orchestration, comprueba los conocimientos del candidato sobre el tiempo de ejecución y cómo se crean las cargas de trabajo en contenedores en los nodos del clúster, junto con la conectividad y la accesibilidad a estas cargas de trabajo. Esta sección abarca las funcionalidades de alto nivel de la malla de servicios y el almacenamiento, incluido el uso de funciones de seguridad dentro de un clúster, como las políticas de red, el control de acceso basado en funciones (RBAC), la autenticación y la autorización.

La parte de arquitectura nativa de la nube examina los fundamentos de las técnicas de escalado para cargas de trabajo en contenedores, como el autoescalador horizontal de pods (HPA), el autoescalador vertical de pods (VPA), el autoescalador de clústeres y el uso de herramientas sin servidor. También se tratan los estándares abiertos y la interoperabilidad, con una visión general de la Container Runtime Interface (CRI), Container Network Interface (CNI) y Container Storage Interface (CSI). Por último, esta sección también cubre la gobernanza del CNCF y las directrices de la comunidad.

Por último, las dos últimas partes del examen exploran los conocimientos del candidato sobre la observabilidad y las herramientas de entrega de las aplicaciones. Estas secciones destacan el uso de herramientas de telemetría como Prometheus y OpenTelemetry, los fundamentos de integración continua y entrega continua (CI/CD), las funcionalidades GitOps con herramientas como ArgoCD y las técnicas de gestión de costes.

La Guía de estudio de Kubernetes y Cloud Native Associate (KCNA) es un excelente recurso que le ayudará a estudiar para el examen y le preparará para el éxito. Si bien es esencial entender Kubernetes, su arquitectura y su rico catálogo de características, es igualmente crucial establecer los desafíos incipientes a los que se enfrentó la industria y que condujeron a la adopción masiva de soluciones centradas en contenedores. Como tal, esta guía de estudio le guiará a través de los conceptos de computación en la nube que influyeron en el aumento de las prácticas DevOps y el establecimiento de la visión nativa de la nube y CNCF. También aprenderá sobre el predecesor de Kubernetes, Borg, un marco orquestador capaz de gestionar y ejecutar cientos de miles de trabajos en varias máquinas distribuidas (también conocido como clúster). Por último, aprenderá dominios técnicos clave de Kubernetes, herramientas dentro del ecosistema y qué esperar durante el examen.

La KCNA es solo el primer paso

Para que las herramientas tengan éxito y se adopten ampliamente se necesitan diferentes perspectivas y conjuntos de habilidades que solo pueden nutrirse en un entorno acogedor y respetuoso. La apertura a las implementaciones, los comentarios y las nuevas ideas es clave para desbloquear un ritmo elevado de desarrollo de funciones, al tiempo que se reduce el listón de entrada para los nuevos colaboradores y adoptantes.

Desde el principio, la comunidad Kubernetes ha operado bajo la política de que “Incluir es mejor que excluir”. Este es uno de los valores fundamentales de CNCF. Nuestro objetivo es establecer estrategias para construir, ampliar y retener comunidades de colaboradores, a través de la gobernanza abierta, la transparencia y un código de conducta diligente. Esto es lo que impulsa la innovación e invita a todos a contribuir.

Como tal, me gustaría animar a todos los que estudian para su examen de KCNA a dar el siguiente paso y convertirse en un miembro activo de la comunidad, como adoptador, colaborador, mantenedor, o cualquier otro papel que se adapte a su paleta de habilidades. Tenemos que crear un entorno acogedor y respetuoso en el que se valoren los comentarios y las nuevas ideas, y también impulsar la diversidad de la dirección ejecutiva, los consejos de gobierno y consultivos, y los comités técnicos. Debemos esforzarnos continuamente por crear un espacio propicio para que opere la próxima generación de profesionales nativos de la nube.

Buena suerte estudiando y haciendo el examen KCNA, ¡y estoy deseando ver cómo puedes dar forma al ecosistema nativo de la nube!

- Katie GamanjiLondres, diciembre de 2023

Prefacio

KCNA. Es una elección interesante para un acrónimo de certificación de nuevas tecnologías. Cuando se busca este término en Internet, muchos de los resultados hacen referencia a una agencia nacional de noticias de Asia. Pero no hablaremos de eso aquí. La Fundación Linux lanzó el examen Kubernetes and Cloud Native Associate en 2021, e incluso si el acrónimo puede ser inicialmente un poco confuso, el nombre no es en absoluto aleatorio. El nombre del examen y la certificación KCNA es una referencia directa a la tecnología Kubernetes y su papel como habilitador clave del ecosistema nativo de la nube.

Tiene sentido. La contenerización se está convirtiendo rápidamente en la nueva normalidad para grandes y pequeñas empresas tecnológicas y sus desarrolladores en todo el mundo, y tecnologías como Docker y Kubernetes son estándares “no oficiales” para la mayoría de los que las adoptan. Este poderoso movimiento se ha estado gestando desde que creó la Cloud Native Computing Foundation (CNCF) en 2015, y empresas como Google han aprovechado las tecnologías nativas de la nube desde principios de la década de 2000. Dado que se trata de un área compleja de conocimientos muy técnicos que requiere mucha práctica, esfuerzo y actualización, la comunidad necesita nuevos recursos de aprendizaje y formación, documentación y formas sencillas para que los profesionales aprendan y adopten herramientas nativas de la nube. Este examen es una de las vías para conseguirlo.

Pero esto no es realmente un obstáculo. Yo (Adrián) aún recuerdo la primera vez que oí hablar de cloud native. Fue durante una entrevista de trabajo, e ingenuamente pensé que mi entrevistador se refería a algo así como cloud computing general. Hablaremos de la diferencia (y la relación) entre estos dos términos más adelante, pero está claro que me estaba perdiendo algo grande. En ese momento, estaba bien versado en tecnologías en la nube debido a mis proyectos de datos e IA, y por supuesto era consciente de la existencia de algo llamado Kubernetes. Pero este ingeniero telemático de la vieja escuela se había perdido los primeros años de la revolución de los contenedores, y mi principal referencia para las técnicas de virtualización eran las tradicionales máquinas virtuales tipo VMWare. Nuevas comunidades como CNCF eran aún desconocidas para mí. Mucho con lo que ponerme al día...

Sin embargo, la promesa de algo similar a las máquinas virtuales (VM) pero incluso “mejor”, más ligero y superescalable era muy tentadora. Mi naturaleza curiosa y mis ganas de aprender me ayudaron a conectar los puntos nativos de la nube con los componentes básicos del ecosistema de datos e IA. “¿Quieres decir que puedo desplegar recursos como nuevas iteraciones o diferentes versiones de modelos de IA, siempre que necesite, de una forma relativamente automatizada? ¿Me estás diciendo que así es como lo hacen hoy las grandes empresas?”. Todavía recuerdo una discusión con un amigo en la industria de los videojuegos que estaba aprovechando los contenedores para desplegar modelos de IA, varias veces al día, para lanzar nuevas características o simplemente para probar versiones alternativas de modelos. Demasiado nuevo, demasiado emocionante: no podía dejarlo pasar.

La diversión estaba a punto de comenzar, pero rápidamente me di cuenta de que Kubernetes no era un tema sencillo. Conocimientos técnicos de su arquitectura, redes, seguridad, opciones gestionadas de hiperescaladores, diferentes piezas de un mismo puzle: este era el siguiente paso de mi carrera de ingeniería en España, salvo que ningún profesor nos lo explicó porque era demasiado pronto. Además, había perdido parte de mi habilidad con la línea de comandos y abandonado mi ardua exploración de temas relacionados con Linux. En años anteriores, me quedaba despierto por la noche intentando encontrar la manera de replicar algunas funcionalidades geniales de Windows en Linux Ubuntu, participar en foros, probar nuevo software de código abierto, depurar nuevas herramientas..., pero la mayoría de estas habilidades habían desaparecido. En su lugar, yo era solo un adoptante de la nube con ganas de dar sentido a Kubernetes, Docker, y otros temas.

Tenía que encontrar una manera de comenzar mi viaje nativo de la nube (en paralelo con algunos otros temas de certificación que había estado “devorando”), así que tomé un enfoque pragmático y algo perezoso para evitar las partes más técnicas, y centrarme primero en el ecosistema nativo de la nube y la comunidad. Esa decisión me llevó a aprender más sobre CNCF y sus colaboradores, el modelo de gobernanza de código abierto, proyectos geniales más allá del omnipresente Kubernetes, y los niveles de madurez e incubación. ¡Menudo descubrimiento! Una comunidad llena de talento, voluntad de enseñar y colaborar, recursos existentes y mucho más.

Mi investigación me ayudó a encontrar increíbles evangelistas técnicos y expertos del sector, una gran fuente de conocimientos y una forma increíble de aprender de los mejores. También intenté comprender la historia de las cosas. ¿Quién creó Kubernetes? ¿Cómo llegó esta herramienta a ser tan relevante y necesaria en todas partes? ¿Y por qué? (El documental oficial de Kubernetes, incluida la Parte 2, es imprescindible y una gran opción para obtener algunas respuestas iniciales). Después, empecé a explorar de forma orgánica los temas técnicos y a conectar más puntos. Fue un reto, pero factible de aprender con un buen plan de estudio y material didáctico. Este fue el origen del contenido que verás en este libro.

Volviendo al KCNA, recuerdo que me emocioné mucho cuando vi por primera vez el alcance y los temas que había elegido la gente de la CNCF. Pero ¿por qué era necesario este examen? ¿Por qué alguien querría realizarlo? Bueno, básicamente el KCNA es la mejor manera de demostrar un conocimiento inicial de Kubernetes y los temas nativos de la nube, y una gran oportunidad para la comunidad para crear contenido para aquellos que están dispuestos a aprender y evolucionar. Se trataba de una certificación de nivel asociado basada en los fundamentos que permitiría a más personas unirse al movimiento, independientemente de su formación previa.

Hasta entonces, las únicas opciones disponibles para el aprendizaje y la certificación requerían conocimientos muy avanzados de Kubernetes, es decir, los itinerarios Certified Kubernetes Administrator (CKA), Certified Kubernetes Security (CKS) y Certified Kubernetes Application Development (CKAD). Se trata de un camino demasiado largo para las personas que aún intentan gatear. Pero los equipos de certificación de la CNCF y la Fundación Linux han dado en el clavo: han lanzado un gran examen que, aunque no sea el más fácil, ayuda a atraer a gente nueva y genera grandes oportunidades de carrera para profesionales nuevos y experimentados.

El momento perfecto, una gran oportunidad. Algún tiempo después del lanzamiento del examen beta, empezamos a ver más y más recursos de aprendizaje geniales de profesionales nativos de la nube. Incluso preparé algunas sesiones de preparación para el examen KCNA de nivel 101 con O’Reilly, y el Open Source Summit Latin America. Me considero un conferencista bastante bueno, pero este era un tema bastante duro y difícil de simplificar. Mi objetivo principal no era ofrecer la sesión perfecta, sino encontrar un enfoque de enseñanza que acercara a la gente a la nube nativa y Kubernetes, independientemente de su formación profesional y capacidad técnica. Para ser honesto, soy un poco parcial porque he estado enseñando big data e IA para profesionales orientados a los negocios durante un tiempo. Si podía explicar esos temas, ¡tenía que hacerlo para este!

Unos meses más tarde, la serendipia me llevó al equipo de O’Reilly que trabajaba con autores relacionados con Kubernetes. Este equipo había gestionado publicaciones de libros anteriores para otros temas de certificación de Kubernetes, incluidas las maravillosas guías de estudio que tantos profesionales habían utilizado antes para preparar sus certificaciones CKA, CKAD y CKS. Y yo estaba realmente dispuesto a dedicar tiempo y esfuerzo a diseñar algo que ayudara a los candidatos a la certificación KCNA a (1) aprender sobre Kubernetes y el ecosistema y el panorama nativos de la nube, y (2) aprobar el examen y aprovecharlo para conseguir increíbles oportunidades profesionales. Quería demostrar que incluso los temas más difíciles se pueden explicar de una manera que ayudará a todo tipo de profesionales con la mejora y la recapacitación.

El resto es historia. El maravilloso equipo de O’Reilly me dio la oportunidad de sentarme y escribir este libro, una guía relativamente ligera para que los candidatos comprendan lo que deben aprender, de pragmática y sencilla, que también sirve como punto de partida para su nuevo viaje nativo en la nube. Fue una tarea bastante difícil de gestionar además de mi vida profesional (es decir, trabajar en Microsoft, dar clases, dar conferencias internacionales, etc.). Pero mereció totalmente la pena. Me gusta mucho el tema y me encanta enseñar y escribir contenidos. Ser un autor de libros es uno de mis principales objetivos personales, y el CCNA es un área de estudio y trabajo muy relevante y escalable. A ver si esta pasión puede traducirse en un recurso estupendo y útil para profesionales jóvenes y experimentados. Si este libro ayuda solo a algunos de ellos me sentiré muy satisfecho, lo mismo como cuando enseño a un pequeño grupo de estudiantes. Contribuir a crear una nueva generación de profesionales habilitados para la nube es muy guay. Disfruten de esta guía de estudio.

- Adrián González Sánchez

La tecnología evoluciona rápidamente y, la mayoría de las veces, incluso más rápido de lo que el mercado puede averiguar para aprovecharla. Uno de los mayores catalizadores que marcan el ritmo de la innovación a todos los niveles es el movimiento “Open”. En sus primeras etapas, sus raíces se establecieron bajo el dogma del software de que, por el bien del mundo, todo el código debería ser abierto.

Hoy en día, la filosofía “Open” no solo está relacionada con el software, sino con muchos otros ámbitos de la informática (por ejemplo, los datos y el hardware, donde hay proyectos y comunidades que trabajan duro para establecer los mismos principios y lecciones aprendidas del lado del software). Para alguien como yo (Jorge), cuya carrera empezó en la era de las puntocom, era impensable anticipar la ola de innovación que se estaba forjando bajo el poder de las comunidades de código abierto.

Cuando trabajé para Sun Microsystems en 2006, empecé a comprender el impacto real que pueden tener en la sociedad las personas con ganas de cambiar el mundo para bien. Tuve la oportunidad de conocer a personas cuya vida profesional estaba dedicada al 100 % a escribir código con un propósito mayor del que yo podía imaginar en aquel momento. Fue un punto de inflexión en mi madurez profesional y cambió por completo el rumbo de mi carrera. Comprendí que un proyecto de software en el que personas con diferentes intereses, puntos de vista y habilidades tienen la libertad de crearlo, proponerlo y hacerlo evolucionar solo para contribuir a resolver un problema, o mejorar métodos en áreas específicas de la industria, crea un “sentido de pertenencia” que no se puede ver en ningún otro sitio.

Si tienes este libro en tus manos, es porque de una forma u otra algo ha despertado tu interés en el espacio nativo de la nube. Este ámbito es sin duda uno de los motores en los que la comunidad del código abierto trabaja duro para evolucionar la forma en que desarrollamos aplicaciones y cómo las ejecutamos en una época en la que las expectativas de los usuarios finales son más altas que nunca, se espera que la inteligencia artificial sea la revolución de nuestro tiempo y el software tiene que desplegarse en todas partes (desde dispositivos muy pequeños como bombillas, termostatos o incluso frigoríficos hasta dispositivos críticos como vehículos, aviones, trenes y naves espaciales), a menudo varias veces por semana (incluso por día). Atrás quedaron los días en que se esperaba ansiosamente la nueva versión de un sistema operativo o una aplicación cuyo rendimiento creaba una mala experiencia de usuario.

Si el espacio nativo de la nube te parece un área en la que se está produciendo innovación, déjame decirte algo: ¡lo es! Y tanto si obtener la certificación KCNA es tu primera inmersión en el ecosistema nativo de la nube como si es otro paso en tu carrera, merecerá la pena. Esta es mi primera experiencia escribiendo un libro, y como “creyente” del software de código abierto, y habiendo pasado toda mi vida profesional vinculada de alguna manera a él, siento una gran responsabilidad ante la oportunidad de difundir la pasión por la nube nativa y, en concreto, por el proyecto Kubernetes a través de este libro.

Si estás leyendo este libro, tengo un consejo: aprende algo nuevo cada día. Conecta con la comunidad (pronto verás lo gratificante que es) y no seas tímido a la hora de compartir tu pasión por proyectos con los que tengas una conexión personal. Y al increíble equipo de O’Reilly y a Adrián (mi compañero en esta aventura): ¡no podría imaginar un equipo mejor para convertir un sueño en realidad!

- Jorge Valenzuela Jiménez

Cómo está organizado este libro

Este libro consta de siete capítulos que contienen los conocimientos integrales que se espera que tenga cuando decida presentarse al examen KCNA. Son capítulos aplicados y descriptivos que cubren temas relevantes para el examen, además de información contextual que le ayudará a comprender el panorama completo del espacio nativo de la nube y Kubernetes. Repasemos cada uno de ellos:

Capítulo 1. Introducción a la Certificación KCNA y Guía de Estudio

El primer capítulo es el punto de entrada al mundo de Kubernetes y las tecnologías nativas de la nube, con una introducción en profundidad a la certificación Kubernetes and Cloud Native Associate (KCNA). El principal objetivo es que comprenda su relevancia global, las oportunidades que abre a los profesionales y cómo esta guía de estudio está diseñada de forma única para cubrir cada matiz del temario, apoyándose en ejemplos del mundo real y en la visión de expertos.

Capítulo 2. El examen KCNA como punto de partida

El segundo capítulo profundiza en lo que implica el examen KCNA. Este capítulo no solo aborda el formato y la estructura, sino que también explica en detalle el peso de cada dominio, los tipos de preguntas que cabe esperar y la importancia de esta certificación en su trayectoria profesional. Le servirá como hoja de ruta personal para navegar por las complejidades del examen.

Capítulo 3. La CNCF y la nueva era de la nube nativa

El tercer capítulo incluye una descripción detallada de la Cloud Native Computing Foundation (CNCF), incluida su misión, visión y contribuciones al universo nativo de la nube. Aprenderá cómo las iniciativas y proyectos de la CNCF están redefiniendo la informática y comprenderá los matices del impacto transformador de la nube nativa en las empresas, desde las startups hasta las grandes compañías. También se explorarán algunas tecnologías relevantes más allá de Kubernetes.

Capítulo 4. Conceptos esenciales para los profesionales de la nube nativa

El cuarto capítulo es una exploración descriptiva de la computación en la nube y de los conceptos fundamentales de la nube nativa. Se profundizará en temas como los modelos as-a-service, la contenerización, los microservicios y las API declarativas. La idea es equiparlo con información adicional para su examen KCNA, pero también ayudarlo a comprender las implicancias de estos conceptos en el desarrollo, la implementación y las operaciones de software, y entender su interacción en la creación de sistemas sólidos, escalables y resistentes.

Capítulo 5. El papel clave de Kubernetes

Kubernetes (también conocido como K8s) es más que una palabra de moda; es un ecosistema de tecnologías muy relevantes. Comprenderá sus orígenes, su meteórico ascenso en el mundo de la tecnología y por qué destaca como la principal herramienta de orquestación de contenedores. Este capítulo disecciona su arquitectura, la filosofía que subyace a sus principios de diseño y su papel fundamental en la implementación satisfactoria de estrategias nativas de la nube.

Capítulo 6. Temas técnicos de Kubernetes

El sexto capítulo es donde las cosas (técnicas) se ponen serias. Nos sumergimos en los detalles técnicos de Kubernetes, desde la comprensión de las complejidades de Pods, Implementaciones y Servicios para desentrañar temas más complejos como los controladores de entrada, las políticas de red, el almacenamiento persistente y las aplicaciones con estado. A través de explicaciones detalladas y visuales obtendrá una profunda comprensión de cómo funciona Kubernetes.

Capítulo 7. Recomendaciones finales

Antes de presentarse al examen KCNA, este capítulo le proporciona un último conjunto de herramientas y algunos consejos finales. Benefíciese de una lista de recursos y consejos reales de profesionales que han recorrido con éxito este camino. Este libro cubre los bloques de aprendizaje paso a paso de su viaje KCNA. Ahora cabe hablar de para quién se ha escrito este libro.

A quién va dirigido este libro

Si está leyendo este libro, es probable que tenga algún conocimiento preliminar o interés en la computación en la nube y los temas nativos de la nube. Por ejemplo, antes de comenzar la preparación para el KCNA, es posible que se haya beneficiado de las ofertas de computación en la nube en temas como los hiperescaladores, los fundamentos de Linux, la experiencia en línea de comandos y la telemática y las redes. El escenario perfecto incluiría incluso de 6 a 12 meses de experiencia práctica con Kubernetes.

Pero se sabe que no siempre es así. Es comprensible que, si está comenzando su andadura en la nube nativa con la certificación KCNA, puede que falten algunos o todos estos bloques de conocimientos. Independientemente de su perfil, aquí tiene algunas recomendaciones sobre los conocimientos preliminares que debería tener antes de iniciar el viaje hacia la certificación:

Conocimientos básicos de computación en la nube

Esta guía de estudio cubrirá los fundamentos, pero sería bueno que conociera los fundamentos de la nube pública y privada. Para ello, puede basarse en los recursos de O’Reilly existentes, como libros y lecciones en vídeo. Incluso podría explorar algunas certificaciones de nivel de entrada en la nube de los principales hiperescaladores como AWS Certified Cloud Practitioner, Microsoft Certified: Azure Fundamentals, o Google Cloud Digital Leader. Todas ellas incluyen términos que le ayudarán a comprender los recursos y capacidades de la computación en la nube, que podrá aplicar fácilmente aprovechando los increíbles recursos de laboratorio en nube de O’Reilly.

Mentalidad de desarrollador

Esto no significa que usted necesite ser un desarrollador pero es probable que tenga que entender los fundamentos del desarrollo de software, la noción de microservicios (que vamos a cubrir en los capítulos siguientes), y algunos términos básicos del ciclo de vida del software. Como antes, definitivamente puede aprovechar otros recursos de aprendizaje de O’Reilly para explorar los fundamentos del desarrollo de software.

Conocimiento del sector

En este se cubrirá el conocimiento de la industria, pero le vendrá bien tener una visión clara de las empresas tecnológicas relacionadas con el sector de la computación en la nube y la nube nativa. Nombres como Google, Red Hat, Microsoft y AWS ya deberían sonarle, pero si conoce su oferta de soluciones, este proceso le parecerá un poco más sencillo. También conocerá los servicios gestionados de Kubernetes de las empresas líderes en el Capítulo 6.

Contenedores y Kubernetes

En el mejor de los casos, ya habrá utilizado Kubernetes, Docker y otras tecnologías relacionadas antes de realizar el examen. Dicho esto, este libro cubre los fundamentos necesarios para aprobar el examen, recursos adicionales para que continúe aprendiendo y aspectos técnicos como comandos y elementos de arquitectura, que pueden ayudarle con preguntas específicas del examen. Además, puede aprovechar los elementos de aprendizaje de O’Reilly interactivo, como las sandbox de Kubernetes y Docker, para practicar cualquier tipo de despliegue y configuración, incluidos los comandos kubectl, que explorará en el Capítulo 6.

En cuanto a las funciones, puede que esté empezando en el mundo de la tecnología, que sea un profesional con experiencia de otra área técnica, un gestor técnico o incluso un líder que busca comprender mejor estos temas. O tal vez esté buscando nuevas oportunidades profesionales. En la Figura P-1 puede ver los perfiles típicos de los candidatos al examen para la certificación KCNA.

Figura P-1Funciones típicas de los candidatos al examen de ARNC

Independientemente de su experiencia previa, la motivación es clave para alcanzar el objetivo real de esta guía de estudio: aprender los fundamentos de la nube nativa, incluyendo Kubernetes, y por supuesto pasar el examen KCNA, que no es una prueba de conocimiento o experiencia por sí mismo. Pero, sin duda, es un gran primer paso para cualquiera que quiera unirse a la industria de la nube nativa, y un activo de cartera de gran alcance para nuevas oportunidades de carrera. En el Capítulo 7 se recomiendan otros recursos de la comunidad y de aprendizaje que complementarán su viaje de actualización de conocimientos.

Independientemente de sus actividades actuales, aquí tienes algunos ejemplos de funciones nativas de la nube que pueden inspirarle para continuar su camino de aprendizaje nativo de la nube en función de las posibles opciones profesionales:

Desarrolladores de software

Los desarrolladores de software son responsables de diseñar, codificar y probar los microservicios que componen las aplicaciones nativas de la nube. Utilizan herramientas y lenguajes adecuados para el entorno de la nube y siguen las mejores prácticas de DevOps y entrega continua.

Ingenieros de operaciones

Se encargan de desplegar, monitorizar y gestionar las aplicaciones nativas de la nube en la plataforma elegida. Utilizan tecnologías de contenedores como Docker o Kubernetes para orquestar microservicios y garantizar su disponibilidad y rendimiento.

Arquitectos de soluciones

Definen la visión, el alcance y la arquitectura de las aplicaciones nativas de la nube. Se aseguran de que los microservicios estén bien definidos, integrados y documentados. También evalúan las necesidades empresariales y los requisitos técnicos para elegir la mejor plataforma y los mejores servicios en la nube.

Analistas comerciales

Son quienes identifican las oportunidades, los problemas y las necesidades del cliente o usuario final. Colaboran con los desarrolladores, ingenieros y arquitectos para definir las funcionalidades, los casos de uso y los criterios de aceptación de las aplicaciones nativas de la nube.

Jefes de proyecto

Planifican, coordinan y supervisan todo el ciclo de vida del desarrollo y la implantación de aplicaciones nativas de la nube. Gestionan el presupuesto, el calendario, el alcance y los riesgos del proyecto. También facilitan la comunicación entre todas las partes implicadas en el proyecto.

Ingenieros nativos de la nube

Son los responsables del diseño, desarrollo y despliegue de aplicaciones basadas en microservicios, contenedores y plataformas en la nube.

Ingenieros de seguridad

Están dedicados a proteger las aplicaciones nativas de la nube frente a amenazas externas, e internas, aplicando las mejores prácticas de seguridad desde el diseño hasta el funcionamiento.

Ingenieros de FinOps

Están especializados en optimizar el uso de los recursos de la nube para reducir los costes operativos y mejorar la eficiencia energética.

Ingenieros de control de calidad

Están centrados en garantizar la calidad y fiabilidad de las aplicaciones nativas de la nube mediante pruebas automatizadas, la supervisión continua y la resolución de problemas.

Profesionales comerciales y de ventas

Personas sin conocimientos técnicos que trabajan para empresas que utilizan la nube y/o venden soluciones de software como servicio (SaaS).

Tómese un tiempo para reflexionar sobre sus objetivos personales, además del examen y la certificación KCNA. ¿Qué quiere conseguir? ¿En qué rol se ve a futuro? ¿Qué tipo de competencias necesita para lograrlo y qué porcentaje de ellas están ya cubiertas en la certificación del KCNA?

A continuación, se analizará lo que esta guía de estudio aportará de forma realista a su viaje de aprendizaje, y certificación, teniendo en cuenta que ningún libro o recurso será una única fuente de aprendizaje para todas sus actividades de perfeccionamiento.

Qué esperar de esta guía de estudio

Antes de empezar, debe saber que esta guía de estudio KCNA no es un libro normal. Sí, tiene contenido basado en texto, pero la idea es que sea un apoyo vivo para su viaje de actualización nativa de la nube, además de ayudarle a preparar y aprobar el examen KCNA. En comparación con otros libros y guías de estudio sobre Kubernetes, no solo se centra en el contenido del examen, sino también en aspectos adicionales que pueden completar su experiencia de aprendizaje.

Para ello, se incluyen opiniones exclusivas de expertos y entrevistas con algunos de los actores clave de Kubernetes y KCNA, enlaces y referencias a repositorios de la comunidad relevantes, ricos y en gran evolución y, por supuesto, mucho conocimiento aplicado. Para este último punto, se compartirán ejemplos de cómo las empresas están adoptando tecnologías nativas de la nube y generando valor para sus productos y clientes.

Convenciones que se utilizan

En este libro se utilizan las siguientes convenciones tipográficas:

Cursiva

Indica nuevos términos, URL, direcciones de correo electrónico, nombres de archivo y extensiones de archivo.

Anchura constante

Se utiliza para listados de programas, así como dentro de párrafos para referirse a elementos del programa, como nombres de variables o funciones, bases de datos, tipos de datos, variables de entorno, sentencias y palabras clave.

Negrita de anchura constante

Se utiliza para llamar la atención sobre fragmentos de interés en bloques de código.

Este elemento significa una nota general.

CAPÍTULO 1

Introducción a la certificación KCNA y guía de estudio

El impulso del movimiento nativo de la nube es imparable. No solo por el proyecto Kubernetes (no se preocupe si no lo conoce, este libro le equipará con toda la información relevante), sino también gracias al crecimiento exponencial y las contribuciones de la comunidad nativa de la nube en los últimos. Hoy en día existen ecosistemas dirigidos por la comunidad para organizaciones, profesionales e incluso inversores, y la Cloud Native Computing Foundation (CNCF) está desempeñando el papel principal como catalizador. Eche un vistazo al CNCF Landscape, verá más de 1200 fichas que representan a las grandes y pequeñas empresas implicadas en actividades nativas de la nube, alrededor de 820 miembros de empresas y una rica lista de proyectos con un asombroso nivel de compromiso de la comunidad.

Definición de nube nativa

Pero antes de entrar en materia, ¿qué es exactamente “nativo de la nube” y qué significa para una empresa que lo adopte? Más adelante se hablará de la diferencia entre computación en la nube general y nativa de la nube, pero, aunque “nativo de la nube” no tiene una definición única, cabe echar un vistazo a la definición del CNCF como fuerza orientadora:

Las tecnologías nativas de la nube permiten a las organizaciones crear y ejecutar aplicaciones escalables en entornos modernos y dinámicos, como nubes públicas, privadas e híbridas. Los contenedores, las mallas de servicios, los microservicios, la infraestructura inmutable y las API declarativas ejemplifican este enfoque. Estas técnicas permiten sistemas de acoplamiento flexible que son resistentes, gestionables y observables. Combinadas con una automatización robusta, permiten a los ingenieros realizar cambios de gran impacto de forma frecuente y predecible con el mínimo esfuerzo.

En pocas palabras, significa tener acceso a las ventajas técnicas típicas de los sistemas basados en la nube, independientemente del entorno de trabajo. Ahora se verán otras definiciones de grandes empresas tecnológicas, que obviamente están relacionadas, pero aportan perspectivas diferentes según la organización y su experiencia:

Google

La nube nativa es un enfoque de la creación y ejecución de aplicaciones escalables para aprovechar al máximo los servicios y modelos de prestación basados en la nube.

Red Hat

Las aplicaciones nativas de la nube son una colección de servicios pequeños, independientes y poco acoplados. Están diseñadas para ofrecer un valor empresarial bien reconocido, como la capacidad de incorporar rápidamente los comentarios de los usuarios para una mejora continua.

Microsoft

La arquitectura y las tecnologías nativas de la nube son un enfoque para diseñar, estructurar y operar cargas de trabajo que se construyen en la nube y aprovechan al máximo el modelo de computación en la nube.

IBM

Una aplicación nativa de la nube consta de componentes discretos y reutilizables conocidos como microservicios, diseñados para integrarse en cualquier entorno de nube.

Oracle

El término nativo de la nube se refiere al concepto de crear y ejecutar aplicaciones para aprovechar la computación distribuida que ofrece el modelo de entrega en la nube. Las aplicaciones nativas de la nube están diseñadas y creadas para explotar la escala, elasticidad, resistencia y flexibilidad que ofrece la nube.

Servicios web de Amazon (AWS)

Las aplicaciones nativas de la nube son programas de software que constan de múltiples servicios pequeños e interdependientes denominados microservicios. Tradicionalmente, los desarrolladores construían aplicaciones monolíticas con una única estructura de bloques que contenía todas las funcionalidades necesarias. Al utilizar el enfoque nativo de la nube, los desarrolladores de software dividen las funcionalidades en microservicios más pequeños. Esto hace que las aplicaciones nativas de la nube sean más ágiles, ya que estos microservicios funcionan de forma independiente y necesitan un mínimo de recursos informáticos para ejecutarse.

Aparte del hecho de que la nube nativa es un componente fundamental para todas las actividades de estas empresas, e independientemente de las definiciones específicas, el punto importante del desarrollo en la nube nativa es la capacidad de aprovechar las capacidades de la computación en la nube y desarrollar aplicaciones de forma sostenible y escalable mediante la aplicación de microservicios, la contenerización y otras tecnologías y enfoques.

Pero este nivel de adopción llevó algún tiempo. En las dos últimas décadas se ha asistido al inicio de lo que cabe definir como la nueva era de la nube nativa. Es una nueva era por la aparición de la CNCF, que ha ido creciendo desde su fundación en 2015, tanto a nivel de comunidad como de tecnología (se profundizará sobre esto más a fondo en el Capítulo 3).