0% encontró este documento útil (0 votos)
336 vistas23 páginas

Funcionamiento y características de Spotify

Spotify es una aplicación multiplataforma sueca para la reproducción de música en streaming. Cuenta con un modelo freemium con una versión gratuita con publicidad y una de pago con más características. Permite escuchar música por artista, álbum o listas de usuarios en diferentes dispositivos. Almacena la información musical en servidores distribuidos alrededor del mundo para ofrecer el servicio a los 217 millones de usuarios.

Cargado por

junior colque
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
336 vistas23 páginas

Funcionamiento y características de Spotify

Spotify es una aplicación multiplataforma sueca para la reproducción de música en streaming. Cuenta con un modelo freemium con una versión gratuita con publicidad y una de pago con más características. Permite escuchar música por artista, álbum o listas de usuarios en diferentes dispositivos. Almacena la información musical en servidores distribuidos alrededor del mundo para ofrecer el servicio a los 217 millones de usuarios.

Cargado por

junior colque
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

SPOTIFY

Spotify es una aplicación multiplataforma sueca, empleada para la reproducción de


música vía streaming. Cuenta con un modelo de negocio freemium, un servicio gratuito
básico y con publicidad; pero con características adicionales, como una mejor calidad
de audio, a través de una suscripción de pago. Permite escuchar en «modo radio»,
buscando por artista, álbum o listas de reproducción creadas por los propios usuarios.
El programa se lanzó el 7 de octubre de 2008 al mercado europeo, mientras que su
implantación en otros países se realizó a lo largo de 2009.2 Está disponible para los
sistemas operativos Microsoft Windows, Mac OS X, Linux, Windows
Phone, Symbian, iOS, Android y BlackBerry.
La empresa sueca, que tiene su sede en Estocolmo, Suecia, ha firmado acuerdos con
las discográficas Universal Music, Sony BMG, EMI Music, Hollywood
Records, Interscope Records y Warner Music entre otras.3 A abril del 2019, el servicio
cuenta con 217 millones de usuarios activos, de los cuales 100 millones son usuarios
de pago.4

MODO DE FUNCIONAMIENTO Y REQUISITOS DEL SISTEMA


Spotify ofrece transferencia de archivos de audio por Internet a través de la
combinación de servidores dedicados al streaming y en la transferencia de red de
pares (P2P) en la que participan los usuarios. Una conexión a Internet de 256 kbit/s es
suficiente, y la tasa de bits de las pistas es de 320 kbit/s. Los archivos de audio se
pueden reproducir bajo demanda, como si estuvieran en el disco duro del usuario. Las
canciones se guardan en la caché del software para evitar consumir más ancho de
banda al repetir las canciones una y otra vez. Utiliza el códec de audio Vorbis (Ogg).
Los usuarios en modo premium acceden un nivel de calidad de audio superior (q9). El
contenido de la caché del software se basa en un índice que sirve para que Spotify
conecte con el servicio. Este índice se utiliza para informar a otros clientes sobre otros
usuarios que pueden conectarse a los datos para que se reproduzcan las pistas que
desea escuchar.
Se hace por cada cliente que utiliza el programa; al inicio, actuando como
un servidor para escuchar las conexiones entrantes de otros usuarios de Spotify así
como la conexión de forma intuitiva a otros usuarios para el intercambio de datos en
caché, según proceda. Actualmente no hay datos oficiales de los desarrolladores
acerca de cuántas conexiones y la cantidad de ancho de banda que ofrece cada
usuario al sistema; el software no ofrece ninguna forma para que el usuario pueda
configurar estos parámetros.
Los requisitos del sistema son, al menos, Mac OS X 10.7, Windows Vista o superior.
También es posible ejecutar el programa en GNU/Linux. El tamaño de la caché lo
puede limitar el usuario y se puede elegir la ubicación de memoria de caché. Se
recomienda para la caché por lo menos 1 GB de espacio libre.
El usuario debe configurar una cuenta para poder utilizar la aplicación. Esta cuenta
puede utilizarse en varios ordenadores, pero solo puede reproducir música en un
ordenador a la vez.
Spotify como sistema distribuido, su función es:

* Reproductor de musica en streaming.


* Opera en cualquier dispositivo móvil, PC, o Smart TV del mundo.
* Es un sistema de audio distribuido.
* Almacena la información en servidores que se encuentran distribuidos en
diferentes partes del mundo.

PROTOCOLOS:
Los protocolos de comunicación son la base de los sistemas distribuidos, entre
ellos encontramos los siguientes:

PROTOCOLOS DE BAJO NIVEL


Transmite 0 y 1, con protocolo estandarización eléctrica y mecánica y la
señalización de interfaces
Envía bits los cuales agrupa y envía en tramas, mientras no ocurran errores es
dependiente de un mecanismo que los detecta y corrige

PROTOCOLOS DE TRANSPORTE
• Información entregada sin perdidas y sin daños.
• En caso de pérdida debe retransmitir el mensaje.
• Usa el Protocolo de transporte TCP
• Protocolos de transporte orientado sin conexión se llama UDP el cual
esencialmente es el IP .
• Protocolo de datos en tiempo real RTP entrega de mensajes sin garantía de
entrega de los datos.

