Actividad integradora
Competencia de la credencial:
Implementa Kubernetes, empaquetado y monitoreo en DevOps para la entrega de software de manera óptima en las áreas funcionales de las empresas.
Instrucciones:
Fortalecerás tus conocimientos en el manejo de DevOps mediante la elaboración de una actividad integradora, la cual incluye los pasos para el desarrollo de una aplicación fundamentada en microservicios, implementando una infraestructura que se basa en contenedores a través de Kubernetes y desarrollando el empaquetado de microservicios con Helm y GitHub, además de utilizar el monitoreo para DevOps.
En este proyecto necesitarás trabajar en los pasos y en la preparación del entorno de desarrollo, donde se busca hacer una aplicación para una organización o empresa que brinde diversos servicios, por ejemplo, agencias automotrices, empresas de seguros, afores o financieras, empresas de mantenimiento en equipos de cómputo o tiendas departamentales que necesiten programar cargas de trabajo en contenedores con monitoreo en tiempo real.
Realiza un documento en el que indiques el diseño basado en Kubernetes, el empaquetado de microservicios y la implementación del monitoreo para DevOps.
- Selecciona un proyecto a desarrollar. Si cuentas con experiencia en el desarrollo de proyectos con diversos servicios que requieran las características antes señaladas, considera trabajar en un proyecto ya existente, adaptado al uso de Kubernetes, empaquetado y monitoreo.
En caso de no contar con experiencia previa en el desarrollo de aplicaciones, es recomendable buscar un cliente potencial o una persona interesada en el desarrollo de una aplicación basada en microservicios. Considera tener una entrevista con este cliente potencial para conocer las necesidades que el proyecto debe cubrir.
- Utiliza la plataforma Kubernetes para automatizar la implementación y la administración de la aplicación en contenedores, eligiendo uno de los servicios de contenedores administrados para ejecutar y escalar aplicaciones Kubernetes, ya sea AWS EKS, Azure AKS, Google GKE o RedHat.
- Crea un repositorio en GitHub privado para administrar las versiones de tu proyecto, documenta su uso y cómo se desarrolla la aplicación, además de crear flujos de trabajo y probar solicitudes de cambios que se relacionen con producción, utilizando GitHub Actions.
- Utiliza Helm Chart para definir e instalar la aplicación. Posteriormente, realiza una actualización de esta.
- Esquematiza tu aplicación para que tenga cadenas de flujos (pipelines) y adecua el desarrollo al ciclo de vida en DevOps.
- Implementa un sistema de monitoreo con Prometheus para recopilar y crear métricas usadas como series de tiempo, y Grafana para visualizar los datos generados de series temporales.
- Presenta el diseño de una solución que incluya los requerimientos del cliente, la implementación de Kubernetes, el empaquetado con Helm y el uso de GitHub Actions, así como la utilización de Prometheus y Grafana para la realización del monitoreo. Crea una captura de pantalla con los archivos scripts para el diseño de la aplicación.
Criterios de evaluación:
- Desarrollar la aplicación solicitada utilizando Kubernetes de acuerdo con la selección y las necesidades de la empresa, organización o cliente.
- Seleccionar e implementar uno de los siguientes servicios para la aplicación en Kubernetes: AWS EKS, Azure AKS, Google GKE o RedHat.
- Usar Helm, para la instalación y el versionado de la aplicación.
- Usar GitHub y GitHub Actions para realizar los pipelines de CI/CD.
- Realizar y capturar evidencias del diseño de microservicios utilizando pipelines.