xililenc jaymeson chakra

0 views
Skip to first unread message

Janean Mcconnaughhay

unread,
Aug 1, 2024, 11:52:26 PM8/1/24
to imakcata

Lo que no resulta tan sencillo es todo el proceso que se pone en marcha al ejecutar Netflix, un servicio que transmite alrededor de 250 millones de horas de video por da a 98 millones de suscriptores en 190 pases. En este contexto, ofrecer entretenimiento de calidad en cuestin de pocos segundos a cada usuario no es cualquier cosa. Y, si bien se traduce en crear una infraestructura de primera categora a una escala nunca antes vista en un servicio de Internet, tambin implica que hay que negociar y mantener contentos a todos los participantes de esta experiencia, desde las empresas de produccin que distribuyen el contenido, hasta los proveedores de Internet que tienen que hacer frente al intenso trfico en la red generado por Netflix.

Vamos a suponer que la aplicacin Mapas de tu celular rastrea tu ubicacin todo el tiempo y guarda informacin compleja sobre los lugares a los que vas en un archivo, ubicaciones.txt. A su vez, cres una aplicacin a la que llams LocoList que, si Mapas est instalada en tu telfono, levanta el archivo ubicaciones.txt y muestra todos los lugares grabados en ese archivo como una lista sencilla. Funciona sin el ms mnimo error.

Bien, digamos ahora que los desarrolladores de Mapas se dan cuenta de que es mejor guardar esa informacin en un lugar diferente y lanzan una actualizacin que ya no crea ni guarda el archivo ubicaciones.txt en tu telfono. De esta manera, LocoList ya no puede localizar este archivo del que depende toda su informacin y tampoco existe otra manera en que pueda extraer la informacin desde Mapas. LocoList deja de funcionar. Fuiste.

Todo el tiempo invertido en LocoList se fue al tacho porque un cambio que se realiz en Mapas dej inservible a tu aplicacin. Si bien a esta escala no parece un asunto grave, si lo pasamos a la escala de un servicio enorme como Netflix, que la aplicacin entera quede en desuso porque se realiz un cambio no solo puede arruinarle la experiencia a los usuarios, tambin significa que hay que reescribir el resto de las partes de la aplicacin para adaptarse a ese pequeo cambio que realizaste. Esta estructura es lo que llamamos arquitectura monoltica.

Netflix marc literalmente el inicio de una revolucin hace diez aos al reescribir las aplicaciones que ejecutan la totalidad del servicio bajo una arquitectura de microservicios, lo que implica que cada aplicacin, o el cdigo y los recursos de cada microservicio, son independientes. Por principio, no comparten el cdigo con otras aplicaciones. Entonces, cuando dos aplicaciones necesitan comunicarse, usan una interfaz de programacin de aplicaciones (API, por sus siglas en ingls), un conjunto de reglas muy controladas que los dos programas pueden manejar. De esta forma, los desarrolladores pueden hacer numerosos cambios en cada aplicacin, sean mnimos o exhaustivos, siempre y cuando se aseguren de que se respeta la API. Dado que los programas conocen bien la API del otro, las modificaciones no van a interrumpir el intercambio de informacin.

Netflix estima que utiliza alrededor de 700 microservicios para controlar cada una de las numerosas partes que conforman la totalidad del servicio: un microservicio guarda todos los programas que viste, otro debita la suscripcin mensual de tu tarjeta de crdito, otro le brinda a tu dispositivo los archivos de video correctos para que pueda reproducirlos, otro evala tu historial de programas vistos y usa algoritmos para generar una lista de pelculas que te pueden gustar, otro te brinda los nombres y las imgenes de esas pelculas para que se vean en una lista en el men principal. Y esto es tan solo la punta del iceberg. Los ingenieros de Netflix pueden modificar cualquier parte de la aplicacin para introducir cambios nuevos de forma rpida y sin que ninguna otra parte del servicio se interrumpa.

Cientos de microservicios, miles de cambios diarios en la produccin, decenas de miles de instancias, cientos de miles de interacciones de clientes por minuto, millones de clientes, mil millones de mtricas, diez mil millones de horas de visualizacin. Una decena de ingenieros de operaciones.

Para que todo esto funcione se necesita una red masiva de servidores. En el pasado eran propiedad de Netflix, pero dado el paso vertiginoso con el que crecan y sumado a la necesidad de dar continuidad a ese crecimiento, llegaron a la conclusin de que las cosas se iban a complicar si se abocaban a construir sistemas informticos capaces de dar soporte a su software, con el consiguiente trabajo de correcciones y modificaciones para adaptarlos a sus necesidades. Por lo tanto, tomaron la valiente decisin de deshacerse del mantenimiento de sus servidores y subieron toda la informacin a la nube. O sea, todo se ejecuta desde servidores externos que se hicieron cargo del mantenimiento del hardware, lo que le permiti a los ingenieros de Netflix crear cientos de programas e instalarlos de forma rpida en los servidores. Los servidores externos elegidos para la infraestructura basada en la nube son los de Amazon Web Services (AWS).