PROTOCOLO DE MAS ALTO NIVEL


• Protocolo FTP transferencia de archivos maquina cliente-servidor
• Capa de aplicación OSI o Mantiene una colección estándar de aplicaciones
de red.
• Protocolo de HTTP, utilizado para administrar y manejar remotamente
transferencia de páginas web.

PROTOCOLO MIDDLWARE
• reside en la capa de aplicación
• soporte servicios de comunicación de alto nivel.
• Ofrece servicios confiables de multidifusión que escala a miles de
destinatarios en una red.
• Capas como sesión y presentación se remplazó con una sola capa llamada
milddware.
el servicio de Spotify se conecta a servidores distribuidos en el mundo al
momento de enlazar la cancion solicitada por el usuario.
FUNCIONAMENTO DE SPOTIFY
Su funcionamiento lo dividiré en 3 fases:

Fase 1:
Para ahorrar tiempo de operación en primera medida busca la canción en una
carpeta temporal alojada en la memoria cache del dispositivo que la este
reproduciendo.
Fase 2:
En segundo lugar se apoya en equipos cercanos que tengan la canción
completa para asi por dar respuesta inmediata al usuario.
Fase 3:
En ultimo lugar busca en sus servidores.
FACEBOOK

Facebook, Inc. (pronunciación AFI: [feɪsbʊk]) (NASDAQ: FB) es una compañía


estadounidense que ofrece servicios de redes sociales y medios sociales en
línea con sede en Menlo Park, California. Su sitio web fue lanzado el 4 de
febrero de 2004 por Mark Zuckerberg, junto con otros estudiantes de
la Universidad de Harvard y compañeros de habitación, Eduardo
Saverin, Andrew McCollum, Dustin Moskovitz y Chris Hughes. Está disponible
en español desde febrero de 2008.8 Facebook es una plataforma que funciona
sobre una infraestructura de computación basada principal y totalmente en
sistemas GNU/Linux, usando el conjunto de tecnologías LAMP, entre otras.9

Se puede acceder a Facebook desde una amplia gama de dispositivos con


conexión a Internet, como Computadora
personal (PC), portátiles, tabletas y teléfonos inteligentes. Una vez registrados,
los usuarios pueden crear un perfil personalizado que indique su nombre,
ocupación, escuelas atendidas, etc. Los usuarios pueden agregar a otros
usuarios como «amigos», intercambiar mensajes, publicar actualizaciones de
estado, compartir fotos, vídeos y enlaces, usar varias aplicaciones de
software (apps) y recibir notificaciones de la actividad de otros usuarios.
Además, los usuarios pueden unirse a grupos de usuarios de interés común
organizados por lugar de trabajo, escuela, pasatiempos u otros temas, y
categorizar a sus amigos en listas como «Personas del trabajo» o «Amigos
cercanos». También proporciona opciones para reportar o bloquear a personas
desagradables o amistades no deseadas.
Facebook cuenta con más de 2200 millones de usuarios activos mensuales a
fecha de marzo de 2018. Su popularidad ha supuesto a una ingente cobertura
mediática de la compañía, como un escrutinio significativo sobre la privacidad y
los efectos psicológicos que tiene en los usuarios. En los últimos años, la
compañía se ha enfrentado con una intensa presión sobre la cantidad de fake
news, la incitación al odio y las representaciones de violencia que prevalecen
en sus servicios, aspectos que está intentando contrarrestar.

FACEBOOK

Sin duda alguna, al hablar de Redes Sociales, en nuestras mentes surge la


imagen de la que es, hasta ahora, el icono más importante de las redes
sociales, nos referimos a Facebook, un servicio montado a internet que ha
logrado superar todas las barreras que se la han parado encima.

Pero… ¿Cómo funciona esta red social?, y ¿Cómo es que ayuda este servicio
en la creación de medios o vías de comunicación en la sociedad?

Facebook como muchos ya saben, es una plataforma montada en internet en la


cual los usuarios se ven involucrados en compartir, comentar, o básicamente
relacionarse ya sea a través de múltiples funciones que trae como lo son el
sistema de mensajería (chat), las publicaciones (ya sean de videos, imágenes,
links o solo palabras) y diversas aplicaciones como por ejemplo algunos de los
diversos juegos existentes en el.

Sin embargo, Facebook no solo es la plataforma o la pagina web en la que


suceden todas estas cosas, es algo que abarca mucho más que eso y sus
funciones están todas pensadas en ayudar y facilitar las comunicaciones a
través de distintos tipos de algoritmos y programas informáticos, entre los
cuales destaca el Edgerank y el Graphrank.

El Edgerank:

Este algoritmo cumple con la tarea de filtrar, organizar y administrar las


relaciones que se establecen en este sitio tanto con los amigos del usuario
como con las distintas aplicaciones que este servicio “considera para uno más
relevante“, de la siguiente manera:

 Ítem: Es el recuadro de actualización de estado, con el


