Libro: Designing Microservices with Django

By luissalgado May 27, 2023, 3:47 a.m. Libro Servidores

Designing Microservices with Django

¿Que son los servicios?

Los servicios nos rodean de diferentes maneras en nuestro día. Un ejemplo seria cuando vas a un resturante el cual podemos describirlo de la siguiente manera

  1. Un cliente llega al restaurante y pide algo de comer, esto lo podriamos ver que el cliente hizo una peticion
  2. El resturante recibe la orden o peticion
  3. La cocina empieza a preparar tu comida, mientras tu puedes hacer algo mas o solo esperar hasta que este lista tu comida
  4. Recibes tu comida

Un servicio puede ser alguna aplicacion que realiza procesos por un usuario, el cual empiezar por una peticion y termine con un response.

Como ejemplo podemos tener servicios de comida, servicios de video, etc...

Existen diferentes tipo de servicios como:

  • Software como servicio (software as a service) o mejor conocido como SaaS
  • Microservicios (microservices)
  • Monoliticos (monoliths)
  • Servicios Orientados a Arquitectura (services-oriented-architecture) o mejor conocido como SoA

Software as Services (SaaS)

El termino SaaS describe un modelo de pago por uso de un recurso en la nube, un ejemplo para este tipo podemos usar a Spotify que es un servicio de musica en linea.

Service-oriented Architecture (SoA)

Este termino hace referencia a distribuir nuestro aplicativo entre servidores y comunicarlos por protocolos.

Monolithic Service

Servicios con un solo propositos, no necesariamente deben ser grandes

Microservice

Viven en servicios orientados a arquitectura y tienen una sola razon

Django

En este libro menciona parte de la estructura de Django

  • Aplicaciones
  • Views
  • Modelos y ORN
  • Templates
  • Permisos

Esta parte solo nos da un pequeña muestra del uso de este Framework

Servicios backend, frontend y mixtos

Volviendo al ejemplo del restaurante podemos dar los siguientes ejemplos

  • Servicio Backend: La cocina, la gente que prepara la comida
  • Servicio frontend: Los que levantan el pedido, cobran y entregan la comida
  • Servicio mixto: En este caso menciona el libro un ejemplo sobre un mundo donde un pizzeria pueda hacer el proceso de venta de pizza asi como la promocion de la misma

Django Rest Framework

Como era de esperarse el libro nos proporciona la informacion suficiente de Django Rest Framework que nos puede ayudar a exponer nuestra aplicacion.

Esto es crear nuestro propio api rest explicando el uso de

  • Autenticacion
  • CRUD
  • Configuraciones default

De Monolitico a Microservicio

En esta parte nos comparte algunas recomendaciones

  • Costo humanos
  • Elevacion de costos
  • La migraciones no es facil, requiere trabajo duro
  • Estrategias para deploy