Skip to content

Laboratoria/DEV015-container-service-deployment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

API Deployment on Container Service

Índice


1. Consideraciones generales

  • Para poder implementar este proyecto debes implementar primer el API Deployment with Docker.
  • Este proyecto lo resolvemos de manera --individual--.
  • El rango de tiempo estimado para completar el proyecto es de 1 a 2 Sprints.

2. Preámbulo

Contenedores

Contenedores

Photo by Frank Mckenna

AWS ECS (Elastic Container Service) es un servicio diseñado para simplificar el despliegue y la gestión de aplicaciones basadas en contenedores, permitiendo a las desarrolladoras centrarse en el código en lugar de la infraestructura. Ambos proporcionan escalabilidad automática, gestionando la capacidad de los recursos según la demanda de la aplicación. Además se integra de manera eficiente con otros servicios de AWS, facilitando una experiencia cohesiva y flexible para construir y desplegar aplicaciones en la nube.

La currícula de Laboratoria incluye 4 proyectos enfocados en desplegar la Fleet Management API en la nube. Cada proyecto se distingue por utilizar diferentes métodos de despliegue, lo que te permitirá aprender y aplicar diversas estrategias para desplegar tu aplicación en producción en un entorno real.

Proyectos Laboratoria

Ruta Devops

3. Resumen del proyecto

En este proyecto desplegarás la aplicación usando Amazon Elastic Container Service (ECS).

Para este proyecto necesitarás la imagen Docker que construiste en el proyecto API Deployment on Docker File. Si aún no la tienes, por favor implementa primero este proyecto.

4. Paso a paso general para el despliegue en Amazon ECS

Podemos seguir el siguiente paso a paso general para desplegar la Fleet Management API independientemente del lenguaje de programación en que esta implementada

  • Paso 1: Subir la imagen docker a un Registro de Contenedores (Amazon ECR)
  • Paso 2: Desplegar la aplicación en Amazon ECS creando un cluster EC2, definiendo una tarea ECS y un servicio ECS.
  • Paso 3: Configurar el acceso externo para acceder a tu API utilizando la URL pública proporcionada por AWS.
  • Paso 4: Monitorizar y gestionar la aplicación

5. Paso a paso detallado para el despliegue en Amazon ECS

1. Sube la imagen Docker a Amazon ECR (Elastic Container Registry)

Amazon ECR es un servicio en la nube que te permite almacenar tus imágenes Docker de forma segura y eficiente. Amazon ECR actúa como un "repositorio" para imágenes Docker, similar a cómo GitHub actúa como un repositorio para código fuente. ECR se integra fácilmente con otros servicios de AWS, como Amazon ECS (Elastic Container Service). Esto simplifica el despliegue de tus aplicaciones en contenedores dentro del entorno de AWS.

En este proyecto almacenaremos en Amazon ECR la imagen docker que hemos definido para empaquetar nuesta aplicación. Tómate un tiempo para familiarizarte con ECR. Puedes seguir el tutorial oficial de ECR o cualquier otro disponible en internet. Asegúrate que al final tengas respuestas claras para las siguientes preguntas:

  • ¿Cómo creas un repositorio en Amazon ECR?
  • ¿Cómo te autenticas en Amazon ECR desde tu máquina local?
  • ¿Cómo subes una imagen Docker a Amazon ECR?
  • ¿Cómo gestionas las imágenes en Amazon ECR?
  • ¿Cómo haces pull a tu computadora de una imágen subida a Amazon ECR?

Finalmente, sube la imagen Docker que constuiste para empaquetar tu aplicación en un repositorio de Amazon ECR.

2. Crear un clúster tipo EC2, una tarea y servicio en ECS

El siguiente paso es entonces desplegar la imagen docker en cluster de instancias EC2 usando Amazon ECS (Elastic Container Service).

Tómate un tiempo para familiarizarte con ECS. Puedes seguir este tutorial o cualquier otro disponible en internet. Asegúrate que al final tengas respuestas claras para las siguientes preguntas:

  • ¿Cómo se crea un clúster en Amazon ECS?
  • ¿Qué es una tarea en ECS y cómo se configura?
  • ¿Qué es un servicio en ECS y cómo garantiza que las tareas se mantengan en funcionamiento?
  • ¿Cómo se despliega un servicio en ECS?
  • ¿Qué es el autoescalado en ECS y cómo se configura?
  • ¿Cómo se integra ECS con otros servicios de AWS como ECR?
  • ¿Cómo se realiza un despliegue de una nueva versión de una aplicación utilizando ECS?
  • ¿Cómo solucionas problemas si tu aplicación en Amazon ECS no se está ejecutando correctamente?

Finalmente, usa ECS para desplegar la imagen docker de tu aplicacion creando un clúster, una tarea y un servicio.

3. Monitorizar y gestionar la aplicación

Usa la la IP pública de tu clúster EC2 para probar tu API con una coleccion de Postman. Puedes utilizar esta colección de ejemplo.

6. Consideraciones para pedir tu Project Feedback

Antes de agendar tu Project Feedback con tu coach, asegúrate de tener una coleccion de Postman para probar la API que desplegaste en Amazon ECS.

7. Objetivos de aprendizaje

Reflexiona y luego marca los objetivos que has llegado a entender y aplicar en tu proyecto. Piensa en eso al decidir tu estrategia de trabajo.

DevOps

Servicio de orquestación de contenedores

  • Describir los componentes clave de un sistema de orquestación, como clústeres, tareas, servicios y balanceadores de carga

  • Crear y configurar definiciones de contenedor y tareas que incluyan todos los componentes necesarios para ejecutar un aplicación, como imágenes Docker, variables de entorno, volúmenes y configuraciones de red

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published