cual uno también puede publicar otras cosas como imágenes,
videos, links de otras páginas y hasta hacer distintas
preguntas al resto de los usuarios.

 Edge: Cuando un usuario realiza una acción sobre ese


ítem (un comentario, un “Me gusta, etc.) se genera un Edge.
Ese Edge es el resultado del siguiente producto:
Donde U es un valor que representa la afinidad que tiene el publicador con el
encargado de generar el Edge, W es el peso del edge, y eso hace referencia a
que un “coment” tiene más valor que un “Like”, y finalmente D que viene siendo
un valor respecto al tiempo de la publicación, así, un ítem antiguo tiene menos
valor que uno más reciente.

Los resultados obtenidos mediante esta sumatoria van generando un valor total
perteneciente a la relación de un usuario con todos sus amigos y paginas a las
que se suscribe o visita, que después son organizados en una lista, y así,
Facebook va dando curso a una serie de funciones relacionadas a nuestros
contactos y nuestros gustos día a día.

Esto se ve reflejado por ejemplo en que persona sale primero en una lista de
búsqueda de amigos, que publicaciones de los otros usuarios aparecerán con
mayor frecuencia en nuestro muro de noticias o que personas toman más
importancia en nuestro tablero de mensajería (chat).

Graphrank:

Este es un sub algoritmo del Edgerank, que adquiere la función de organizar y


optimizar lo relacionado a las aplicaciones y programas variados dentro del sitio
web.

Todos estos resultados son organizados por los protocolos del sitio creando
una lista de las cosas más visitadas y de los usuarios más afines a nosotros.

Otros protocolos similares son los usados por Twitter como el trending topics y
los usados por las múltiples aplicaciones de Google como el PageRank.
Nota: Google también tiene abierto a todo público sus algoritmos y protocolos
usados en el siguiente enlace:
http://goog-goopy.sourceforge.net/
La red de centro de datos de Facebook de próxima generación

19-mar-2018 23:36:29

Los más de 1,350 millones de personas que usan Facebook de manera


continua, confían en un rendimiento ininterrumpido y "siempre activo". En "La
Trastienda" tenemos muchos subsistemas e infraestructuras avanzadas en su
lugar, que hacen posible una experiencia en tiempo real. Nuestra red escalable
de alto rendimiento es uno de ellos.

La red de producción de Facebook en sí misma es un


gran sistema distribuido, con niveles y tecnologías
especializados para diferentes tareas: Frontera
(edge), Columna Vertebral (backbone) y Centros de
Datos (data centers). En esta entrada al Blog
Tecnológico, nos enfocaremos en los últimos
desarrollos en la red de centros de datos en Facebook
y revelaremos la arquitectura de próxima generación
que han implementado con éxito en sus nuevas
instalaciones de Altoona, Pennsylvania: el tejido principal del centro de datos.

Moviéndose rápido, @escala

La infraestructura de red de Facebook necesita escalar y evolucionar


constantemente, adaptándose rápidamente a las necesidades de la aplicación.
La cantidad de tráfico de Facebook a Internet, tráfico de "máquina a usuario",
es grande y está en aumento a medida que más personas se conectan y son
creados nuevos productos y servicios. Sin embargo, este tipo de tráfico es solo
la punta del iceberg. Lo que sucede dentro de los centros de datos de
Facebook (el tráfico de "máquina a máquina") es varios órdenes de magnitud
mayor que lo que sale en Internet.

Nuestros niveles de servicios de back-end y aplicaciones, se distribuyen y se


interconectan de manera lógica. Todo se basa en una relación de confianza
sobre una amplia "cooperación" en tiempo real entre sí, para ofrecer una
experiencia rápida y fluida en la Capa de Presentación (front end),
personalizada para cada usuario que usa las aplicaciones y el sitio. Facebook
está optimizando constantemente la eficiencia de la aplicación interna, pero no
obstante la tasa de crecimiento de tráfico de máquina a máquina, sigue siendo
exponencial y el volumen se ha duplicado en un intervalo de menos de un año.

La capacidad de avanzar rápido y apoyar un crecimiento rápido es el núcleo de


nuestra filosofía de diseño de infraestructura. Al mismo tiempo, siempre nos
esforzamos por mantener nuestra infraestructura de red lo suficientemente
simple como para que equipos de ingenieros pequeños y altamente eficientes
puedan administrarla. Nuestro objetivo es hacer que la implementación y
operación de nuestras redes sea más fácil y más rápida con el tiempo, a pesar
de la escala y el crecimiento exponencial.

Los límites de los clusters

Las redes de centros de datos Facebook anteriores se construyeron usando


clusters. Un clúster es una unidad grande de implementación, que involucra
cientos de gabinetes de servidores con switches de la parte superior del
bastidor (ToR), agregados en un conjunto de switches de clúster grandes y de
gran "radix".

Hace más de tres años, se desarrolló una arquitectura confiable de capa 3 "a
cuatro postes", que ofrece redundancia de conmutación de clúster 3+1 y 10
veces la capacidad de los diseños de clúster anteriores. Pero a pesar de ser
tan eficaz como lo fue en las primeras versiones de centros de datos, la
arquitectura centrada en clusters presentó sus limitaciones.