Bueno, son muchas las empresas que tienen una especie de acuerdo de caballeros en los que se comprometen a trabajar para el otro a pesar de competir en la misma categora. Un buen ejemplo es lo que ocurre entre Samsung y Apple, que compiten en el mbito de los telfonos mviles y, al mismo tiempo, las piezas ms esenciales del iPhone son manufacturadas por el gigante coreano. Netflix fue cliente de AWS antes de la aparicin de Prime Video. Que ahora sean competidores no implica que se instale una hostilidad entre ellos.

Tal como se desarrollaron los eventos, la alianza entre Netflix y Amazon result ser una situacin en la que todos salieron beneficiados. Netflix se convirti en uno de los clientes ms importantes de AWS, impulsndolos a desarrollar sus capacidades al mximo y a innovar constantemente en las formas de utilizar los diferentes servidores de AWS para los distintos usos (ejecutar los microservcios, guardar pelculas, manejar el trfico en internet) hasta sacar el mayor provecho posible. Por su parte, AWS mejor sus sistemas para permitir que Netflix realizara cargas masivas en sus servidores, as como tambin permiti un uso mucho ms flexible de sus productos y, por ltimo, utiliz toda la toda la experiencia ganada y la puso al servicio de las necesidades de miles de otros clientes. Por un lado, AWS se jacta de que Netflix es su cliente ms importante; por el otro, Netflix tiene la posibilidad de mejorar en forma rpida sus servicios y de mantenerlos estables gracias a AWS. Y esto se da, incluso, si Netflix le quita popularidad a Prime Video, o viceversa.

Qu utilidad podra tener un servicio de transmisin de programas de televisin y pelculas sin, por supuesto, programas de televisin y pelculas para transmitir? Para Netflix, el camino entre el productor de la pelcula y el cliente es un proceso largo y arduo:

Este ltimo paso, el de buscar el archivo indicado, es fundamental porque, a fin de cuentas, es en este momento en que Internet entrega el video desde los servidores AWS al dispositivo del cliente. Si no funciona de forma correcta o no se realiza el mantenimiento necesario, el resultado puede ser un servicio muy lento o que no funcione, y esto sera en los hechos el fin de la empresa. Internet es el cordn umbilical que conecta a Netflix con sus clientes y entregar el contenido que el usuario desea en el menor tiempo posible es un trabajo que les insume mucho esfuerzo. Todo esto ocurre en una red muy concurrida, en la que millones de servicios compiten por su lugar.

El espectro completo de operaciones que forman parte del ecosistema de Netflix (el software, el contenido y la tecnologa) se vuelve inservible si la conexin de Internet del usuario final es muy pobre para soportar la calidad de video. En lneas generales, Internet funciona de esta manera: cuando hacs alguna cosa que necesita acceso a la red, se enva una solicitud a tu proveedor de servicios de Internet (ISP, por sus siglas en ingls). El ISP enva esa solicitud a los servidores de destino que maneja el sitio web, y esos servidores generan una respuesta que se repite en tu computadora y le da forma al resultado. Para Netflix y otros sitios de primer nivel, en los que se repiten millones de horas de contenido de video a lo largo de Internet entre los servidores y los usuarios, hace falta una red de servidores mucho ms amplia para que el servicio funcione de forma correcta. Esto se logra gracias a la Red de entrega de contenidos (CDN, por sus siglas en ingls).

Bsicamente, las CDN toman el sitio web original y el contenido que se encuentra en el sitio, y lo copian a lo largo de cientos de servidores localizados en todo el mundo. Por lo tanto, cuando inicis sesin desde Budapest, en vez de conectarse al servidor principal de Netflix en los Estados Unidos, se va a cargar una copia igual de ese contenido ubicada en el servidor CDN ms cercano a Budapest. De esta manera, se reduce en gran medida la latencia (el tiempo entre una solicitud y una respuesta) y todo se carga con mucha velocidad. Los CDN son la razn por la que los sitios web con un nmero enorme de usuarios como Google, Facebook o YouTube son capaces de cargar contenido con rapidez, sin importar dnde ests o con qu velocidad de Internet conts.

En un principio, Netflix utilizaba una variedad de redes CDN operadas por gigantes como Akamai, Level 3 y Limelight Networks. Sin embargo, el crecimiento en la cantidad de usuarios se tradujo en la necesidad de entregar mayor cantidad de contenido a ms lugares y, al mismo tiempo, a costos ms bajos. En consecuencia, crearon su propia CDN: Open Connect.

En este caso, en lugar de utilizar los servidores AWS, instalaron sus propios servidores alrededor del mundo. Pero estos servidores tienen un nico propsito: guardar contenido de forma eficiente y entregarlo a los usuarios. Netflix cierra acuerdos con proveedores de servicios de Internet y les entrega la caja roja que se ve en la foto superior sin costo alguno. Los proveedores las instalan junto con sus servidores. Estas cajas Open Connect descargan la librera de Netflix de esa regin desde los servidores principales en los Estados Unidos. En los casos en que existen mltiples servidores, cada uno va a guardar el contenido ms popular entre los usuarios de la regin para darle prioridad a la velocidad. Por lo tanto, es probable que una pelcula poco popular tarde ms en cargarse que un episodio de Stranger Things. Ahora bien, cuando te conects a Netflix, la caja Open Connect ms cercana a vos te enva el contenido que necesits y, por lo tanto, los videos se van a cargar mucho ms rpido que si la aplicacin lo cargara desde el servidor principal.

90f70e40cf
Reply all
Reply to author
Forward
0 new messages