Reto 5. Diseño de una estructura de datos básica en Python
Clase 21 de 48 • Curso de Arquitectura de Aplicaciones con Docker 2018
Contenido del curso
Contenedores: ¿Qué son?
- 1

Contenedores: Qué son y cómo encajan con DevOps
08:35 min - 2

Ejemplo: Casos de uso de contenedores en las empresas
01:40 min - 3

Bases físicas y lógicas de los contenedores
02:35 min - 4

Reto 1. Herramientas necesarias para trabajar con Docker
07:44 min - 5

Reto 2. Sistemas de contenedores: historia, parecidos y diferencias
01:34 min
Uso básico de contenedores
- 6

Retos en la instalación de Docker en diferentes sistemas
11:25 min - 7

Validación de post instalación de Docker
02:44 min - 8

Uso básico de Docker: Imágenes, contenedores de Docker
13:25 min - 9

¿Qué hay en un contenedor?
10:41 min - 10

Volúmenes y almacenamiento de la información en contenedores
03:03 min - 11

Gestionando los contenedores instalados
08:21 min - 12

Reto 3. Trabajando con imágenes 'oficiales'
01:19 min - 13

Solución al reto 3
04:26 min - 14

Reto 4. Uso de imágenes locales
00:55 min - 15

Plugins: funcionalidad añadida y algún plugin interesante
06:56 min - 16

Configuración de Docker
00:59 min
Microservicios; APIs con REST
- 17

Protocolo HTTP, órdenes y mensajes de estado
04:22 min - 18

Qué es un API REST y buenas prácticas en su diseño
04:15 min - 19

Implementando un API REST en diferentes lenguajes
02:52 min - 20

Implementando un API REST en Python y ejecutándolo
04:24 min - 21

Reto 5. Diseño de una estructura de datos básica en Python
Viendo ahora
Contenedores y microservicios
- 22

Aislando microservicios en contenedores: Uso de Dockerfiles
11:31 min - 23

Puertos y cómo configurarlos
07:59 min - 24

Invocando contenedores
06:53 min - 25

ENTRYPOINT y CMD
03:52 min - 26

Trabajando con datos: Volúmenes
04:42 min - 27

Reto 6. "Contenedorizar" una aplicación usando Dockerfiles y despliegue
01:51 min - 28

Herramientas básicas en arquitecturas de microservicios
02:29 min - 29

Instalación de docker-compose
02:32 min - 30

Componiendo servicios con docker-compose.
09:30 min - 31

Usando docker stack deploy
05:39 min - 32

Creando puentes de red
08:42 min - 33

Reto 7. Desplegando un microservicio en la nube usando PaaS
01:42 min
Despliegue de contenedores en la nube
- 34

Instalación del cliente de Azure
03:14 min - 35

Clientes de servicios cloud y como usarlos en nuestra aplicación
13:37 min - 36

Creación de un contenedor en la nube
08:08 min - 37

Despliegue seguro de microservicios
07:44 min - 38

Integrando contenedores en aplicaciones en la nube
04:49 min - 39

Instalando Docker Cloud
01:54 min - 40

Iniciación al API de Docker Cloud
07:35 min - 41

Usando cloud.docker.com
07:01 min - 42

Uso de Docker Cloud, cómo desplegar un servicio en un contenedor
07:40 min - 43

Cómo desplegar un stack
10:43 min - 44

Reto 9: desplegando en una nube comercial
01:37 min
Orquestación de contenedores
Introducción
Casi todas las aplicaciones empresariales de hoy en día se crean a base de microservicios, usando los principios SOLID o la arquitectura cebolla, o alguna arquitectura de software que combina diferentes servicios web, posiblemente en diferentes lenguajes, en un todo sólido. Cada uno de los servicios se puede desplegar y escalar de forma independiente.
Para crear un servicio web se parte de los datos con los que se quieren trabajar. Por el momento vamos a suponer que los datos se leen de un fichero de configuración o están ya contenidos en el propio programa; en la práctica, el estado se externalizará y almacenará en otro microservicio, una base de datos tradicional o NoSQL. Lo que nos interesa en este caso es crear un servicio web que sea configurable, sobre todo en el puerto en el que se sirve y en las direcciones a las que escucha, y que se pueda desplegar fácilmente.
Siempre que se trabaje en un programa, deberá de ir en un repositorio para poder comprobar fácilmente los cambios, comprobar diferentes versiones y hacerle pasar tests con ayuda de alguna herramienta externa.
Una vez que se tengan los datos y la configuración básica, el servicio web deberá incluir lo necesario para que esos datos se puedan servir de forma que se requiera y también se puedan modificar, el ciclo básico CRUD (create, read, update y delete). Cada una de esas instrucciones básicas corresponde a una orden HTTP (PUT, GET, POST y DELETE) y en un servicio web se pueden implementar todas ellas.
Finalmente, el servicio web puede ejecutarse. En la mayoría de los casos, se puede ejecutar directamente, si bien es más conveniente usar aplicaciones externas que se aseguren, por ejemplo, de que hay varias copias en funcionamiento y realizan tanto funciones de configuración como de monitorización. En el caso de Python, por ejemplo, se suele usar Green Unicorn.
Reto:
Tras decidir sobre qué tipo de datos se va a trabajar, crear un servicio web en Python (u otro lenguaje de tu elección) que incluya
- Rutas para cada una de las órdenes CRUD.
- Instalación con una sola orden de las bibliotecas necesarias.
- Puertos e IPs a la escucha configurables.
- Ejecución usando una aplicación externa.