Primero, el tamaño de un clúster está limitado por la densidad del puerto del
mismo. Para crear los clusters más grandes, fueron necesarios los dispositivos
de red más grandes, y esos dispositivos solo están disponibles a partir de un
conjunto limitado de proveedores.

Además, la necesidad de tantos puertos en una caja es ortogonal al deseo de


proporcionar la mayor infraestructura de ancho de banda posible. Las
transiciones evolutivas a la siguiente velocidad de interfaz no llegan a las
mismas densidades "XXL" rápidamente.

Operacionalmente, las cajas más grandes no son las mejores tampoco. Tienen
arquitecturas internas propietarias que requieren amplios conocimientos de
hardware y software, específicos de la plataforma para operar y solucionar
problemas. Con grandes áreas del centro de datos que dependen de unas
pocas cajas, el impacto de las fallas de hardware y software también puede ser
significativo.

Aún más difícil es mantener un equilibrio óptimo a largo plazo entre el tamaño
del clúster, el ancho de banda del bastidor y el ancho de banda fuera del
clúster. Todo el concepto de un "clúster" nació de una limitación de red; fue
dictada por la necesidad de colocar una gran cantidad de recursos informáticos
(racks de servidores) dentro de un área de alto rendimiento de red, soportada
por la capacidad interna de los switches de clúster grandes. .

Tradicionalmente la conectividad entre clústeres está sobresuscrita, con mucho


menos ancho de banda disponible entre los clusters que dentro de ellos. Esto
asume y dicta que la mayoría de las comunicaciones dentro de la aplicación
ocurren dentro del clúster. Sin embargo, la aplicación escala al ser distribuida y
no debe estar limitada por estos límites estrechos.

Hay muchos clusters en nuestro centro de datos típico, y el tráfico de máquina


a máquina crece entre ellos y no solo dentro de ellos. La asignación de más
puertos para acomodar el tráfico entre clústeres elimina los tamaños de clúster.
Con un crecimiento rápido y dinámico, este acto de equilibrio nunca termina, a
menos que cambie las reglas.

Presentando "El Entramado" o "La Tela" (The Fabric)

Para el diseño de red de centro de datos de próxima generación, se impone un


gran desafío para hacer que todo el centro de datos construya una red de alto
rendimiento, en lugar de un sistema jerárquicamente sobresuscrito de clusters.
También se hizo necesario una ruta clara y fácil para una rápida
implementación de la red y escalabilidad del rendimiento, sin dañar o
personalizar las infraestructuras previas masivas cada vez que necesitamos
construir más capacidad.

Para lograr esto, tomemos en cuenta un enfoque desagregado: en lugar de los


grandes dispositivos y clusters, dividamos la red en pequeñas unidades
idénticas (servidores) y creemos una conectividad uniforme de alto rendimiento,
entre todos los Puntos de Entrega (Point of Delivery o "PoDs") en el centro de
datos.

No hay nada particularmente especial en un "PoD": es como un microconjunto


de Capa 3. El "PoD" no está definido por ninguna propiedad física dura; es
simplemente una "unidad de red" estándar en el nuevo Entramado o Tejido.

Cada "PoD" está servido por un conjunto de cuatro dispositivos que llamamos
conmutadores (Fabric), manteniendo las ventajas de la actual arquitectura 3+1
de cuatro publicaciones para enlaces ascendentes Conexión Punto a Punto
dentro del Gabinete (Top-of-Rack o ToR) de servidores, y escalables más allá
si es necesario. Cada ToR tiene actualmente 4x40G de enlaces ascendentes,
que proporcionan una capacidad de ancho de banda total de 160G para un
rack de servidores conectados a 10G.
Figura 1: Un PoD de muestra: nuestra nueva unidad de red

Lo que es diferente es el tamaño mucho más pequeño de las nuevas unidades


en la infraestructura de Facebook: cada "PoD" tiene solo 48 bastidores de
servidores y este factor de forma, siempre es el mismo para todos los "PoDs".
Es un bloque de construcción eficiente que se adapta muy bien a varios planos
de planta del Centro de Datos, sólo requiriendo conmutadores básicos de
tamaño medio para agregar los ToR.

La menor densidad de puertos de los conmutadores "Fabric" hace que su


arquitectura interna sea muy simple, modular y robusta, habiendo varias
opciones fáciles de encontrar disponibles de múltiples fuentes.
Otra diferencia notable es cómo los "PoDs" están conectados para formar una
red de centro de datos. Para cada puerto de enlace descendente a un ToR,
estamos reservando una cantidad igual de capacidad de enlace ascendente en
los conmutadores de estructura del "PoD", lo que permite escalar el
rendimiento de la red hasta estadísticamente sin bloqueo.

Para implementar la conectividad en todo el edificio, fueron creados cuatro


"planos" independientes de conmutadores de columna, cada uno con
capacidad para hasta 48 dispositivos independientes dentro de un plano.

Cada switch en el Entramado de cada "PoD" se conecta a cada switch de


