No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de Introducción a la Nube

Curso de Introducción a la Nube

Carlos Andrés Zambrano Barrera

Carlos Andrés Zambrano Barrera

Arquitectura base con contenedores

25/27
Recursos

Aportes 10

Preguntas 5

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Cuando la app corre en un orquestador de contenedores (nuestro backend corre en contenedores):
DIFERENCIAS (backend). KUBERNETES va a ser el orquestador de los contenedores:
Vamos a tener por lo menos 2 zonas donde en cada zona va a ver al menos 1 servidor. Cada servidor va a tener los contenedores donde van a correr los microservicios.
Ejemplo de microservicios para PlatziWallet: pagos, cobros, saldo, cash-in (consignación), cash-out (retirar), etc.
ESCALAMIENTO: por servidores pero también por microservicios. Porque la escalabilidad del microservicio de cash-in es diferente a la escalabilidad del servicio pagos. Porque se puede ingresar dinero una vez (cash-in) pero realizar 25 pagos.
Tengo 2 tipos de escalabilidad: del servidor y del microservicio (contenedor).

  • Por SERVIDOR. reglas como: el microservicio de cobros si lo tengo que escalar lo hago en el servidor que tenga disponible menos ram.

  • Por MICROSERVICIO (servicio de contenedores serverless). El CP se encarga de los servidores. Es más sencillo el escalamiento porque nos enfocamos en el microservicio puntual y no como escalamos los servidores.

CICD: configurar estrategia para llegar a desplegar determinado servicio, versionamiento del microservicio, como lo voy a desplegar, etc.
REPO de código: como va a ser el CICD, que pasos se van a automatizar, qué pruebas le voy a hacer a la imagen.
BASES de DATOS: vamos a usar el STORAGE de los servidores incrementales u otro tipo.

Imagina que estás jugando un videojuego en el que puedes diseñar y personalizar tu propio mundo. A medida que juegas, tienes nuevas ideas y quieres agregar más cosas, o tal vez descubres un pequeño error que quieres corregir. Ahora, piensa en cómo podrías hacer esas actualizaciones y mejoras de manera rápida y sin problemas.

CI/CD es como tener dos superpoderes mágicos para tu juego:

CI (Integración Continua): Cada vez que haces un cambio, como agregar un nuevo árbol o corregir un error en una casa que construiste, este superpoder automáticamente comprueba que tu cambio no haya causado ningún otro problema en el juego. Es como tener un asistente que revisa instantáneamente que todo sigue funcionando bien después de tu actualización.

CD (Entrega/Despliegue Continuo): Una vez que estás seguro de que tu cambio es bueno y no causa problemas, este segundo superpoder automáticamente coloca ese cambio en tu mundo de juego para que todos puedan verlo y jugar con él. No tienes que esperar ni hacer nada complicado; el cambio simplemente aparece y todos pueden disfrutarlo.

Entonces, CI/CD es como tener herramientas mágicas que te ayudan a hacer mejoras y arreglos en tu juego (o en software real) de manera rápida, segura y automática. Es como actualizar y mejorar constantemente tu mundo virtual sin tener que detener el juego o hacer esperar a tus amigos para ver las novedades.

1. **Repositorio (REPO) y CI/CD**: * **REPO**: Repositorio de código fuente donde los desarrolladores suben el código de la aplicación. * **CI/CD (Integración Continua y Despliegue Continuo)**: Pipeline automatizado que construye, prueba y despliega el código de la aplicación de manera continua. El código del REPO se pasa al sistema CI/CD, que construye nuevas imágenes de contenedores y las despliega en Kubernetes.

para kubernetes creo un contenedor en docker que tenga un servidor web nginx que muestra una página web sencilla en html.
Para ci/cd uso la herramienta gitlab

CI/CD (Integración Continua/Despliegue Continuo) es un conjunto de prácticas que automatizan la construcción, prueba y despliegue de aplicaciones. En el contexto de arquitecturas en la nube y contenedores, como se mencionó en la clase, CI/CD se utiliza para asegurar que las aplicaciones se integren y desplieguen de manera eficiente y confiable. Esto permite realizar cambios frecuentes en el código, correr pruebas automáticas y desplegar actualizaciones sin interrumpir el servicio, mejorando así la calidad del software y la productividad del equipo de desarrollo.
![](https://static.platzi.com/media/user_upload/image-976537e2-63b2-4be9-be49-e8146bd6d966.jpg)
Muchas dudas de Cloud fundamentals me quedaron claras. Mucho mejor con las explicaciones mediante diagramas. Excelente. Gracias.

Architectura pensada para una aplicación de compra y venta de llaves para videojuegos.