Crea una cuenta o inicia sesi贸n

隆Contin煤a aprendiendo sin ning煤n costo! 脷nete y comienza a potenciar tu carrera

Elementos de un sistema distribuido en la nube

4/25
Recursos

Aportes 13

Preguntas 4

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

驴Alguna vez han visto que algunos videojuegos les piden que elijan el servidor? Ahora saben por qu茅.
.
Como adicional, recomiendo que sus sistemas distribuidos tengan servidores lo m谩s cercano posible entre s铆. Es decir, no vas a poner el servidor en Am茅rica y la base de datos en Asia.
.
Adicionalmente, para distribuir tu sistema al rededor del mundo podemos usar un CDN o Content Delivery Network (Red de distribuci贸n de contenido), esto permitir谩 distribuir servidores en todo el mundo que se conectan a nuestro servidor central, y en dado caso de que este caiga, la CDN los mantendr谩 en l铆nea con una copia en cach茅 de los datos ^^

Elementos que podemos encontrar en un Sistema Distribuido

  • Load Balancers
  • M谩quinas Virtuales
  • Bases de datos Relacionales o No Relacionales
  • Servicios de Colas (Ejemplo: SQS)
  • Servicios de Storage (Ejemplo: S3)
  • Servicios Publisher-Suscriber (Ejemplo: SNS)
  • Pipelines

驴Hasta donde puede llegar a crecer un Sistema Distribuido?
Podemos globalizar nuestro sistema teniendolo distribuido en diferentes partes del mundo a trav茅s de servicios implementados en diferentes servidores

Para dar un poco de ejemplo de como podemos romper todo un monolito en peque帽os servicios, podemos tener un caso de Login, busqueda y subida de videos en una app, todo eso en un monolito, es un servidor cualquiera con capacidades de RAM/CPU/Storage establecido.

En microservicios podemos encontrar:

  • Cada vez que alguien suba un video, puede publicar un evento para que los dem谩s sistemas (como el de busquedas) se enteren del nuevo video usando SNS.

  • Cada vez que se suba un video, tambi茅n se enviar谩 un mensaje a una cola, para que se transforme la calidad y resoluci贸n al video.

  • Los videos pueden estar alojados en S3, as铆, no tendremos problema porque se nos acabo el espacio en disco.

  • Usando APIGateway y Lambdas podremos crear un peque帽o servicio que haga consultas a una base de datos para hacer la busqueda de videos.

Esto de los microsevicios, es una nueva forma de pensar, cambia muchos paradigmas de construir todo en una misma app, para entregar las responsabilidades a distintos servicios enfocados a cada tarea.

\n Perdon que no se viusalice bien :鈥( algo pasa con esta caja de comentarios jaja

Primer comentario del curso

Es aqu铆 donde los proveedores de computo en la nube nos facilitan demasiado la vida, bastan unos pocos clics para configurar tu servidor para que se aloje en X o Y pa铆s, o incluso que sea multi-regi贸n.

Para aprender lo mas util de aws que puedes implementar en futuros o actuales proyectos le recomiendo el libro de https://gumroad.com/l/aws-good-parts

En algunos sistemas se detecta autom谩ticamente tu zona para conectarte al servidor de conveniencia.

Qu茅 pasa con las restricciones que tiene un sistema distribuido? Extra帽茅 la menci贸n del teorema CAP

Un como ingeniero de software debemos de en no siempre inventar la rueda cuando ya existe, podemos aprovechar las herramientas y servicios que existen en el mercado para tener proyectos bien elaborados y con gran escalabilidad. Siempre pensando que casa cosa tiene su caso de uso especifico.

Hay dos platicas que he visto que dan un acercamiento interesante de los sistemas distribuidos. Se las dejo:
https://www.youtube.com/watch?v=w9GP7MNbaRc
https://www.youtube.com/watch?v=Y6Ev8GIlbxc
Y como anexo, tambien me gusta mucho esta platica:
https://www.youtube.com/watch?v=yC6b0709HCw

excelente curso

Excelente