columna dentro de su plano local. Juntos los "PoDs" y los planos forman una
topología de red modular, capaz de acomodar cientos de miles de servidores
conectados a tecnología 10G, escalando a ancho de banda de bisección multi-
petabit, cubriendo los edificios del centro de datos con un rendimiento rack-a-
rack sin exceso de suscripción.

Figura 2: Esquema de la topología de red de tejido del centro de datos de


Facebook

Para la conectividad externa, se equipó el Entramado con una cantidad flexible


de módulos de frontera, cada uno capaz de proporcionar hasta 7.68Tbps a la
red troncal y a los Entramados entre edificios en los centros de datos,
escalables a 100G y velocidades de puerto más altas dentro del mismo
dispositivo, formando factores.

Este diseño altamente modular permite escalar rápidamente la capacidad en


cualquier dimensión, dentro de un marco simple y uniforme. Cuando se
requiere más capacidad de cómputo, son agregados más "PoDs" de
servidores. Cuando se necesita más capacidad de red dentro de la estructura,
agregamos switches centrales en todos los planos. Cuando es necesario más
conectividad extra-fabric, se agregan módulos de frontera o enlaces
ascendentes de escala, en los switches de frontera ya existentes.

Cómo se hace

Cuando se pensó en la construcción del Entramado por primera vez, parecía


complicado e intimidante debido a la cantidad de dispositivos y enlaces. Sin
embargo, lo que se logró terminó siendo más simple, elegante y eficiente desde
el punto de vista operativo, de lo que eran los diseños de clúster habituales. Así
es como se llegó hasta ese punto.

Tecnología de redes

Se adoptó un enfoque de "arriba hacia abajo": pensar primero en términos de la


red en general y luego traducir las acciones necesarias a elementos y
dispositivos de topología individuales. Fue posible construir el Entramado
usando BGP4 estándar como el único protocolo de enrutamiento. Para
simplificar, usamos solo las características de protocolo mínimas necesarias.

Esto nos permitió aprovechar el rendimiento y la escalabilidad de un plano de


control distribuido para la convergencia, al tiempo que ofrece una gestión de
propagación de enrutamiento estrecha y granular, que garantiza la
compatibilidad con una amplia gama de sistemas y software existentes.

Al mismo tiempo, se desarrolló un controlador BGP centralizado que puede


anular cualquier ruta de enrutamiento en el tejido, mediante decisiones de
software puro. Llamamos a este enfoque híbrido flexible "control distribuido,
sustitución centralizada".
La red es todo Capa 3, desde los enlaces ascendentes de ToR hasta el borde.
Al igual que todas las redes en esta solución, es de doble pila y compatible de
forma nativa con IPv4 e IPv6. Se diseñó el enrutamiento de una manera que se
minimiza el uso de los recursos Bases de Información de Enrutamiento (RIB
por sus siglas en inglés) y Bases de Información de Reenvío (FIB por sus siglas
en inglés), lo que permite aprovechar el "silicio" comercial y mantener los
requisitos de los switches lo más básico posible.

Para la mayoría del tráfico, el Entramado hace un uso intensivo del


Enrutamiento de Mismo Costo de Ruta Múltiple (Equal-cost multi-path routing
ECMP), con "hashing" basado en flujo. Hay una gran cantidad de flujos
concurrentes diversos en un centro de datos de Facebook, y estadísticamente
se observó una distribución de carga casi ideal en todos los enlaces de
estructura.

Para evitar que las "manadas o flujos de elefantes" ocasionales se apoderen y


degraden una ruta de extremo a extremo, se creó la red de varias velocidades,
con enlaces 40G entre todos los switches, al tiempo que se conectaron los
servidores en puertos 10G en los ToR. También se contó con medios del lado
del servidor para "alejarse" y enrutar los puntos problemáticos, si estos se
producen.

Escalabilidad gradual

Si bien se necesita una ruta clara y predecible para ampliar la capacidad, no


necesariamente es necesario una red sin bloqueo en cada implementación
desde el primer día.
Para lograr la capacidad de crecimiento sin problemas, se diseñó y planeó toda
la red como un entorno de extremo a extremo, sin exceso de suscripción. Se
han asignado todos los recursos físicos necesarios, para el parque completo de
dispositivos Fabric y se pre-construyeron todos los componentes esqueleto de
la infraestructura pasiva, que consumen mucho tiempo.

Pero el punto de partida inicial fue la sobresuscripción de Entramado 4:1 de


rack a rack, con solo 12 "spines" por plano, de 48 posibles. Este nivel ha
permitido lograr la misma capacidad de reenvío para todo el edificio, como lo
que antes se tenía dentro del clúster.

Cuando llega la necesidad, es posible aumentar la capacidad en pasos


granulares, o se puede pasar rápidamente a la sobresuscripción 2: 1. Incluso
es posible pasar al estado completo sin sobresuscripción 1: 1 a la vez.

Todo lo que se tuvo que hacer es agregar más dispositivos de "columna


vertebral" a cada uno de los planos, así como a todos los recursos físicos y
lógicos para eso que ya están en su lugar, para que sea una operación rápida y
sencilla.

Infraestructura física

A pesar de la gran escala de cientos de miles de filamentos de fibra, la


infraestructura física y de cableado del Entramado es mucho menos compleja
de lo que parece, a partir de los dibujos de topología de red lógica.

Trabajaron juntos varios equipos de Infraestructura de Facebook, para


optimizar sus diseños de construcción de centros de datos de tercera
generación para redes de fibra, acortar la duración del cableado y permitir una
implementación rápida. El centro de datos de Altoona, Pennsylvania es la
primera implementación de este nuevo diseño de edificios.
Figura 3: Topología física del centro de datos de Facebook, optimizado
para Entramados esquemáticos

Desde el punto de vista de Main Distribution Frame (MDF) de rack de


servidores o data rack, casi no hay cambios: los ToR se conectan a sus cuatro
puntos de agregación independientes, al igual que con los clusters anteriores.
Para los dispositivos de "espina dorsal" y de "borde", se les diseñó ubicaciones
independientes especiales en el centro del edificio, que llamamos salas BDF.

Los BDF se están construyendo y pre-equipando con Entramado al inicio del


proceso de activación del edificio. Las salas de datos se unen de forma idéntica
a los BDF a medida que se crean, lo que reduce drásticamente el tiempo de
aprovisionamiento de la red.

La fibra masiva se ejecuta desde los switches de estructura en los MDF de la


sala de datos a los switches de columna en los BDF, que son en realidad
troncales sencillas e idénticas, en "línea recta".
Toda la complejidad del Entramado se localiza dentro de los BDF, donde es
muy administrable. Consideramos que cada plano vertebral, con sus troncales
y vías correspondientes, es un dominio de falla que podemos sacar de servicio
de forma segura en cualquier momento, sin impacto en la producción.

Para optimizar aún más las longitudes de fibra, también hemos posicionado
nuestros dispositivos troncales en las salas MPOE directamente sobre los BDF
del Entramado. Esto nos permitió usar troncales verticales cortas en una
topología simple y físicamente redundante.

Además, todos los planos de lomo de Entramado en los BDF son clones
idénticos por diseño, y el cableado se localiza dentro de cada plano de columna
independiente. Los diseños de puertos son visuales y repetitivos, y todos los
mapas de puertos son generados y validados automáticamente por nuestro
software.

Todo esto hace que el aprovisionamiento del Entramado y el cableado sea un


trabajo sencillo, eficiente y virtualmente libre de errores, y es un gran ejemplo
de cómo los requisitos de red pueden influir positivamente en el diseño del
edificio.

Al final, la cantidad de tiempo para el aprovisionamiento de la red del sitio en


Altoona, desde el piso de concreto hasta los bits que fluyen a través de los
interruptores, se redujo en gran medida.

Automatización

Una red de fibra grande, que tiene una topología más compleja y una mayor
cantidad de dispositivos e interconexiones, definitivamente no es el tipo de
entorno que puede configurarse y operarse de forma rígida y/o de forma
manual. Pero la uniformidad de la topología ayuda a permitir una mejor
programación y podemos usar enfoques basados en software, para introducir
más automatización y más modularidad en la red.
Para automatizar el Entramado, se ajustaron las ideas para que sean más "de
arriba hacia abajo": lógica holística de red primero, luego dispositivos
individuales y componentes en segundo lugar: abstracción de especificaciones
de plataformas individuales y funcionamiento, con grandes cantidades de
componentes similares a la vez.

Hemos hecho que nuestras herramientas sean capaces de manejar diferentes


topologías de Entramado y factores de forma, creando una solución modular
que se puede adaptar a centros de datos de diferentes tamaños.

También fue importante la desagregación del hardware y la automatización: el


plano de reenvío del Entramado es en realidad independiente de las
herramientas y viceversa. Esto permite reemplazar cualquier componente
específico sin cambios principales en el software, haciendo que una gama más
amplia de plataformas de hardware sea compatible con dichas herramientas.

El trabajo de configuración ocurre en el nivel de estructura (a diferencia del


nivel del dispositivo) utilizando la cantidad mínima de configuraciones de alto
nivel necesarias para definir la red, sus componentes básicos y la lógica de
enrutamiento.

Todas las direcciones específicas, las políticas de enrutamiento, los mapas de


puertos y los parámetros del componente independiente del proveedor, se
derivan de estas configuraciones de alto nivel, se procesan en los formularios
específicos de la plataforma aplicables y se envían a las cajas. Para cada
plataforma individual, solo se requiere definir algunas acciones simples y
plantillas de sintaxis básicas.

Para agilizar el aprovisionamiento y los cambios, se establecieron mecanismos


simples y robustos para desplegar automáticamente las configuraciones, en los
dispositivos y descubrir los roles de los nuevos dispositivos en el Entramado.
Esto permite desplegar de forma eficiente grandes conjuntos de componentes
del Entramado en paralelo, en un modo prácticamente desatendido.

La escala del Entramado también está cambiando fundamentalmente la


manera en que son supervisados y solucionados los problemas. Hay muchos
componentes y enlaces, pero la mayoría de ellos se comportan igual.

Se recopilaron una gran cantidad de estadísticas de la red, pero para la


solución de problemas, la preocupación principal. se concentró más en las
líneas de base y los valores atípicos, confiando más en la auditoría activa de
problemas, alertas de prioridad y auto reparación que en lugar de mirar
gráficos.

Para cada tipo de componente, se definieron reglas automáticas y acciones de


botón para retirarlo, repararlo o volverlo a poner en producción. Los
componentes individuales en un Entramado son prácticamente irrelevantes, y
las cosas que no funcionan bien no requieren una reparación inmediata. El
comportamiento general es mucho más importante que una caja o enlace
individual, que es un cambio de paradigma.

Esto es lo que esto significa en la práctica:

 Cuando un problema detectado automáticamente es básico y conocido,


se realiza una reparación automática y/o se dispara una alerta.
 Cuando sucede algo desconocido, se dispara una alerta para
solucionarlo y luego se hace que los "robots" puedan arreglarlo la
próxima vez que ocurra.
 Cuando se detecta una falla, las máquinas se desplazan.
 Cuando se requiere aislar un problema, se comparan comportamientos y
correlacionan eventos.
 Cuando se necesita una evaluación rápida de alto nivel, se usan mapas
de calor.
 Cuando se requiere profundizar o revisar la tendencia, todos los datos
están a disposición.

Transición transparente

Como se mencionó anteriormente, el concepto de "clúster" nació originalmente


de una limitación de red. Pero desde entonces ha evolucionado en un
significado mucho más amplio como unidad de aprovisionamiento y capacidad.
Muchos otros sistemas y flujos de trabajo se han diseñado en torno a este
concepto, en múltiples disciplinas técnicas diferentes. Desde el principio,
hemos observado que el mundo entero no se podía renovar de la noche a la
mañana. Es necesario asegurarnos de que todos los sistemas y operaciones
continúe funcionando sin problemas, a pesar de tener una red diferente debajo.

Para hacer que la transición al Entramado sea transparente y permitir la


compatibilidad con versiones anteriores, es importante conservar el concepto
lógico del "clúster", pero ahora lo implementamos como una colección de
"PoDs".

Desde el punto de vista de la conexión en red, un clúster se ha convertido


simplemente en un "área con nombre" virtual en el Entramado, mientras que
físicamente los "PoDs" que forman un clúster pueden ubicarse en cualquier
parte del piso del centro de datos.

Pero para todos los demás fines, las propiedades de denominación y


direccionamiento en dichos "clústeres virtuales", son totalmente compatibles
con el parque de clústeres físicos en ejecución, haciéndolos lucir y sentirse
exactamente iguales para equipos que no sean de red y sistemas de
automatización de administración de servidores.

El Entramado introdujo una nueva flexibilidad para localizar recursos


informáticos de "clústeres virtuales", en diferentes áreas del centro de datos
dondequiera que haya "PoDs" libres disponibles.

Ya no es necesario mantener los clústeres confinados en espacios físicos


contiguos específicos, y los nuevos tamaños de clúster pueden ser tan grandes
como todo el edificio o tan pequeños como un "PoD". Pero no forzamos una
necesidad inmediata de grandes cambios operacionales; solo permitimos
aprovechar estos nuevos beneficios según sea necesario.

Como resultado, pudimos desplegar una arquitectura de red completamente


nueva en producción sin interrupciones. Hubo una diferencia notable: el
Entramado en realidad se aprovisionó más rápido y más fácil que la cantidad
equivalente de clústeres.

Conclusión

Al tratar con algunas de las redes de mayor escala del mundo, el equipo de
ingeniería de red de Facebook ha aprendido a adoptar el principio de
"mantenerlo simple".
Por naturaleza, los sistemas con los que trabajamos pueden ser grandes y
complejos, pero nos esforzamos por mantener sus componentes lo más
básicos y robustos posible, reduciendo la complejidad operativa a través del
diseño y la automatización.

Nuestro nuevo Entramado no fue una excepción a este enfoque. A pesar de la


topología de gran escala y aspecto complejo, es un sistema muy modular, con
muchos elementos repetitivos. Es fácil de automatizar e implementar, y es más
fácil de operar que una colección más pequeña de clústeres personalizados.

Las redes de fibra o "Fabrics" ofrecen una multitud de rutas iguales entre todos
los puntos de la red, lo que hace que los circuitos y dispositivos individuales no
sean importantes, una red así es capaz de sobrevivir múltiples fallas
simultáneas de componentes sin ningún impacto.

Dispositivos más pequeños y simples significan una solución de problemas


más fácil. La automatización que el tejido requirió para crear y mejorar, hizo
que su aprovisionamiento fuera más rápido que nuestras redes de centros de
datos anteriores, a pesar del aumento en el número de cajas y enlaces.

Nuestro diseño modular y el tamaño de los componentes nos permiten utilizar


las mismas plataformas de hardware de conmutadores de tamaño medio, para
todos los roles de la red (switches de estructura, switches de columna y de
frontera), lo que los convierte en simples bloques de construcción como "Lego",
que podemos adquirir desde múltiples fuentes.

Con menores densidades de puertos de dispositivos y necesidades mínimas de


Bases de Información de Reenvío (FIB por sus siglas en inglés) y plano de
control, lo que comenzó como nuestra primera red 40G actual se podrá
actualizar rápidamente a 100G y más en un futuro no muy lejano, mientras
aprovecha la misma infraestructura y la misma planta de fibra.

Con la primera iteración del Entramado en el centro de datos de Altoona, ya se


ha logrado un aumento de 10 veces en la capacidad de la red
intraconstrucción, en comparación con el diseño de clúster equivalente, y
podemos crecer fácilmente hasta más de 50 veces dentro de las mismas
velocidades de puerto.
VIDEO:
https://www.youtube.com/channel/UCd9I8ZkgoR1d7GeSj_wi_LQ?feature=embeds_subscribe
_title
EL TRÁFICO DE DATOS ENTRE LOS SERVIDORES DE FACEBOOK Y SU
APLICACIÓN AHORA ES MÁS RÁPIDO (29 ENERO, 2017 A LAS 19:00)

Cada día millones de personas utilizan la red social por excelencia, Facebook,
para hablar con sus amigos, y una gran cantidad de esas personas utilizan la
aplicación oficial de Facebook para smartphones y tablets con sistema
operativo Android y iOS. Facebook ha estado trabajando muy duro para que el
tráfico de datos entre sus servidores y tu dispositivo móvil, funcione lo más
rápido posible, hoy os mostramos cómo lo han logrado.

FACEBOOK USA PRINCIPALMENTE TLS 1.2 EN SUS COMUNICACIONES

Actualmente las aplicaciones móviles de Facebook utilizan una pila de


protocolos TCP/IP personalizada llamada Mobile Proxygen, esto les permite
compartir el mismo código fuente entre el servidor y los clientes para facilitar y
acelerar el despliegue de nuevas actualizaciones de seguridad y de
rendimiento en todo su software.
Facebook utiliza el estándar TLS 1.2 en sus aplicaciones móviles, y utilizan
Folly con OpenSSL para realizar la implementación de dicho protocolo TLS en
sus sistemas. Como todos sabéis, TLS 1.2 incorpora un tiempo de
establecimiento de ida y vuelta (1-RTT) para realizar las comunicaciones. En
los últimos años han desarrollado diferentes técnicas para minimizar el
impacto, como por ejemplo técnicas para la terminación de conexiones TLS
cerca de los usuarios, reusar conexiones HTTP2 e incluso la reanudación de la
sesión y el denominado TLS False Start. La mayoría de conexiones que se
realizan desde las aplicaciones móviles de Facebook añaden solo 1-RTT
adicional.

EL PROBLEMA: TENER 1-RTT SIGNIFICA DEMASIADA LATENCIA EN


ALGUNOS PAÍSES

El equipo de Facebook observó que aunque el handshake estuviera optimizado


al máximo, el establecimiento de la conexión es demasiado alto en mercados
emergentes como India, llegando hasta los 600ms de latencia de conexión
antes de empezar a recibir los datos. Por este motivo, los ingenieros de
Facebook empezaron a realizar pruebas con otros protocolos de seguridad que
son 0-RTT, a diferencia de TLS 1.2 que es 1-RTT.

LA SOLUCIÓN: PROTOCOLO QUIC


Aunque actualmente TLS 1.3 incorpora características 0-RTT tal y como os
hemos explicado anteriormente en RedesZone, cuando Facebook se puso en
marcha aún este protocolo apenas estaba desarrollado, y no tenía
características 0-RTT como ahora. Por este motivo, miraron QUIC, un protocolo
0-RTT que utiliza un protocolo de la capa de transporte UDP, y Facebook quiso
llevar lo mejor de QUIC al protocolo TCP para tener conexiones rápidas,
seguras y todos los beneficios de utilizar TCP en lugar de UDP.

Facebook construyó un protocolo 0-RTT desde cero, basándose en QUIC y


utilizando TCP, por lo que realizaron muchas modificaciones a nivel de código
de ambos protocolos.

LOS RESULTADOS: MÁS RÁPIDO E IGUAL DE SEGURO

Este nuevo protocolo creado por Facebook para sus servidores y clientes ha
demostrado un rendimiento muy bueno. Se ha reducido el tiempo de latencia
del establecimiento de la conexión en un 41%, casi la mitad. Además, se ha
reducido en un 2% el tiempo que se tarda en realizar una solicitud, pero
debemos tener en cuenta que este protocolo Zero ayuda especialmente a las
solicitudes que se realizan cuando se inicia la aplicación y no se puede reusar
la conexión anterior.
El equipo de desarrollo de este protocolo 0-RTT ha contribuido tanto al
protocolo TLS 1.3 como a QUIC con su experiencia a la hora de desarrollarlo.
De esta forma, todos podremos beneficiarnos de un rendimiento similar con el
protocolo TLS 1.3. Otro detalle muy importante es que próximamente piensan
implementar su propia versión de TLS 1.3 optimizada específicamente a sus
requisitos.
Os recomendamos visitar este artículo de Facebook donde encontrarás todo lo
que tuvieron que hacer para conseguir un protocolo Zero basándose en QUIC y
TCP.

También podría gustarte