Está en la página 1de 18

Evolucionar o morir: principios de diseño de alta disponibilidad

Extraído de la infraestructura de red de Google


Ramesh Govindan † Ina Minei †, Mahesh Kallahalla †, Bikash Koley †, Amin Vahdat †
† Google * Universidad del Sur de California
Índice.
Resumen
1. Introducción.
2. Red de Google.
3. Desafíos de disponibilidad.
3.1 Objetivos de la disponibilidad de red.
3.2 Desafíos
3.3 Mecanismos de disponibilidad de referencia
4. Informes Post-Mortem
5. Análisis de fallos
6. Categorías de causa raíz
6.1 Categorías del plano de datos
6.2 Categorías del plano de control
6.3 Categorías del plano de gestión
7. Principios de alta disponibilidad
7.1 Utilice la defensa de profundidad
7.2 Mantener la coherencia dentro y entre planos
7.3 Fallo de apertura
7.4 Una onza de prevención
7.5 Recuperarse rápido
7.6 Actualice continuamente la red
Resumen
Laboracion, mercados en línea y servicios en la nube. Para respaldar estos
Mantener los niveles más altos de disponibilidad para los proveedores de
servicios, construyen centros de datos y WAN con un alcance global, tanto
contenido es un desafío frente a la escala, la evolución de la red y la
para interconectar sus centros de datos como para lograr laproximidad del
complejidad. Sin embargo, se sabe poco acerca de las fallas de red a las que
cliente. Los proveedores optimizan sus redes para proporcionar un alto
son susceptibles los grandes proveedores de contenido y de los mecanismos
rendimiento, baja latencia y alta disponibilidad.
que emplean para garantizar una alta disponibilidad. A partir de un análisis
Algunas o todas estas características se correlacionan con un aumentode
detallado de más de 100 eventos de fallas de alto impacto dentro de la red
los ingresos [ 3 , 23 ].
de Google, que abarca muchos centros de datos y dos WAN, cuantificamos
Si bien se ha escrito mucho sobre el diseño y el rendimiento de la
varias dimensiones de fallas de disponibilidad. Descubrimos que las fallas red de proveedores de contenido [ 18 , 35 , 6 , 11 ], se sabe poco sobrelos
se distribuyen uniformemente entre los diferentes tipos de redes y entre los desafíos de disponibilidad de la red que enfrentan los
planos de datos, control y administración, pero que ocurren una gran proveedores de contenido. ¿Qué tipo de garantías de disponibilidadse
cantidad de fallas cuando una operación de administración de la red está en esfuerzan por lograr los proveedores de contenido? ¿Qué desafíos
progreso dentro de la red. Analizamos algunos de estos fallos en detalle, y enfrentan para cumplir con estas garantías? ¿A qué tipo defallas son
también describir nuestros principios de diseño para alta disponibilidad susceptibles? ¿Cómo logran una alta disponibilidad ante estos fallos? Este
motivados por estos fallos. Estos incluyen el uso de la defensa en documento arroja luz sobre algunas de estas preguntas basándose en la
profundidad, el mantenimiento de la coherencia en todos los planos, la experiencia operativa en un gran proveedor de contenido, Google.
apertura de fallas grandes, la prevención y evitación cuidadosas de fallas y Google ejecuta tres tipos de redes cualitativamente diferentes (Sección
la evaluación de la causa raíz rápidamente. Nuestros hallazgos sugieren 2 ): redes de centros de datos, diseñadas a partir de conmutadores de
que, a medida que las redes se vuelven más complejas, las fallas acechanen silicio comerciales, con un plano de control lógicamente centralizado; una
todas partes y, contrariamente a la intuición, la evolución incremental WAN definida por software llamada B4 que admite múltiples clases de
continua de la red puede, cuando se aplica junto con nuestros principios de tráfico y utiliza ingeniería de tráfico centralizada; y otra WAN global
diseño, dar como resultado una red más robusta. llamada B2 para el tráfico de cara al usuario que emplea ingeniería de
tráfico descentralizada. Nos esforzamos por mantener una alta
disponibilidad en estas redes: por ejemplo, para el tráfico de cara al
Conceptos de CCS usuario, el objetivo de disponibilidad interna de Google no es más que
• Redes! Algoritmos de ruta de control; Fiabilidad de la red; unos minutos de inactividad por mes.
Capacidad de gestión de la red; Mantener esta alta disponibilidad es especialmente difícil por tres
razones (Sección 3.2 ). El primero es escala y heterogeneidad: La redde
Palabras clave
Google abarca todo el mundo y, a esta escala, la falla de algún componente
Disponibilidad; Plano de control; Plano de gestión de la red es común [ 9 ]. El segundo es velocidad de evolución: la red
cambia constantemente en respuesta a la creciente demanda de tráfico, así
1. INTRODUCCIÓN como al despliegue de nuevos servicios. El tercero es complejidad de la
Los proveedores de contenido a escala mundial ofrecen una variedad de gestión: mientras que el plano de control ha ido evolucionando para hacer
frente a la complejidad de la red, el plano de gestión [ 12 ] no ha seguido el
servicios cada vez más populares que van desde la búsqueda, el intercambio
ritmo.
de imágenes, las redes sociales, la difusión de videos, las herramientas para A pesar de estos desafíos, nuestra infraestructura de red y nuestros
el intercambio en línea. servicios brindan algunos de los niveles de disponibilidad más altos de la
industria en docenas de servicios individuales. Hemos mantenido esta
El permiso para hacer copias digitales o impresas de todo o parte de este
disponibilidad a pesar de experimentar varios eventos de fallas sustanciales.
trabajo para uso personal o en el aula se otorga sin cargo siempre que las
Ejemplos de tales fallas incluyen un solo error que elimina la conectividad
copias no se hagan o distribuyancon fines lucrativos o comerciales y que
a un centro de datos, una falla de tarjeta de línea única que elimina un
las copias lleven este aviso y la cita completa en la primera página. . Deben
respetarse los derechos de autor de los componentes de este trabajo que enrutador de red troncal completo y una sola configuración incorrecta que
sean propiedad de terceros que no sean los autores. Se permite resumir con resulta en la falla completa del plano de
crédito. control de una WAN. Documentamos cuidadosamente (en Post mortem informes)y
SIGCOMM '16, 22 al 26 de agosto de 2016, Florianópolis, Brasil la causa raíz de cada nueva falla significativa,

© 2016 Los derechos de autor pertenecen al


propietario / autor (es). ISBN 978-1-4503-4193-
6 / 16/08. . . $ 15.00
Otros ISP
y también dibujar principios para evitando, localizando, y recuperándose B4
B2
de fallas, de modo que las fallas posteriores son poco probables y las que
B4BR
ocurren rara vez son visibles para nuestros usuarios finales.
B2CR B2CR
B4BR Paquete B2
B4BR
Paquete B4 B2BR B2BR
Contribuciones. En este artículo, hacemos tres contribuciones analizando
más de 100 Post mortem informes de únicos 1 fallas de alto impacto
(Sección 4 ) en un plazo de dos años. Primero, presentamos un análisis Cluster Tela
. . .
cuantitativo de diferentes dimensiones de fallas de disponibilidad en Google CARRO s CARRO

(Sección 5 ). Descubrimos que la tasa de fallas es aproximadamente


Figura Tela
1: Red global de Google
comparable en los tres tipos de redes que tenemos (redes de centros de
datos, B2 y B4). También encontramos que cada una de estas redes es
susceptible a fallas de hardware / plano de datos, así como fallas en el plano 2. RED DE GOOGLE
de control y en el plano de gestión. El 80% de las fallas duran entre 10 En esta sección, discutimos un modelo simplificado de la red de
minutos y 100 minutos, significativamente mayor que los objetivos de Google. Esta discusión dará contexto para algunas de las descripciones de
disponibilidad de nuestra red. Casi el 90% de las fallas tienen un alto fallas en secciones posteriores, pero omite algunos de los detalles por
impacto: grandes pérdidas de paquetes o agujeros negros en centros de brevedad.
datos completos o partes de los mismos. Finalmente, encontramos que,
Las redes. Conceptualmente, la red global de Google, una de las más
cuando ocurren la mayoría de estas fallas,un operación de gestión estaba en
grandes del mundo, consta de tres componentes cualitativamente diferentes
progreso en las proximidades. (Figura 1 ): un conjunto de campus, donde cada campus alberga una serie
de grupos; una WAN, llamadaB2, que transporta el tráfico entre los
En segundo lugar, clasificamos las fallas por algunas categorías de
usuarios y los clústeres; y una WAN interna llamada B4 [ 18 ] responsable
causa raíz (Sección 6 ), y descubre que, para cada uno de los planos de
también de transportar tráfico entre conglomerados. El fundamento de las
datos, control y gestión, las fallas pueden tener su origen en un puñadode dos WAN y de las diferencias en su diseño se analiza en [ 18 ].
categorías. Ejemplos de tales categorías incluyen: fallas en la evaluación Google, a lo largo de los años, ha diseñado varias generaciones de redes
de riesgos; falta de coherencia entre los componentes del plano de control; de clústeres; En nuestra red actual, coexisten múltiples generaciones de
exceso de recursos del dispositivo; solapas de enlace; operación de gestión clusters. Estos diseños de clústeres emplean variantes de una topología
ejecutada incorrectamente; Etcétera. Clos de múltiples etapas (ver [ 35 ]), con conmutadoresindividuales que
Cuantificamos la distribución de fallas en estas categorías, pero también utilizan generaciones sucesivas de silicio comercial. La capa inferior de la
discutimos en detalle las fallas reales dentro de algunas categorías. Esta red Clos consta de conmutadores ToR que proporcionan conectividad a un
categorización es más precisa que simplemente la raíz que causa fallas de bastidor de servidores. Las capas intermedias de la red de Clos, en
hardware, errores de software o errores humanos, lo que nos permiteextraer diferentes generaciones de tejidos, consistieron en subtejidos agregados de
lecciones importantes para mejorar la disponibilidad de la red. diferentes tamaños, típicamente llamados superbloques. Las capas
superiores de estos tejidos de agregación comprenden conmutadores
En tercer lugar, discutimos principios de diseño de alta disponibilidad
centrales, o agregados de los mismos, llamados bloques de columna.
extraídas de estas fallas (Sección 7 ). Nuestro análisis cualitativo y la
En una ubicación geográfica determinada o metro, Google puede tener
categorización de la causa raíz sugieren que ningún mecanismo o técnica
más de un centro de datos. En generaciones anteriores del diseño de
puede solucionar una fracción significativa de las fallas de disponibilidad de
Google. Primero, defensa en profundidad clústeres de Google, los servidores dentro de un solo centro de datos
es necesario para detectar y reaccionar ante fallas en diferentes estaban interconectados por un solo tejido, y los tejidos dentro de un metro,
capas y planos de la red y se puede lograr conteniendo el radio de falla y a su vez, estaban interconectados a través de un tejido de agregación de
desarrollando estrategias de respaldo. Segundo, fallarabierto conserva el clúster para ofrecer suficiente capacidad dentro del metro. La generación
plano de datos cuando falla el plano de control. Tercero, manteniendo la más reciente puede escalar para interconectar múltiples estructuras de
consistencia clúster. Los tejidos de agregación de clústeres ylos tejidos de última
en los planos de datos, control y gestión puede garantizar una evolución generación, a su vez, se conectan a las dos WAN, B2y B4 a través de
segura de la red. Cuarto, una cuidadosa evaluación de riesgos, pruebas y un
enrutadores de agregación de clúster ( Carros). En las generaciones
plano de gestión unificado pueden prevenir oevitar fallas. Quinto, rápida
anteriores, un CAR era un tejido de agregación independiente y, en sí
recuperación de fallas no es posible sin sistemas de monitoreo de alta
mismo, una red Clos de varias etapas. En el tejido de última generación,
cobertura y técnicas para el análisis de la causa raíz. Al aplicar estos
principios, algunos de los superbloques o bloques intermedios del tejido se utilizan
Junto con la idea contraria a la intuición de que la red debe evolucionar de como CAR.
forma continua e incremental, hemos logrado aumentar la disponibilidad Cada CAR se conecta a un interruptor B4 [ 18 ] en un metro llamado B4BR (o
de nuestras redes incluso cuando su escala y complejidad se han Enrutador de borde B4). Un B4BR en sí mismo es también una red de conmutación de
multiplicado por muchas. Concluimos con una breve discusión sobre los múltiples etapas, construida a partir de silicio comercial. La
problemas de investigación abierta en el diseño de redes de alta
disponibilidad.

1 Cada informe post-mortem documenta una falla única, nunca antes vista.
Nose documentan instancias posteriores de la misma falla.
B4 WAN consta de punto a punto manojos entre B4BR en diferentes metros. Finalmente, el plano de control de la red B2 es similar al de otros grandes ISP.
Cada paquete es una interconexión compleja entre dos B4BR, diseñada para B2 usa IS-IS internamente, habla E-BGP con CAR, B4BRy pares externos, y
lograr una alta capacidad agregada agregando una gran cantidad de enlaces emplea la reflexión de ruta para escalar la diseminación y el cálculo de la ruta
físicos. El tráfico entre conglomerados en diferentesáreas metropolitanas puede BGP. La mayor parte del tráfico en B2 se diseña utilizando túneles MPLS. RSVP
atravesar varios B4BR, como se describe a continuación. establece o derriba los túneles y el ancho de banda automático de MPLS [ 27 ]
adapta lascapacidades de los túneles en respuesta a los cambios en la demanda.
Cada CAR también se conecta a dos Enrutadores de borde B2 (B2BR).
Estos enrutadores disponibles comercialmente también B2 usa prioridades MPLS para adaptarse a diferentes clases de tráfico.
proporcionan una capacidad agregada significativa utilizando tejidos de
Las arquitecturas de carga de trabajo y servicio. Las tres redes
conmutación internos patentados. La WAN B2 consta de B2BR interconectados
las obras sirven colectivamente a dos tipos de clientes: clientes internos y
mediante una red de enrutadores de núcleo B2 (B2CR). Los B2CR también se
servicios de cara al usuario. Los clientes internos utilizan los clústeres para
conectan con enrutadores de borde que se emparejan con los clientes de Google y
almacenamiento distribuido y cálculos distribuidos; por ejemplo, losíndices de
las redes de tránsito. Las interconexiones entre todos estos dispositivos también
búsqueda se almacenan en un almacenamiento distribuido que puede replicarse
son paquetes deenlaces físicos 2 proporcionando alta capacidad agregada.
en todos los clústeres, y los índices se (re) calculan mediante cálculos
Planos de control y datos. Las tres redes difieren cualitativamente en el diseño de distribuidos que se ejecutan en servidores dentro de los centros de datos. Tanto el
sus planos de control y datos.Las redes de clúster consisten en un plano de almacenamiento como la computación pueden generar cantidades significativas
control lógicamente centralizado responsable de establecer reglas de reenvío en de tráfico de red.
los conmutadores de estructura. El plano de controlse descompone, por razones Desde la perspectiva de la red, los servicios orientados al usuario pueden
de modularidad del software, en
verse como una jerarquía de dos niveles. Frente termina recibir solicitudes de
tres componentes que actúan en concierto entre sí: a Controladorde tejido ( FC) que
usuarios; un front-end es un proxy inverso de software y caché que analiza la
calcula rutas dentro de la estructura; a Agentede enrutamiento ( RA) que habla BGP
e IS-IS con los enrutadores solicitud de servicio y determina qué back-end, de muchos, la solicitud debe
fronterizos vecinos y realiza el cálculo de la ruta IP; y un Controlador equilibrarse con. Los back-end (que suelen tener varios niveles) cumplen la
solicitud y devuelven la respuesta. Los balanceadores de carga determinan a qué
front-end y back-end se envía
OpenFlow ( OFC) que los programas cambian al interactuar con Agenteusna solicitud: por lo general, el equilibrio de carga de DNS se utiliza para
OpenFlow ( OFA) que se ejecutan en conmutadores individuales.Para lograr esta equilibrar la carga de las solicitudes de los usuarios al frontend, y un
programación, la OFC se basa en información de la FC y la RA. El reenvío de equilibrador de carga realiza un seguimiento de las solicitudes agregadas y la
paquetes dentro del tejido utiliza ECMP para utilizar mejor la rica conectividad
carga del back-end. para equilibrar la carga de solicitudesde frontends a
de los tejidos Clos.
backends. Este diseño permite la ampliación de los servicios en respuesta a la
El plano de control de B4 también utiliza la centralización lógica, pero aplica creciente demanda. Más interesante, el uso de balanceadores de carga
esta centralización en dos niveles. Dentro de un B4BR, elplano de control está proporciona un nivel de direccionamiento indirecto que permite a los
organizado como en grupos, que constan de los mismos tres componentes (FC, operadores reconfigurar dinámicamente los servicios en respuesta a la red (u
RA y OFC) como se discutió anteriormente, y el reenvío del plano de datos usa otras fallas). Por lo tanto, por ejemplo, los front-end o back-end en un clúster
ECMP para utilizar mejor la capacidad agregada del enrutador. Sin embargo, en pueden ser drenado (es decir,
la WAN B4, el plano de control centralizado tiene una arquitectura diferente los usuarios pueden ser dirigidos a otros front-end o back-end) cuando ocurre
porque la topología WAN es cualitativamente diferente de la de los clústeres.
una falla grande. Por último, la latencia es un determinante clave del
Específicamente, el plano de control consta de
cuatro componentes que trabajan en conjunto [ 18 , 21 ]; la Puerta deenlace B4 rendimiento para los servicios de cara al usuario: la jerarquía de servicios de cara
extrae los estados de la red y programa el estado del plano de control en los al usuario permite la proximidad de las interfaces a los usuarios, lo que permite
B4BR; a Modelador de topología calcula un modelo de la topología WAN actual, un acceso de baja latenciaal contenido.
incluidas las limitaciones de capacidad actuales en y entre B4BR, utilizando el
Clasificamos el tráfico en la red de Google en varias clases de
estado de la red extraído de la puerta de enlace; a Servidor TE calcula las rutas TE
prioridad para satisfacer las diferentes necesidades de calidad de los servicios de
a nivel de sitio entre B4BR utilizando el modelo de topología, así como la
cara al usuario y los clientes internos, y para garantizar que siempre se atienda el
demanda de tráfico presentada a la red; y un ejecutor de ancho
de banda ( BwE, [ 21 ]) estima la demanda de tráfico necesaria para elservidor TE y tráfico importante. Por lo general, se asigna una prioridad más alta al tráfico de
también aplica la carga ofrecida por las aplicaciones a cara a los usuarios y una prioridad más baja al tráfico interno. Nuestras WAN
implementan la diferenciación del tráfico de formas ligeramente diferentes: B4
utiliza la cola de prioridad en los conmutadores, junto con el marcado del
tráfico, el control de admisión y la aplicación del ancho de banda en los bordes;
B2 se basa enel marcado de tráfico y la implementación de QoS en el equipo de

límites predeterminados. El plano de datos usa encapsulación ( tunelizaciónp)roveedor, y asegura que el tráfico de alta prioridad permanece en la
para efectuar rutas TE, y el plano de control B4BR traduce una ruta TE a nivel ruta más corta al mapear el tráfico de baja prioridad a los túneles de baja
de sitio en una o más rutas de tejido intra-B4BR, o uno o más paquetes entre prioridad.
B4BR.
3. DESAFÍOS DE DISPONIBILIDAD
2 En el resto del artículo, usamos el término manojo para denotar una colección
Mantener una alta disponibilidad ha sido, y sigue siendo, unenfoque
agregada de enlaces físicos, y Enlace para hacer referencia a un enlace físico.
importante de la arquitectura y el diseño de redes en

62
Google. con escala, implica que, con alta probabilidad, el software o el hardware de
alguna parte de la red se actualiza todos los días, lo que puede exacerbar
3.1 Objetivos de disponibilidad de la red aún más la fragilidad.
La red se esfuerza por lograr diferentes objetivos de disponibilidad para
Complejidad de la gestión de dispositivos. Un tercer desafío en Lograr una
diferentes clases de tráfico. Dado que la disponibilidad de la capa de red es solo
alta disponibilidad es la complejidad de administrar dispositivos dered
un componente del presupuesto de disponibilidad generalde un servicio de
modernos, especialmente en niveles más altos de agregación. Por ejemplo,
software, la red debe cumplir con un objetivo de disponibilidad bastante estricto,
en 2013, Google empleó varios chasis de 1,28 TB / s en su WAN [ 18 ].En la
de solo un pocos minutos al mes
actualidad, algunos dispositivos disponibles comercialmente admiten 20
de tiempo de inactividad, para al menos algunas clases de tráfico.
TB / s [ 19 ]. En respuesta al aumento de la agregación, las arquitecturas
Google rastrea los objetivos de disponibilidad para diferentes clases de
tráfico en escalas de tiempo por minuto. En B4, tenemos suficiente del plano de control han logrado escalar abstrayendo y separando el
instrumentación (utilizada para realizar ingeniería de tráfico) para medir control del plano de datos, pero los paradigmas de administración no han
directamente las duraciones de tiempo durante las cuales el ancho de banda seguido el mismo ritmo y, por lo general, siguen considerando la red como
prometido a los servicios no pudo satisfacerse entre cada par de B4BR para una colecciónde dispositivos administrados independientemente. Por
cada clase de tráfico. Para B2 y clústeres, usamos un sistemasimilar a [ 14 ] ejemplo, la mayoría de las herramientas de administración aún permiten la
para determinar la indisponibilidad por clase de tráfico entre cada par de configuración basada en CLI, lo que hace que las secuencias de comandos
conglomerados; nuestro sistema utiliza medidas de ping entre clústeres y puede
y la automatización sean propensas a errores, y las herramientas de
eliminar la ambigüedad entre la inalcanzabilidad dentro de los clústeres y la
administración exponen la administración a la granularidad de dispositivos
inalcanzabilidad en las rutasentre los clústeres. Declara que un clúster no está
individuales o chips de conmutadores individuales en un B4BR.
disponible para una clase de tráfico dada si la pérdida de paquetes para esa
clase de tráfico, desde todas otros grupos, está por encima de un cierto umbral.
3 Restricciones impuestas por objetivos de disponibilidad estrictos. La
Los objetivos estrictos de disponibilidad de unos pocos minutos al mes
3.2 Desafíos
también pueden presentar un desafío imponente. Por ejemplo, en
Hay cuatro razones interrelacionadas por las que lograr los objetivosde
algunos
disponibilidad es un desafío dentro de la red de Google.
casos, la actualización de un enrutador de borde puede llevar más de 8 horas.
Escala y heterogeneidad. La red de Google se extiende por todo el mundo, está Un proceso de actualización tan largo introduce una ventana de
diseñada para una alta capacidad de entrega de contenido y contiene vulnerabilidad afallas concurrentes. Para evitar fallas durante las
dispositivos de una amplia variedad de proveedores de red, además de varias actualizaciones planificadas, podríamos drenar los servicios de los clústeres
generaciones de hardware y software desarrollados internamente. La escala de afectados, pero si hiciéramos esto para cada actualización, dada la velocidad
la red significa que existe una alta probabilidad de que al menos un dispositivo de nuestra evolución, podría afectar nuestra capacidad de servicio. Los
o componente falle, o algúnsoftware que funcione mal o mal configurado, servicios de drenaje manual
dentro de la red en cualquier momento dado. Implementamos explícitamente
también pueden ser propensos a errores. Por lo tanto, muchas
dispositivosde dos proveedores, para la heterogeneidad del hardware. La
actualizacionesplanificadas deben actualizar en el lugar, lo que también
heterogeneidad también surge de la escala: se necesita tiempo para actualizar la
puede aumentar la fragilidad de la red.
red, por lo que en cualquier momento, la red puede tener
2-3 generaciones de, por ejemplo, tecnologías de clúster. Si bien la 3.3 Mecanismos de disponibilidad de referencia
heterogeneidad garantiza que es poco probable que el mismo problemaafecte a
Al comienzo de nuestro estudio, la red de Google empleóvarias técnicas
varios componentes de la red, también puede introducir fragilidad y avanzadas para garantizar una alta disponibilidad de la red. Todos estos
complejidad. Los equipos de diferentes proveedores requieren diferentes mecanismos están en en la actualidad también, pero algunos de ellos han
procesos de plano de gestión y su software puede actualizarse a diferentes evolucionado y se han implementado mecanismos adicionales, basados en
velocidades. Los chips de silicio comerciales de diferentes generaciones la experiencia obtenida de las fallas de disponibilidad descritas en el resto
exponen capacidades ligeramente diferentes que deben abstraerse mediante del documento.
software de conmutación, lo que aumenta la complejidad. Esta heterogeneidad Primero, nuestros clústeres y topologías WAN se planifican
es fundamental, dada nuestra velocidad de evolución (que se analiza a cuidadosamente para adaptarse a la demanda proyectada. También
continuación), e intentamos gestionarla utilizando procesos cuidadosos de diseñamos nuestra red para tolerar fallas de componentes clave como
desarrollo y gestión de software. motores de enrutamiento, fuentes de alimentación o ventiladores en
dispositivos individuales, así como fallas de paquetes o dispositivos,
Velocidad de evolución. El rápido crecimiento del tráfico de propiedad mediante el uso de B2BR y B2CR redundantes. Para ser resistentes a las
intelectual mundial (5 ⇥ durante los últimos cinco años, y un crecimiento fallas físicas de la planta, utilizamos fibras físicas disjuntas y
proyectado similar [ 8 ]), del cual Google tiene una participación significativa, alimentadores de energía disjuntos.
requiere una rápida evolución en el hardware y software de red en Google. Esta En segundo lugar, cada componente del plano de control lógicamente
velocidad de evolución se ve acentuada por el crecimiento en la cantidadde centralizado (desde FC, RA y OFC en las estructuras hasta BwE, Gateway,
productos que ofrece Google. Esta velocidad, acoplada TE Server y Topology Modeler) se replica con replicación maestro /
esclavo y conmutación por error transparente. Las réplicas del plano de
3 El umbral de pérdida varía según la clase de trá fi co entre 0,1% y 2%.
control WAN se colocan en ubicaciones geográficamente diversas. En B2,
utilizamos la protección MPLS para lograr un redireccionamiento rápido
en caso de fallas, y el ancho de banda automático MPLS para adaptar
automáticamente las reservas del túnel a las fluctuaciones fluctuantes.

63
mand [ 27 ]. No hay nuevas lecciones que aprender de este fracaso.
En tercer lugar, tenemos un proceso de aprobación o fi nal mediante el cual los
Conjunto de datos. En este documento, hemos recopilado y analizado todos los
servicios se registran para prioridades de tráfico específicas. Los desarrolladores de
informes post-mortem (103 en número) de fallas de red en Google durante los
servicios reciben pautas sobre qué tipos de tráfico deben utilizar qué prioridad y deben
últimos dos años. En el resto del documento, presentamos un análisis de este
especificar las demandas de tráfico al solicitar laaprobación de una prioridad. Una vez
conjunto de datos, describimos algunos de los eventos de falla para darle al
que se concede la aprobación a un servicio para una demanda específica, BwE marca
lector alguna intuición sobre la magnitud y complejidad de nuestras fallas de
el tráfico del servicio con la prioridad adecuada y limita la velocidad del tráfico.
disponibilidad, y concluimos con una discusión sobre los principios de diseño
En cuarto lugar, tenemos varios procesos del plano de gestión diseñados para
extraídos deestos. fracasos.
minimizar el riesgo de fallas. Usamos pruebas de regresión antes de implementar
actualizaciones de software e implementarlas ca- naries a escalas más pequeñas antes de
5. ANÁLISIS DE FALLOS
implementarlo en toda la red. También realizamos periódicamente escenarios de desastre [
20 ,
Por Red y Plano. Figura 2 muestra la distribución de eventos de falla en las
17 ] y mejorar nuestros sistemas basándose en las lecciones de estos ejercicios. tres redes. No domina una sola red y los eventos de fallas ocurren con una
Documentamos cuidadosamente cada operación de gestión MOp) en la red. Algunos frecuencia comparable 4 en las tres redes.Los clústeres ven la mayoría de las
ejemplos de MOps incluyen la implementación de un nuevo softwarede plano de fallas (más de 40), pero B4 vio más de 25 fallas. Esto implica que no existe
control, la actualización de enrutadores o paquetes, la instalacióno sustitución de un tipo de red objetivo natural para enfocar nuestros esfuerzos de mejora
componentes como tarjetas de línea, transmisores ópticos o firmware de conmutador. de la disponibilidad.
La documentación de cada MOp enumera los pasosnecesarios para la operación, una Los informes post-mortem también incluyen una discusión de las

duración estimada y un Evaluación de riesgos sobre la probabilidad de que el MOp


afecte los objetivos de
causas fundamentales de la falla. A partir de estas descripciones,
disponibilidad. Si un MOp se considera de alto riesgo, los operadores drenar servicios
afectados antes de ejecutar el MOp.
atribuimos los eventos de falla a uno de tres planos: datos, control y
administración. Las fallas del plano de datos incluyen fallas de hardware y fallas
debido a limitaciones del dispositivo o del sistema operativo. Las fallas del
plano de gestión son aquellas que podrían atribuirse a un MOpen proceso, y las
4. INFORMES POST-MORTEM fallas del plano de control son el resultado de una propagación incorrecta del
En Google, tenemos un proceso mediante el cual documentamos cada gran estado u otras interacciones no deseadas entre los componentes del plano de
falla en un informe post-mortem e identificar lecciones de la falla, de modo que control.
se pueda evitar o mitigar su recurrencia. Como tal, cada informe post-mortem A veces, atribuir fallos a los aviones requiere un juicio informado.
identifica una falla que afectó los objetivos dedisponibilidad discutidos Por ejemplo, cuando un evento de falla tuvo múltiples causas raíz ( p.ej,
anteriormente, que llamamos un evento de falla. El informe incluye la ubicación una falla de enlace desencadenó un error en el plano de control),
de la red de la falla, su duración y su impacto en los volúmenes de tráfico y las ¿fue esto un plano de datos o una falla del plano de control? En el ejemplo
tasas de pérdida de paquetes, así como el impacto en los servicios. Está coescrito anterior, atribuimos la falla al plano de control, ya que podría decirse que el
por miembros de diferentes equipos cuyos sistemas fueron impactados o plano de control debería haber sido robusto a las fallas de enlace. Sin
causados por elevento de falla. Contiene una línea de tiempo de los eventos (si se embargo, si una falla de enlace coincidió conla operación de mantenimiento
conocen) que llevaron a la falla, y la línea de tiempo de los pasos tomados para de la red planificada que debería haber sido segura debido a la redundancia
diagnosticar y recuperarse de la falla. También contiene una caracterización pero causó una pérdida congestiva, atribuimos la falla al plano de datos.
precisa de la (s) causa (s) raíz (s) de la falla. Un solo evento de falla puede tener Figura 2 también muestra la distribución de eventos de falla
más de una causa raíz; los operadores e ingenieros confirman estas causas raíz en los planos por red. Las tres redes son susceptibles a fallas enlos
reproduciendo la falla, o partes de la misma, ya sea en el campo o en un planos de control, datos y administración y ningún plano domina
laboratorio. Muchos de los informes también incluyen diagramas detallados que ninguna red, con la posible excepción de B4 donde las fallas en el
dan contexto, a una audiencia más amplia, del fracaso. Finalmente, los informes plano de control superan las fallas en el plano de datos y
contienen una lista de elementos de acción para realizar un seguimiento de la administración en conjunto. Por lo tanto, las mejoras dedisponibilidad
falla, que puede variar desde cambios en el software o la configuración hasta deben apuntar a los tres planos.
cambios en los procesos del plano de gestión. Cada elemento de acción suele ser
objeto de seguimiento y debate en un sistema de seguimiento de errores. Por elemento estructural. Nuestras redes tienen muchos
El proceso de redacción de una autopsia es libre de culpas y sin elementos estructurales: tejidos, ToR, CAR, B2BR, etc. Figura 3 muestracómo se
prejuicios. Los compañeros y la gerencia revisan cada autopsia para distribuyen los eventos de falla entre estos elementos estructurales. Hay cinco
verificar que esté completo y sea preciso [ 5 ]. Estoasegura que elementos estructurales, cada uno de
aprendamos las lecciones correctas de la falla y evitemos futuras los cuales es responsable de 10 eventos de falla o más. LosB2BR,
ocurrencias de la misma falla. Además, no todas las fallas de los CAR y los tejidos ocupan posiciones críticas en la topología, y
disponibilidad se documentan en una autopsia; Si una falla es la cualquier falla en estos puede resultar en una disponibilidad
recurrencia de otra falla para la cual se redactó un informe post- degradada. Otros dos puntos de dolor en el
mortem, no se documenta porque 4 Nuestros informes post-mortem solo documentan único fracasos, no todas fracasos. Comotal,
usamos el término frecuencia para referirnos a la frecuencia de ocurrencia de fallas únicas. También
por esta razón, no hemos analizado la frecuencia de eventos de falla a lo largo del tiempo, porque no
tenemos datos para todos los eventos.

64
Colina

Alta prioridad / baja pérdida


Modelador de topología

Grupo
Puerta
Alta prioridad / alta pérdida
Tela

Elemento de red
CPN

Severidad de la falla
Prioridad baja / Pérdida baja
CARRO
Control B2
La red

B4
Datos B4
Gestión BwE Grupo
Prioridad baja / Pérdida alta
B4BR

Paquete B4
Sin impacto
B2CR
B2
B2BR
Blackhole
Paquete B2

0 10 20 30 40 0 5 10 15 0 Contar 10 de Fai2l0ure inclus3o0 ts


Recuento de eventos de falla Recuento de eventos de falla

Figura 2: Distribución de fallas Figura 3: Distribución de fallas Figura 4: Distribución de fallas


eventos en avión y red eventos por elemento estructural eventos por impacto y red

la red son menos obvias. Los ToR son la fuente de muchas fallas en gran Servicios que se agrupan, prefiriendo instancias de servicios en otros
parte como resultado de fallas causadas por actualizaciones de software clústeres) antes de comenzar a causar la falla e iniciar la recuperación. En
defectuosas que ocurren simultáneamente en múltiples ToR. El software estos casos, la duración mide cuándo se solucionóla falla ( p.ej, el agujero
ToR evoluciona con relativa rapidez, por lo que contribuyen en gran negro fue reparado). La reanudación del servicio después de tales fallas a
veces puede llevar mucho más tiempo ( p.ej, debido al retraso para que la
medida a la indisponibilidad de la red. Usamos una red de plano de control
replicación de datos se ponga al día), por lo que no lo incluimos en la
fuera de banda para las estructuras y B4, y las fallas en esta red pueden
duración del evento. Para otros eventos de falla, los operadores intentan
tener un impacto significativo en los planos de control y, por lo tanto, en la
reparar la falla sin agotar los servicios; En estos casos, la duración mide el
disponibilidad. De los componentes del plano de control de toda la red,
tiempo durante el cual los efectos de la falla ( p.ej, pérdida de paquetes)
BwE representa un número notable de eventos de falla. eran evidentes.
Figura 5 traza la CDF de la duración de los eventos de falla por red.
Impacto. Los eventos de falla impactan directamente los objetivos de Aproximadamente el 80% de todos nuestros eventos de falla tuvieron una

disponibilidad, y podríamos haber medido la disponibilidad de la red, duración de entre 10 minutos y 100 minutos. Cuando se mide contralos
objetivos de disponibilidad discutidos en la Sección 3.2 , donde el objetivo
pero losinformes post-mortem no describen todas fallas de disponibilidad,
del tráfico de alta prioridad era unos minutos de inactividad por mes, estos
solo grandes. Por esta razón, clasificamos los eventos de falla en seis
números cuantifican los desafíos que enfrentamos para mantener una alta
clases de impacto diferentes: agujeros negros, donde el tráfico hacia un
disponibilidad dentro de nuestras redes. Los eventos de falla cuya duración
conjunto de objetivos, o de un conjunto de fuentes, estaba completamente
fue inferior a 10 minutos se beneficiaron de la experiencia del operador en
bloqueado; pérdida de paquetes alta / baja para tráfico de alta prioridad;
el diagnóstico de la causa raíz o del hecho de que la causa de la falla era
pérdida alta / baja de paquetes en el tráfico para tráfico de menor prioridad; obvia ( p.ej, porque el impacto de la falla sevio después de completar un
y sin impacto (discutido a continuación). Para distinguir la pérdida de paso de un MOp). Las duraciones de falla de más de 100 minutos
paquetes alta / baja, usamos los umbrales de pérdida usados para los generalmente representan eventos que resultaron en niveles bajos de
objetivos de disponibilidad para el tráfico de alta y baja prioridad. pérdida de paquetes para tráfico menos importante o, en algunos casos, una
Figura 4 muestra la distribución de eventos de falla en estas falla latente que se descubrió pero que aún no había afectado a la red. En
categorías. Nuestros eventos de falla a menudo tienen un gran impacto, con estos casos, los operadores optaron por esperar para solucionar el
más de 30 eventos de falla que resultan en agujeros negros de tráfico, a problema porque se consideró demenor prioridad, ya sea esperando que
menudo para grupos completos a la vez. También ocurren con frecuencia los desarrolladores desarrollen yprueben una versión de software, o que los
altas pérdidas de paquetes que resultan en sobrecargas de la red debido a proveedores envíen una pieza de repuesto.
fallas, en todas las clases de tráfico. Un pequeño número deeventos de falla Finalmente, Figura 5 muestra que, a nivel de distribución, los eventos
no tienen impacto: en estos eventos, a menudo, se descubrió una falla de falla en B2 y los clústeres son de menor duración que en B4 (tenga en
latente, pero los operadores esperaron para solucionarla porque no cuenta que el eje x es escala logs), probablemente porque las dos primeras
representaba una amenaza inmediata. Todas las redes son susceptibles a redes transportan tráfico de alta disponibilidad, pero B4 no.
categorías de alto impacto (agujeros negros y alta pérdida de paquetes), con
El papel de la evolución en los eventos de fracaso. Hemos dis-
la excepción del tráfico de alta prioridad en B4, que no transporta ese
Consideramos que uno de los principales retos para mantener la alta
tráfico.
disponibilidad es la constante evolución de nuestras redes. Estaevolución
Duración. La duración de un evento de falla representa el tiempo desde que implica la implementación frecuente de software nuevo, errores de
software, MOps frecuentes en la red y actualizaciones.
se descubrió por primera vez hasta que se completó la recuperaciónde la
falla. En algunos eventos de fallas grandes, como aquellos en los que el
tráfico hacia y desde un clúster completo tiene agujeros negros, los
operadores primero drenan todo el clúster ( es decir,
reconfigurar el balanceador de carga para que deje de enviar trá fi co a

65
al equipo de red. En consecuencia, clasificamos los eventos de falla la red ( p.ej, cascada de elementos del plano de control en B4), y
según si el evento fue causado por un error de software y si una algunos en dos redes ( p.ej, falla de la red del plano de control).
actualización, un cambio de configuración, un MOp o una Estos surgen de las diferencias de diseño entre las tres redes. Sin
implementación de software estaba en progreso en el momento de la embargo, al menos seis de nuestras categorías de causa raíz se
falla. Estas categorías no son mutuamente excluyentes ya que las manifiestan al menos una vez en las tres redes, y esto, en algunos
actualizaciones, configuraciones y lanzamientos de software son formas casos, indica problemas sistémicos. Finalmente, las categorías de
específicas de MOps; Agregamos estas dos categorías para resaltar el causa raíz se distribuyen aproximadamente de manera uniforme en
papel que juega la evolución de la red en los eventos de falla. los diferentes planos (no se muestran): 6 planos de datos, 7 planos
Figura 6 muestra cómo estas formas de evolución o sus resultados ( p.ej, de control y 6 categorías de planos de gestión.
errores) se distribuyen en diferentes redes. Casi 70 de los eventos de
falla ocurrieron cuando un MOp estaba en progreso en el elemento de 6.1 Categorías del plano de datos
red donde ocurrió la falla. Para dar un contexto para este resultado y la
tasa de evolución en nuestra red: en una semana típica el año pasado, 58 5 Exceso de recursos del dispositivo. Varios eventos de falla, en las tres redes, pueden
atribuirse a problemas que surgen de la insuficiencia de recursos de hardware o del

Los MOps de red se programaron dentro de Google. Es posible que sistema operativo. Desde hace muchos años, se sabe que los enrutadores de

AMOp no siempre sea la causa raíz del evento de falla. Los errores Internet fallan cuando se les inyectan tablas de enrutamiento cuyos tamaños

en el software representan cerca de 35 fallas, y otras categorías de exceden la memoria del enrutador [ dieciséis ]. Pero, se han producido

evolución se observan en menor grado (pero en números desbordamientos de recursos más sutiles en las redes de Google, como muestra este

significativos) y en todas las redes. ejemplo.

Más de 1. Una secuencia compleja de eventos en un clúster desencadenó una limitación


6. CATEGORÍAS DE CAUSA RAÍZ latente de recursos del dispositivo. Los operadores drenaron un enlace de fábrica y estaban
Además de caracterizar los eventos de falla por duración, severidad y realizando pruebas de errores de bits en el enlace. En Google se utilizan varios tipos de
otras dimensiones, también los hemos clasificado por categoría de causa drenaje de enlaces: reducir la preferencia de un enlace, por lo que el tráfico se lleva a cabo
raíz. 6 La causa raíz de un evento de falla es aquella que, si no hubiera en el enlace sólo cuando se cargan otros enlaces; asignar un enlace de costo infinito para

ocurrido, el evento de falla no se habría manifestado. Un solo evento de que aparezca en la tabla de enrutamiento, pero no transmita tráfico; o deshabilitar las

falla puede tener múltiples causas, como veremos más adelante. Para un interfaces correspondientes. Estas opciones intercambian velocidad o capacidad por

evento de falla dado, la causa raíz se determina a partir de los informes seguridad: las operaciones menos riesgosas se pueden drenar reduciendo la preferencia,

post mortem. Las causas fundamentales de los eventos de fallas por ejemplo, y estos drenajes se pueden eliminar más rápido. Pero estos inducen una

individuales por sí mismas no proporcionan mucha información, por lo semántica de drenaje compleja que los operadores pueden no comprender. En este caso, los

que clasificamos las causas fundamentales en diferentes categorías, operadores optaron por la primera opción, por lo que el enlace que se estaba probando

Figura 7 . transportaba (y caía intermitentemente, debido a las pruebas) tráfico en vivo. Esto provocó

La categorización de las causas raíz puede ser subjetiva. Todas las que los OFA perdieran su conectividad con su OFC. Al pasar a una nueva OFC a través de una

causas raíz de las fallas de la red se pueden clasificar en fallas de interfaz de flujo abierto (OFE), la OFE emitió una búsqueda de DNS inversa antes de

hardware, errores de software y errores de configuración, pero, a partir establecer la conexión. Sin embargo, esta búsqueda falló porque sus paquetes se

de esta categorización burda, es más difícil derivar conocimientos descartaban en el enlace con errores y el hilo que realizaba la búsqueda estaba bloqueado.

específicos sobre cómo contrarrestar estas causas raíz, más allá de las Pronto, suficientes OFA intentaron realizar una conmutación por error de modo que se

sugerencias genéricas para agregar redundancia de hardware, alcanzaron los límites del sistema operativo en subprocesos simultáneos y todo el plano de

endurecimiento del software y evitación de errores de configuración. Por control falló. Este evento es notable por otra razón: los operadores tardaron mucho en

lo tanto, utilizamos una categorización detallada de las causas raíz que diagnosticar la causa raíz porque los recopiladores de datos de monitoreo (para cada clúster,

brindan información útil sobre el aumento de la disponibilidad de la red. dos conjuntos de agentes de monitoreo recopilan estadísticas de todos los conmutadores y

Nos queda un trabajo futuro para explorar si otras categorizaciones servidores) estaban ambos dentro del clúster , y cuando la tela fallaba, la visibilidad en el

podrían haber arrojado diferentes conocimientos. sistema se veía afectada. Al pasar a una nueva OFC a través de una interfaz de flujo abierto

(OFE), la OFE emitió una búsqueda de DNS inversa antes de establecer la conexión. Sin
Causa raíz por red. Antes de discutir algunas de las categorías de causa embargo, esta búsqueda falló porque sus paquetes se descartaban en el enlace con errores
raíz en detalle, presentamos la frecuencia de ocurrencia de cada y el hilo que realizaba la búsqueda estaba bloqueado. Pronto, suficientes OFA intentaron
categoría y su desglose por red (Figura 7 ). Algunas categorías de causa realizar una conmutación por error de modo que se alcanzaron los límites del sistema
raíz se manifiestan con más frecuencia en eventos de falla que otras: la
operativo en subprocesos simultáneos y todo el plano de control falló. Este evento es notable por otra razón: los
frecuencia varía de 2 a 13 en nuestro conjunto de datos. Algunas
categorías de causa raíz ocurren exclusivamente en un tipo de Fallo de la red del plano de control. B4 y los clústeres utilizan una salida
de banda red de plano de control CPN). Componentes comoOFC, RA y FC se
comunican entre sí y con OFA a través del CPN, que está diseñado para tolerar
5 A partir de este número, sería incorrecto extrapolar la fracción de MOps que
fallas únicas de los enrutadores y conmutadores CPN.
conducen a fallas. Nuestro único documento post-mortems único fallas, y este
Completo La falla del CPN, donde la falla concurrente de múltiples
número no incluye MOps automatizados que a veces no están documentados
para su revisión. enrutadores CPN hizo que los componentes del plano de control no pudieran
6 Una categoría de causa raíz corresponde aproximadamente, en la literatura sobre sistemas de
comunicarse entre sí, causó tres eventos de falla. Estos eventos resultaron de
confiabilidad, a un culpa tipo. Sin embargo, una falla generalmente se define como un error de
una combinación de componente de hardware (tarjetas de línea, motores de
software o una falla de hardware [ 10 ], pero nuestras categorías de causa raíz incluyen operaciones
enrutamiento) y operador
incorrectas en el plano de gestión, por lo que hemos evitado utilizar el término
culpa.

66
Enrutamiento de configuraciones incorrectas
1,00
B2 Fallo en la evaluación de riesgos
Potenciar B4
Fallo parcial o completo del plano de control
Grupo
Enlace flaps o errores

Falta de sincronización del plano de datos y del plano de control


0,75
Falta de coherencia entre los elementos del plano de control
Desenrollar
Fracción de eventos de falla

Proceso de gestión ejecutado incorrectamente

Categorías de causa raíz


Especificación del proceso de gestión incorrecta / incompleta

Contexto
Ingeniería de tráfico incorrecta
B2 B2
0,50 B4 Fregar
B4 Asimetría o congelación de la tela
Grupo Grupo Exceso de recursos del dispositivo

Fallo (parcial) de la red del plano de control

Retrasos en la convergencia del plano de control


Configuración
Empuje simultáneo del software del plano de control del buggy
0,25
Drenajes / actualizaciones de la competencia

Cascada de elementos del plano de control

Error en la automatización del plano de gestión


Bicho
Marcas de CoS incorrectas
0,00
(Concurrente) fallas de hardware o mala configuración de hardware

10 1000 0 20 40 60 0 5 10
Duración (en minutos) Recuento de eventos de falla Recuento de eventos de falla

Figura 5: CDF de la duración de los eventos Figura 6: Eventos de falla y evolución Figura 7: Desglose del fracaso
de falla por red de la red eventos por causa raíz y red

comportamiento. El resto de los hechos fueron causados por parcial Fallo otros componentes. Discutimos una de esas cascadas.
deCPN, y discutimos uno de esos eventos. Casc-1. Un ejemplo de mala propagación de datos ocurrió durante una
CPN-1. En un B4BR, una falla parcial de CPN condujo a un bloqueo total actualización de red, cuando un paquete WAN entre dos áreas
metropolitanas se estaba migrando de un B4BR a otro B4BR. Este paquete
del tráfico. Cada B4BR contiene tres copias redundantes de los
es un agregado de varios enlaces que se reconfiguraron. Durante este
componentes del plano de control. Durante este evento de falla, uno de los
tiempo, hubo una inconsistencia transitoria entre el enlace ( es decir,
enrutadores CPN para el B4BR fue desactivado para el cableado de energía.
topología) configuración e información de enrutamiento (que usaba la
Los enrutadores CPN ejecutan VRRP [ 15 ] que proporciona la abstracción
topología más antigua). Esta inconsistencia desencadenó un error en el
de un enrutador virtual y falla de forma transparente cuandose desconecta Modelador de topología,que determina si un B4BR origina un prefijo de IP
un enrutador CPN. Sin embargo, el temporizador para esta conmutación o no, según la información de la puerta de enlace B4. El error provocó que
por error fue más largo que el tiempo de espera de actividad entre las varios prefijos de IP se declararan originados en más de un clúster. Este
instancias de OFC redundantes, por lo que dos instancias de OFC origen dual rompió una suposición interna dentro de BwE de que un
detectaron una desconexión mutua y se declararon maestros. Todos los prefijo IP se origina en un solo clúster, por lo que BwE asumió que B4
OFA pudieron hablar con ambos OFC. Esta situación,una instancia de un había fallado y cambió todo el tráfico de B4 de / a varios metros a B2, lo
cerebro dividido [ 30 ], se resolvió mediante un scriptde vigilancia que que resultó en una sobrecarga y la consecuente caída de paquetes.
observa estos eventos multimaestro. Sin embargo, debido a un error de
Falta de coherencia entre los elementos del plano de control. La Los
software, el nuevo maestro OFC tenía un estado inconsistente para los
planos de control lógicamente centralizados en B4 y los clústeres se
conmutadores de puerto (en otras palabras, no pudo reconstruir el estado de
componen de componentes distintos que mantienen piezas diferentes,
la red en el traspaso), lo que resultó en un estado incorrecto del plano de
pero relacionadas, del estado del plano de control. Por ejemplo, en un
datos en los conmutadores, lo que llevó a una gran escala falla en el B4BR.
clúster, el Agregador de rutas (RA) mantiene el estado del protocolo de
El tráfico de los clústeres adjuntos se transfirió a B2, pero esto provocó una
enrutamiento, que el FC usa para calcular el estado de la ruta o el fl ujo.
sobrecarga de capacidad y la consiguiente pérdida de paquetes.
Los errores en estas implementaciones pueden introducir inconsistencias
entre estas partes del estado, que se manifiestan como un estado del plano
Otras categorías. Más allá de estos, hemos encontrado otras cuatro de datos corrupto, lo que resulta en pérdidas de
categoríasde causa raíz del plano de datos: fallas concurrentes de hardware tráfico. En los grupos, muchos de estos son capturados por laboratorio y
o configuraciones erróneas de hardware de interfaces, enlaces, motores de pruebas de campo limitadas, y los que no se detectan son extremadamente
enrutamiento, componentes de conmutación óptica, etc .; malas marcas de difíciles de identificar.

CoS resultante del tráfico marcado incorrectamente para la diferenciación Consis-1. Un evento de falla fue provocado por tal inconsistencia que tardó
basada en clases; asimetría de la tela o se congela resultante de varias semanas en ser la causa raíz. En los conmutadores de clúster, las
mecanismos del plano de datos como ECMP o control de flujo de la capa tablasde reenvío del plano de datos utilizan el siguiente salto grupos
de enlace; errores de enlace o colgajos en el que los errores de bit para implementar ECMP, donde cada grupo identifica un conjunto de
transitorios o las aletas causadas por LACP (IEEE 802.3ad, el protocolo de enlaces sobre los cuales se edita el tráfico con ECMP. El RA, que recibe
control de agregación de enlaces) causan eventos de falla difíciles de información BGP e IS-IS, consulta los conmutadores para los grupos del
diagnosticar. siguiente salto, luego envía las rutas y los grupos del próximo salto
asociados al OFC, que los almacena en su NIB. Para hacer esto, el RA
6.2 Categorías del plano de control
mantiene una copia espejo de los grupos del próximo salto en cada
Cascada de elementos del plano de control. El plano de control de B4 tiene conmutador. Cuando todas las rutas que usan un grupo nexthop son
varios componentes. Varios eventos de falla han resultado en la
propagación de datos incorrectos a través de estos componentes, oen un
componente con cuello de botella que desencadena fallas en

sesenta y cinco
eliminado, idealmente el RA debería purgar su copia de ese grupo una herramienta automatizada sofisticada.
siguiente. Antes de hacer esto, el RA intenta eliminar el grupo nexthop
Riesgo-1. Este evento de falla ilustra la complejidad de estimar la
del conmutador correspondiente, pero si esa operación falla
capacidad residual en una estructura de múltiples etapas durante una
transitoriamente, el RA continúa almacenando en caché el grupo
MOp. En este MOp, diseñado para renovar la fuente de alimentación a
nexthop no utilizado. Esta falla en particular fue causada por una
una estructura de clúster y programado para durar más de 30 horas,
opción de implementación donde, durante
lospasos requerían apagar selectivamente una fracción fija (30%) de
una actualización completa de la tabla de enrutamiento ( p.ej, causadoconmutadores de estructura, volverlos a conectar y apagar otro ( 30%) y
por un reinicio de sesión BGP) la RA no enviaría grupos nexthopno
así sucesivamente. Una evaluación de riesgos simplificada, y la que se
utilizados a la OFC, que lo eliminaría (correctamente) de su base de
usó para el MOp, predijo una reducción de la capacidad de
datos. Cuando un anuncio de nueva ruta posterior utilizaba ese grupo
siguiente no utilizado, el RA anunciaba esto a la OFC, que descartaba aproximadamente un 30%, por lo que los ingenieros consideraron que
la ruta porque no tenía registro del grupo siguiente. Por tanto, las laoperación era segura. Desafortunadamente, esto resultó ser
entradas de la tabla de fl ujo resultantes no se instalarían en los incorrecto: para el diseño de sistema de energía y tejido dado, esta
conmutadores, lo que provocaría un agujero negro. Esta rara secuencia estrategia en realidad redujo la capacidad en más del 50% y debería
de eventos sehizo un poco más probable cuando un cambio en la haber requerido que los servicios estuvieran marcados como no
configuración de enrutamiento hizo que las actualizaciones completas
disponibles en el clúster para reducir los niveles de tráfico.
de la tabla de enrutamiento por parte de la RA fueran mucho más
frecuentes (en este caso, cada vez que cambiaba un atributo de Riesgo-2. Incluso para un solo MOp, múltiples fallas en la evaluación
comunidad en particular). Tales fallas, que resultan en una pequeña de riesgos pueden causar fallas. Durante un MOp diseñado para dividir
cantidad de entradas de flujo defectuoso, un B4BR en 2 y programado para durar cinco días, ocurrieron dos
fallas de evaluación de riesgos concurrentes. El primero fue similar a
Otras categorías. Los eventos de falla también surgen de:
Riesgo-1: Losingenieros subestimaron la capacidad residual más baja
concurrente- alquiler de software de avión de control buggy push
durante el MOp en un factor de 2. En segundo lugar, fallas
para cambiar, ToR, o loscomponentes del plano de control
concurrentes en la red en otroLos metros aumentaron la cantidad de
centralizado en clústeres y B4;
tráfico que transita por este B4BR. Ambos se combinaron para causar
ingeniería de tráfico incorrecta, especialmente en B4, donde, a menudo la pérdida de paquetes debido a la capacidad reducida.
debido a errores de modelado, TE Server no distribuye el tráfico por las
rutas disponibles; falta de sincronización entre el plano de datos y el Error en la automatización del plano de gestión. Dada la herencia
plano de control, donde un elemento de plano de datos inicia rutas Debido a la complejidad de las especificaciones de operación del
publicitarias antes de que estas hayan sido completamente instaladas en plano de gestión de bajo nivel y la posibilidad de error humano,
los elementos de reenvío; y falla parcial o total del plano de control introdujimos laautomatización parcial para las operaciones del plano
donde,especialmente durante un MOp, muchas instancias de de gestión. Esta automatización esencialmente eleva el nivel de
componentes del plano de control fallan simultáneamente tanto en B4 abstracción. Donde antes, por ejemplo, un operador tendría que
como en clústeres. actualizar manualmente el software en cada componente del plano de
control en cada uno de los 4 bloques de un B4BR, los scripts
automatizan este proceso. Los operadores todavía están involucrados
6.3 Categorías del plano de gestión
en el proceso, ya que un MOp complejo puede involucrar la invocación
de múltiples scripts orquestados por uno o más operadores. Esta
Fallo en la evaluación de riesgos. Antes de planificar un MOp, los
automatización parcial ha aumentado la disponibilidad en general,
ingenieros evalúan el riesgo asociado con la operación. Esto determina
si, durante la duración del MOp, habría suficiente capacidad residual en pero, debido a que agrega una capa adicional de complejidad, puede
la red para atender la demanda. Si el MOp se considera de alto riesgo, causar grandes fallas en B4 y clústeres. Como resultado de algunas de
uno o más servicios se eliminan de los clústeres que se verían afectados estas fallas, estamos explorando abstracciones de nivel superior para la
por la reducción de capacidad. Porlo tanto, una evaluación de riesgos automatización del plano de gestión, 7.4 .
cuidadosa puede permitir actualizaciones de red in situ sin interrupción BugAuto-1. Este evento de falla ilustra la falla en coordinarla
del servicio. evolución del plano de control y el plano de gestión.
Al principio, la evaluación de riesgos era de grano grueso y estaba a Muchos de estos scripts de automatización están cuidadosamente
diseñados para drenar y desaguar varios elementos de la fábrica en el
cargo de los operadores, quienes revisarían la descripción del MOp
orden correcto: interruptores,enlaces físicos, adyacencias de
propuesto y estimarían la capacidad residual por la reducción en la enrutamiento y componentes del plano de control. En una falla que
capacidad del hardware debido al MOp. Por ejemplo, tomar un B2BR ocurrióal actualizar el software del plano de control en 4 bloques del
de fline reduce la capacidad en un 50%. En la primera parte de nuestro CAR en un clúster, las adyacencias BGP no aparecieron después de la
ejecución del script, lo que provocó que el clúster se aislara de ambas
estudio, los operadores usarían una regla empírica: una capacidad WAN. La causa fundamental de esto fue que el script de
residual de menos del 50% se consideraba arriesgada (porque la red automatización había sido diseñado para secuenciar con cuidado los
está aprovisionada para fallas únicas). drenajes y desaguar los drenajes en enlaces físicos,

Posteriormente, las evaluaciones de riesgo se basaron en comparar la


capacidad residual con la demanda histórica. A medida que la red
crecía encomplejidad, estas evaluaciones de grano grueso resultaron
en fallas por varias razones, y fueron reemplazadas por

66
Secuencia de drenaje / desagüe. Supertrunking se había habilitadoen el Desarrolle estrategias de respaldo. A pesar de estas medidas,
CAR en cuestión, lo que resultó en la falla. las grandes fallas en toda la red tienen una probabilidad no trivial en la
red de Google. Para mitigar tales fallas, es extremadamente útil tener retroceder
Otras categorías. Otras categorías de causa raíz del plano de gestión incluyen:
estrategias que ayudan a que la red se degrade con gracia en caso de falla.
enrutamiento de configuraciones erróneas similares a los explorados en
Varias estrategias de respaldo son posibles en la red de Google. Cuando
trabajos anteriores [ 29 , 31 ]; desagües o actualizaciones dela competencia
uno o más B4BR fallan, el trá fi co B4 puede retroceder a B2 (como en
desencadenado por MOps concurrentes y mutuamente
Casc-1), donde los CAR envían trá fi co a los B2BR en lugar de alos B4BR.
en conflicto; procesos de gestión incorrectos / incompletos donde se utilizó
Por el contrario, cuando todos los B2BR de un sitio fallan, el tráfico puede
el conjunto de instrucciones incorrecto durante una operación enun MOp
diseñarse para volver a B4. En B4, es posible otra forma derespaldo:
( p.ej, una operación en un enrutador utilizó instrucciones para un modelo
cuando el servidor TE falla, el tráfico puede recurrir al enrutamiento IP.
de enrutador ligeramente diferente); y proceso de gestión ejecutado
Muchas de estas estrategias de reserva las inician los operadores que
incorrectamente en el que un operador humano cometió un error al invocar
utilizan grandes botones rojos: Controles de software que permiten al
interfaces de línea de comandos o scripts de administración.
operador activar una recuperación inmediata. Dado el ritmo de evolución
7. PRINCIPIOS DE ALTA DISPONIBILIDAD del software del plano de control de Google, diseñamos grandes botones
rojos en cada nueva tecnología que implementamos. Cada vez que se
A medida que los sistemas se vuelven más complejos, se vuelven más
implementa una nueva función en la red ( p.ej, la abstracción de
susceptibles a fallas imprevistas [ 7 , 32 ]. Por lo
menos En la red de Google, no existe una solución milagrosa, ni un supertrunking), la capacidad más antigua se conserva en la red (en nuestro
enfoque o mecanismo único, que pueda evitar o mitigar las fallas. Las fallas ejemplo, una maletero abstracción) y control de software (un gran botón
ocurren aproximadamente en la misma medida en las tresredes, en los tres rojo) que se puede utilizar para desactivar la nueva capacidad y recurre a la
planos de redes, y no existe una causa fundamental dominante para estas anterior.
fallas, al menos según nuestra clasificación. Estos hallazgos nos han
llevado a formular algunas principios de diseño de alta disponibilidad. En 7.2 Mantener la coherencia dentro y entreplanos
esta sección, discutimos estos principios, junto con los mecanismos Nuestro segundo principio es mantener la coherencia de estado dentro
asociados que incorporan esos principios. del plano de control o entre los planos de datos ycontrol, y la coherencia de
las invariantes de la red en los planosde control y gestión.
7.1 Utilice la defensa en profundidad
Actualice los elementos de la red de forma coherente. Hemos visto varios
Nuestros resultados en la sección 5 muestra que necesitamos defensaen
Instancias generales en las que errores en el software o en las operaciones
profundidad 7 para fallas: un enfoque en el que la detección, mitigación o
del plano de gestión han dejado elementos de red inconsistentes. En B4 y
evitación de fallas se integran en varios lugares o capas dentro de la red.
clústeres, las inconsistencias entre los elementos del plano de control han
Contener radio de falla. Los elementos del plano de control redundantes provocado fallas en cascada ( Casc-1), agujeros negros de tráfico difíciles
proporcionan robustez a las fallas de los componentes. En la red de de depurar ( Consis-1) y el rack se desconecta. Las operaciones de gestión
Google, las fallas simultáneas de todas las réplicas de los elementos del también pueden dejar un tejido en un estadoinconsistente; en un evento de
plano de control no son infrecuentes ( BugAuto-1). Para controlar el falla, un MOp que reconfiguró todos los conmutadores en un CAR dejó dos
alcance topológico de tales fallas (su radio de la explosión), nosotros (a) conmutadores sin configurar, lo que provocó la pérdida de paquetes.
lógicamente dividir la topología de un CAR o B4BR, y (b) asignar cada La sincronización del plano de control y del plano de datos se puede
partición a un conjunto distinto de elementos del plano de control. lograr fortaleciendo la pila del plano de control, ya sea actualizando
sincrónicamente el plano de datos antes de anunciar la accesibilidad, o
Hay varias opciones para particionar estas topologías de Clos de
múltiples etapas. Una posibilidad es dividir un B4BR en k enrutadores esperando a que la estructura converja antes de anunciar la accesibilidad
virtuales, donde cada uno de estos enrutadores virtuales se compone deun 1 externa. Para las inconsistencias del estado del plano de control, las
/ k- th de los interruptores en ambas etapas. Cada enrutador virtualejecuta técnicas de análisis de programas [ 25 , 24 ] que determinan Expresar la
su propia instancia del plano de control, por lo que una falla en uno de equivalencia puede ayudar a detectar algunas de estas inconsistencias. Un
estos enrutadores virtuales solo reduce la capacidad del B4BR en1 / k. Una
enfoque complementario sería rastrear dinámicamente la equivalencia de
ventaja adicional de este diseño es que un enrutador virtual ahora se
estados. Por ejemplo, el seguimiento de la diferencia en los recuentos de
convierte en la unidad en la que se ejecutan los MOps, por lo que los MOps
en B4BR se pueden diseñar para minimizar el impacto en la capacidad. rutas entre el RA y el OFC podría haber proporcionado una advertencia
Otras estrategias de particionamiento incluyen aquellas que "colorean" temprana de Consis-1. De manera más general, las técnicas automatizadas
enlaces e interruptores (Fig. 20 en [ 35 ]) y asignar diferentes colores a para rastrear la procedencia y equivalencia de estados en sistemas
diferentes planos de control. distribuidos son una dirección de investigación interesante. Para el plano
de gestión, las herramientas que determinan si, al final de cada paso

7 Este término también se utiliza para describir técnicas para proteger importante de un MOp, el estado de la estructura es coherente, pueden
proporcionar una alerta temprana de fallos. Más generalmente,
sistemas de software complejos [ 4 ] y tiene su origen en la guerra.
transaccional actualizaciones donde se aplica un cambio de configuración
a todos los conmutadores, o ninguno puede ayudar a evitar estas
inconsistencias, pero requiere un diseño cuidadoso de la reversión

67
estrategias para las operaciones del plano de gestión. Homogeneidad de gestión con heterogeneidad del sistema.
A lo largo de los años, desarrollamos diferentes sistemas de gestión para
Supervise continuamente las invariantes operativas de la red. La mayoría
nuestras tres redes. Sin embargo, no había una arquitectura común entre los
de las fallas son el resultado de una o más violaciones de los supuestos de
tres sistemas, lo que significa que las nuevas técnicas de automatización y
falla, que se pueden proyectar como invariantes operacionales de la red y
lascomprobaciones de coherencia desarrolladas para una red no se
se pueden probar continuamente. Por ejemplo,en B2, usamos Anycast BGP
para proporcionar acceso robusto y de baja aplicarían naturalmente a otra. Por lo tanto, estamos trabajando hacia una
latencia a servicios internos como DNS. Una invariante, no muy conocida, arquitecturade administración de red unificada y homogénea con API bien
era que los prefijos anycast deberían tener una longitud de ruta de 3 8 . Un definidas y modelos de red comunes para operaciones comunes. Esto
servicio violó este invariante, provocando una interrupción de nuestro promueve el aprendizaje compartido y evita múltiples ocurrencias del
DNS interno al atraer todo el tráfico de DNS a un clúster. De manera mismo error.
similar, todas las fallas resultantes de las marcas de prioridad de tráfico Además, la heterogeneidad del sistema subyacente, especialmente en la
incorrectas violan las asignaciones de servicio a prioridad acordadas WAN,donde el plano de control y los sistemas de monitoreo son
previamente. Más allá de eso, hay muchos otros invariantes en el diseño desarrollados por diferentes equipos, asegura fallas altamente no
del plano de control: enrutadores de emparejamiento que mantienen
correlacionadas: una falla catastrófica en una red es mucho menos probable
sesiones de BGP duales a B2CR, los CAR están conectados a 2 B2BR, los
que se propague a la otra.
OFC tienen conectividad redundante a 2 enrutadores CPN.
Desafortunadamente, muchas de estas decisiones a menudo son implícitas
en lugar de establecer explícitamente como un requisito.
Extraer requisitos implícitos e invariantes de diseño del código o las 7.3 Fallo de apertura
configuraciones es una dirección de investigación interesante. Un patrón de fallas repetidas que hemos visto es el caso en el que
Los sistemas de monitoreo para probar estos invariantes deben ir más pequeños cambios en la conectividad física han dado lugar a grandes
allá de simplemente enviar alarmas cuando se viola un invariante; en una inconsistencias en el plano de control. En estos casos, el plano de control
red grande, se pueden activar demasiadas alarmas hasta el punto en que los cree rápida e incorrectamente que grandes porciones de la red física han
operadores dejen de prestarles atención. Más bien, estos sistemas de fallado. Para evitar esto, nuestros sistemas emplean Estrategias a prueba
monitoreo deben poder agregar estas alarmas (por ejemplo, determinar de fallas para preservar la mayor cantidad posible del plano de datos. cuando
cuánto tiempo ha estado ocurriendo una infracción), razonar falla el plano de control.
continuamente sobre el riesgo que presenta la infracción y presentar a los
Conserva el plano de datos. La idea detrás de la apertura por falla es simple:
operadores una lista priorizada de infracciones o tomar medidas evasivas.
cuando una pila del plano de control falla (por cualquier motivo), no elimina
acción para minimizar o evitar elriesgo de fallas por estas violaciones.
el estado del plano de datos. Esto conserva el último estado bueno conocido
A veces, estos invariantes operativos pueden ser violados por un
de la tabla de reenvío de ese nodo, que puede continuar reenviando el
software de plano de gestión automatizado mal diseñado. En algunas
tráfico a menos que haya fallas de hardware ( p.ej, fallos deenlace) que hacen
fallas, el software automatizado apaga todas las réplicas de componentes
que la tabla de reenvío sea incorrecta. La apertura por falla se puede
del plano de control. Idealmente, el software automatizado debería
extender a una estructura completa, CAR o B4BR en caso de una falla
haberse negado a violar la invariante de que almenos una instancia de
masiva del plano de control. En este caso, especialmente si
OFC debe estar ejecutándose.
la falla ocurre dentro de poco tiempo, las tablas de reenvío de
Requiere tanto lo positivo como lo negativo. Algunos de nuestros fallas conmutadores serán mutuamente consistentes (nuevamente, fallas de
sustanciales resultaron de impulsar cambios en un gran conjunto de hardware de módulo), preservando la disponibilidad del tejido o del
dispositivos, p.ej, un comodín mal configurado que provoca la pérdida de dispositivo. La apertura por falla puede ser una estrategia eficaz cuando el
cientos de dispositivos cuando la intención era drenar dos. Aunque tiempo para reparar el plano de control es menor que el tiempo para la
tenemos controles de cordura para evitar errores humanos, ocasionalmente falla del hardware. Surgen dos desafíos en el diseño de mecanismos
también son necesarios cambios amplios. Para MOps con un alcance correctos de apertura en caso de falla: cómo detectar que un interruptoro
potencialmente grande, ahora requerimos dos especificaciones de una colección de interruptores no se ha abierto, y cómo diseñar el plano de
configuración separadas para un cambio de red proveniente de dos fuentes control de pares funcionales (sin fallas) para continuar usando el sistema.
de datos separadas. Drenar una gran cantidad de dispositivos, por ejemplo, porciones abiertas fallidas de una tela.
requiere especificar (a) todos los dispositivos que se deben drenar y (b)
una lista explícita y separada de dispositivos que se deben dejar sin drenar. Verifique las actualizaciones del plano de control de gran tamaño. En algunos fracasos,
El software de gestión que realiza el MOp rechaza las configuraciones en Los elementos del plano de control asumieron de manera conservadora
las que hay inconsistenciaentre las dos listas. que si parte de una actualización de estado era inconsistente, era probable
que toda la actualización de estado fuera incorrecta. Por ejemplo, en Casc-
1, Topology Modeler marcó algunos prefijos dentro de la red como
8 La razón de esto es interesante: tenemos varias generaciones de diseños originarios de dos clústeres diferentes. En respuesta, BwE cambió el tráfico
de clústeres en nuestra red, y el número de saltos entre la estructura del de los conglomerados en varias áreas metropolitanas aB2, asumiendo que
clúster y B2 varía de 1 a 3 según la generación. Unificar la longitud de la todo B4 había fallado. En otra falla similar, TE Serverinvalidaba de manera
ruta a 3 permite que elproceso de decisión de BGP caiga en el conservadora todo el modelo de topología B4 porque el modelo contenía
enrutamiento IGP, lo que permite cualquier difusión. una pequeña inconsistencia, como resultadode la superposición del prefijo
IP de un clúster dado de baja que todavía aparecía en la configuración de la
red.
La invalidación de forma conservadora y repentina de grandes partes del
modelo de topología puede, especialmente en una WAN,
68
afectar los objetivos de disponibilidad. Para preservar la disponibilidad, los las opciones de implementación no están claras, la evaluación de riesgosdebería
elementos del plano de control se pueden degradar sin problemas (una forma de pecar de sobrestimar el riesgo.
apertura en caso de falla) cuando reciben actualizaciones que invalidan o
inutilizan grandes partes de la red. Específicamente, pueden intentar realizar una Canario. Debido a que implementamos nuestra propia pila de planos de control,
validación más cuidadosa y una corrección local de las actualizaciones de estado hemos desarrollado cuidadosos procedimientos internos de prueba y despliegue
para preservar el estado "bueno" del plano de control, por ejemplo, mediante la para las actualizaciones de software del plano de control y los cambios de
inspección de los sistemas de monitoreo. En Casc-1, sistemas de monitoreo que configuración. Muchos de estos procedimientos, como las pruebas de regresión
realizan sondas activas [ 14 ] o proporcionar una interfaz de consulta a las fuentes exhaustivas y las pruebas de laboratorio, probablemente reflejen las prácticas de
BGP detodos los hablantes de BGP en la red podría haberse utilizado para otros grandes desarrolladores de software. Más allá de estos, también probamos
corroborar (o refutar) el origen del prefijo dual o los prefijos superpuestos entre versiones de software emulando nuestras redes [ 38 ] a unaescala razonable, tanto
grupos. Si se hubieran implementado estos durante el ciclo de desarrollo inicial como antes del lanzamiento.
métodos, el impacto de estas fallas en la disponibilidad habría sidomenor.
Finalmente, especialmente para los cambios de software que impactan partes

7.4 Una onza de prevención importantes del plano de control, implementamos cambios de manera muy

Nuestras experiencias también nos han enseñado que la evaluación continua conservadora enun proceso que puede llevar varias semanas. Por ejemplo, para
de riesgos, las pruebas cuidadosas y el desarrollo de un plano de gestión los cambios en el software ToR, podríamos (después de las pruebas de
homogéneo al tiempo que se conserva la heterogeneidad dela red pueden evitar
laboratorio), primero implementarlo en una pequeña fracción (0.1% de los ToR)
fallas o evitar que vuelva a ocurrir la misma falla endiferentes redes.
en un grupo pequeño (cada implementación de prueba
Evaluar el riesgo de forma continua. En el pasado, las fallas en la evaluación de
se llama canario),
riesgos se debían a estimaciones incorrectas de la capacidad ( Riesgo-1), malas
luego, fracciones progresivamente más grandes y luego repita el proceso en un
evaluaciones de demanda, cambios en el estado de la red entre el momento en que
clúster más grande, antes de implementarlo en toda la red. Después de cada
se realizó la evaluación de riesgos y el momento en que se realizó el MOp (
canario, controlamos cuidadosamente el despliegue durante unos días o una
Riesgo-2), estados de redintermedios durante MOps que violaron los supuestos
semana antes de pasar al siguiente. Se han producido algunos eventos de falla
de riesgo, o falta de conocimiento de otros MOps concurrentes.
durante un canario. Para actualizaciones de componentes del plano de control
Las evaluaciones de riesgo deben ser una actividad continua, teniendo en
replicados como B4Gateway, por ejemplo, actualizamos una réplica a la vez y
cuenta la dinámica de la red en curso, y deben realizarse en cada paso del MOp.
monitoreamos el consenso entre las réplicas. Este enfoque nos permitió evitar el
Esto requiere un grado significativo de visibilidad en la red (discutido más
impacto del tráfico en al menos un evento de falla.
adelante), y la automatización junto con la capacidad de revertir un MOp cuando
el riesgo aumenta en el medio de un MOp (por ejemplo, debido a una 7.5 Recuperarse rápido
concurrencia falla), o la capacidad deagotar los servicios rápidamente. La
Un hilo común que atraviesa muchos de los eventos de falla es la necesidad de
evaluación del riesgo de desagües y el riesgo de desagües durante la
encontrar formas de causar la falla rápidamente. Este proceso puede tardar horas,
recuperación de fallas también son cruciales: en algunas de nuestras fallas, el
durante las cuales un clúster puede estar completamente drenado de servicios
acto de drenar los servicios hacausado sobrecargas de tráfico transitorias (debido,
(dependiendo de la gravedad de la falla). Los operadores generalmente causan
por ejemplo, a que los servicios de almacenamiento concilian las réplicas antes
fallas al examinar (inicialmente) los resultados agregados de dos grandes
del desagüe). ), al igual que el acto de vaciarlos.
sistemas de monitoreo: un sistema de sondeo de ruta activo como [ 14 ], y un
En general, la evaluación de riesgos debe integrarse estrechamente en el
sistemade recopilación de estadísticas pasivo global por dispositivo. Cuando
plano de control de manera que pueda aprovechar el mismo estado y algoritmos ocurre un evento de falla, los operadores examinan
que el plano de control desplegado, en lugar de requerir que los operadores cuadros de mando presentados por estos sistemas, busque anomalías (picos
razonen sobreoperaciones complejas, requisitos de aplicación y estado actual del inusuales en las estadísticas o fallas de la sonda) en partes de latopología
sistema. Hemos descubierto que nuestra evaluación de riesgos es cercanas al evento de falla, y use estos indicadores para profundizar en las
causas raíz.
sustancialmente mejor para nuestras redes personalizadas (B4 y clústeres) que
Se han producido retrasos en la raíz que provocan varias fallas por dos
para las construidas con equipos de proveedores (B2), ya que para las primeras
razones. Primero, cuando ocurre un evento de falla, los tableros pueden indicar
tenemos un conocimiento detallado de exactamente cómo se comporta el drenaje
múltiple anomalías: en una red grande, no es inusual encontrar anomalías
y el enrutamiento y durante qué tiempo. marcos, mientras que el equipo del
concurrentes (o, para decirlo de otra manera, la red está siempre en diversos
proveedor es más "caja negra". Esto sugiere que, para el equipamiento del grados de estado "malo"). Los operadores, varias veces, han profundizado en la
proveedor, las evaluaciones de riesgos pueden mejorarse aumentando la anomalía incorrecta antes de rastrear e identificar la causa raíz correcta ( p.ej,
visibilidad de las operaciones del plano de control y de gestión, lo que permitiría CPN-2). En segundo lugar, los sistemas de monitoreo a veces no tienen una
una mejor emulación del comportamiento del proveedor. o proporcionando cobertura adecuada. Dada la escala del sistema de Googley la complejidad de las
operaciones de drenaje / desagüe de nivel superior con semántica bien interconexiones de topología, el sistema de sondeo activo a veces carece de
entendida. En los casos en que la semántica de una operación degestión o de un cobertura de rutas y el recopilador pasivo podría no

protocolo particular recopilar ciertos tipos de estadísticas ( p.ej, solapas de enlace) o podría agregar
mediciones y perder transitorios. En ocasiones, una mala ubicación de los
colectores puede dificultar la visibilidad de la red. En general, de cada cluster,
CAR o B4BR,

69
las estadísticas se recopilan en dos grupos topológicamente distintos. En razonar estáticamente sobre la coherencia del estado del plano de control y
algunos de los fracasos ( p.ej, Over-1), los agentes derecopilación de un
realizar un seguimiento de la procedencia del estado para garantizar la
CAR estaban ambos en el mismo grupo y, cuando fallaba el CAR, no se
coherencia; métodosde medición en banda escalables que permiten una
podía acceder a los datos de medición.
Además de depender de sistemas de monitoreo genéricos que pueden localización de fallas rápida y precisa y, al mismo tiempo, son resistentes a
tener que intercambiar cobertura o granularidad por escala, los sistemas de fallas y ataques; y técnicas para detectar la apertura en caso de falla de
diagnóstico de causa raíz automatizados pueden ser efectivos para reducir manera robusta y para conciliar correctamente el estado del plano de
el tiempo medio de recuperación, mejorando así ladisponibilidad. El diseño
control y de datos en un sistema de apertura en falla tras la recuperación del
de tales sistemas se encuentra actualmente en exploración.
plano de control.
7.6 ¡Actualice continuamente la red! Un área grande y poco explorada en el diseño de alta
Nuestra observación de que tocar la red conduce a fallas de disponibilidad es el plano de gestión. La investigación futura aquí puede
disponibilidad podría llevar a la siguiente conclusión: limitar la velocidad a explorar cómo especificar la "intención" ( es decir, cómo debería verse la
la que evoluciona la red. Esto no es deseable porque: i) la red sería mucho red), cómo configurar y aprovisionar la red según laintención, cómo
más cara de lo necesario porque lacapacidad debe aumentarse recopilar una instantánea de la "verdad básica" de la red [ 12 ] ( es decir,
significativamente antes de la demanda, ii) la red no admitiría las cómo se ve la red) y cómo reconciliar la intención y la verdad básica
características necesarias para soportar las necesidades cambiantes de las
porque, en la práctica, incluso con la configuración y el aprovisionamiento
aplicaciones, como baja latencia y robustez control de la congestión, y iii) el
automatizados basados en laintención, es probable que haya divergencia
número limitado de operaciones de cambio significaría que la red Trate el
entre los dos. Dada la evolución de los grandes proveedores de contenido,
cambio como un evento raro manejado por rutas decódigo que rara vez se
otra área de investigación es la evaluación de riesgos automatizada y
ejercen.
precisa, y los mecanismos para permitir una evolución de la red segura,
Internamente hemos llegado a la conclusión opuesta. Especialmente en
pero frecuente, mediante la actualización in situ.
una infraestructura de red definida por software, y con la creciente
Finalmente, identificamos una serie de desafíos generales.
automatización del plano de gestión, existe una oportunidad para hacer
¿Cómo podemos de fi nir y medir los SLO para una red de una manera que
una actualización y cambiar el caso común. Nos esforzamos por introducir
los servicios o aplicaciones puedan utilizar para su diseño? ¿Cuándo
nuevas funciones y configuración en producción cada semana.Esto
decimos que una red realmente no está disponible(cuando deja caer
requiere capacidad para actualizar la red diariamente, quizás varias veces. algunos paquetes, cuando su rendimiento cae por debajo de cierto umbral)?
Esto sería necesario, por ejemplo, para abordar ab initio errores, sino ¿Qué técnicas utilizamos para cuantificar las mejoras en la disponibilidad?
también para respaldar el rápido desarrollo de nuevas funciones en
nuestros bancos de pruebas de laboratorio. La actualización frecuente
8. TRABAJOS RELACIONADOS
también significa que podemos introducir una gran cantidad de
Razones genéricas de fallas de sistemas de ingeniería [ 7 , 32 ]
actualizaciones incrementales en nuestra infraestructura en lugar de una
incluyen la heterogeneidad y el impacto de las interacciones y el
sola "gran explosión" de nuevas funciones acumuladas durante un año o
acoplamiento entre los componentes del sistema. Nuestro trabajo se
más. Hemos descubierto que el modelo anterior es mucho más seguro y
centra en un proveedor de contenido moderno a gran escala;
también mucho más fácil de razonar y verificar utilizando herramientas
identificamos clases específicas de razones por las que nuestras redes
automatizadas. Además, la necesidad de realizar actualizaciones frecuentes
fallan, muchas de las cuales pueden atribuirse a la velocidad de evolución
obliga a los operadores a confiar realmente en la automatización para
de nuestras redes.
monitorear y con fi rmar la seguridad (en lugar de depender de la
Los fallos de red y su impacto también se han estudiado en sistemas
verificación manual), y los disuade de asumir que la SDN es muy
distribuidos. De la imposibilidad resulta [ 1 ], a técnicas para diseñar sistemas
consistente (por ejemplo, suponga que los componentes están ejecutando la
distribuidos tolerantes a fallas [ 9 ], para experimentar informes sobre fallas
misma versión del software); esto ha resultado en sistemas, procesos y
individuales en grandes sistemas distribuidos prácticos [ 28 , 36
automatización más robustos.
], estos estudios arrojan luz sobre fallas reales y sus consecuencias para los
sistemas distribuidos. Bailis y Kingsbury [ 30 ] proporcionan una buena
7.7 Investigación en diseño de alta disponibilidad discusión sobre fallas divulgadas públicamente en sistemas distribuidos
Nuestras lecciones motivan varias vías de investigación en diseño de alta implementados que probablemente fueron causadas por particiones de red.
disponibilidad, un tema que ha recibido menos atención que el diseño de En contraste con este cuerpo de trabajo, nuestro trabajo se enfoca
alto rendimiento. De hecho, cada lección representa un gran área de en fallas en los planos de control, datos y administración de la red. Si bien
investigación, donde nuestra solución implementada representa un punto algunas de nuestras fallas son cualitativamente similares a las fallas
en un gran espacio de diseño que la investigación futura puedeexplorar. observadas en los sistemas distribuidos (cascadas de fallas y fallas de
Los ejemplos de direcciones futuras incluyen: formas óptimas de cerebro dividido), otras, como fallas de la red del plano de control, fallas en
particionar topologías y dominios de control para contener el radio de las operaciones del plano de gestión, etc., no surgen ni tienen menor
explosión de una falla o formas de diseñar topologías con propiedades de impacto en los sistemas distribuidos. Del mismo modo, muchas de
impacto de falla conocidas; métodos dinámicos para evaluar rápidamente nuestras lecciones tienen sus análogos en sistemas distribuidos, p.ej, estrategiasde
Cuándo retroceder y qué trá fi co desviar para lograr un retroceso suave y respaldo y aislamiento rápido de fallas), pero muchas no lo hacen, p.ej,
casi transparente; métodos para
apertura de fallas, verificación dinámica de actualizaciones del plano
de control yautomatización del plano de gestión.
Finalmente, la literatura sobre redes ha, durante más de un

70
década, exploró varias formas de evaluar y cuantificar las fallas en las redes. y de nuestro pastor Vyas Sekar. Las discusiones y comentarios de Paulie
Una línea de trabajo inicial exploró las características de falla de enlace en Germano, Hossein Lot fi, Subhasree Mandal, Joon Ong, Arjun Singh y
ISP de mediana a gran escala mediante el examen de la dinámica de los IGP [ David Wetherall también mejoraron significativamente el artículo. Por
33 , 26 último, este trabajo no hubiera sido posible sin el arduo trabajo de las
operaciones de red de Google, SRE y los equipos de desarrollo que
, 39 ] y EGP [ 22 ]. No todas las fallas de enlace dan como resultado la pérdida
diseñan, administran y ejecutan nuestra red global y documentan
dela disponibilidad de la red, y nuestro trabajo explora una clase mucho más
cuidadosamente y originan cada falla significativa.
amplia de causas raíz de las fallas de disponibilidad, que van desde las
limitaciones de recursos del dispositivo hasta los errores del plano de control
y los errores del plano de gestión. Un trabajo más reciente ha explorado fallas Bibliografía
de enlaces, dispositivos y componentes en empresas [ 37 ], redes académicas [ [1] Daniel Abadi. “Compensaciones de coherencia en el diseño
34 moderno de bases de datos distribuidas: CAP es sólo una partede
] y centros de datos [ 13 ], utilizando otras fuentes de información, incluidos la historia”. En: Computadora IEEE ( 2012).
errores de syslog, tickets de problemas y quejas de los clientes. Nuestra
fuentede datos, los informes post-mortem, son cualitativamente diferentes de
estas fuentes: nuestros informes están cuidadosamente seleccionados e
incluyen evaluaciones de la causa raíz que generalmente se confirman
mediante una
reproducción cuidadosa en el laboratorio o en entornos de campo [2] Richard Alimi, Ye Wang y Yang Richard Yang.
“Configuración de la sombra como primitiva de
limitados.Por lo tanto, podemos evaluar de manera amplia y más precisa la
gestión de red”. En: Proc. ACM SIGCOMM. 2008.
causa raíz en diferentes tipos de redes, con diferentes diseños de planos de
control y procesos de planos de gestión. Otro trabajo ha explorado el papel [3] C. Ashton. ¿Cuál es el costo real del tiempo de inactividad de la
red? http: / / www. lectura de la luz. com / centro de datos /
de la
centro de datos infraestructura / cuál es el costo real del tiempo
configuración incorrecta en las fallas de la red [ 29 , 31 ], y métodos para
de inactividad de la red / a / d-id / 710595 . 2014.
reducirerrores de configuración errónea con configuraciones de redes de
sombra [ 2 ]; La configuración incorrecta del plano de control es sólo una de [4] B. Schneier. Seguridad en la Nube. https: / / www.
schneier. com / blog / archives / 2006/02 / security_ in_
las causas fundamentales que estudiamos.
the.html . 2006.
Finalmente, un trabajo más reciente ha explorado el impacto de las [5] Betsy Beyer y Niall Richard Murphy. “Ingeniería de
operaciones del plano de administración en la salud de la red [ 12 ]. Este confiabilidad del sitio: cómo Google administra sus clústeres
trabajo identifica las operaciones del plano de gestión mediante cambiosen de producción”. En: O'Reilly, 2016. Cap. 1.
las configuraciones del dispositivo, o mediante cambios en la topología de [6] Matt Calder, Xun Fan, Zi Hu, Ethan Katz-Bassett, John
la red, y el estado de la red según el número de alertas de dispositivos en la Heidemann y Ramesh Govindan. "Mapeo de la expansión
red, luego aplica pruebas de causalidad estadística para determinar qué de la infraestructura de servicio de Google". En:
operaciones del plano de gestión pueden afectar el estado. Nuestro trabajo Proc. de la ACM Internet Measurement Conference
difiere de muchas formas. Primero, además de nuestro uso de autopsias (IMC '13). 2013.
curadas por humanos, los MOps que discutimos en este documento son
[7] Carlson, JM y Doyle, John. “Tolerancia altamente optimizada:
operaciones completamente documentadas que se revisan y requieren
robustez y diseño en sistemas complejos”. En: Phys. Rev. Lett. 84
aprobación, por lo que no necesitamos inferir si una operación de gestión
(11 2000), págs. 2529–
estaba en vigor. En segundo lugar, la mayoría de nuestras fallas tuvieron un
2532.
impacto en la disponibilidad, aunque no está claro hasta qué punto las
medidas de salud de la red reflejan la disponibilidad. Finalmente, nuestro
[8] Índice de redes visuales de Cisco: la era de los Zettabytes
- Tendencias y análisis. http: / / www. cisco. com / c / en /
trabajo intenta unificar las categorías de causa raíz en diferentes tipos de us / solutions / colateral / service - provider / visual -
redes, y también en los planos de datos y control. networking- index-vni / VNI_Hyperconnectivity_WP.

9. CONCLUSIONES html . 2014.


Al analizar los informes post-mortem en Google, mostramos quelas fallas [9] Jeff Dean. Diseños, lecciones y consejos de la construcción de
ocurren en todas nuestras redes y en todos los planos. grandessistemas distribuidos. Conferencia magistral en LADIS 2009.
Muchas fallas ocurren cuando se toca la red, pero las operaciones de
[10] E. Dubrova. “Diseño tolerante a fallas”. En: Springer,2013. Cap. 2.
gestión en redes son fundamentales en Google dada su velocidad de
evolución. Estas fallas nos han llevado a adoptar variosprincipios de diseño Tobias Flach y col. "Reducción de la latencia web: la virtud de
de alta disponibilidad y mecanismos asociados que van desde preservar el [11] la agresión suave". En: Proc. ACM SIGCOMM.2013.
plano de datos en caso de falla, contener el radio de falla y diseñar Aaron Gember-Jacobson, Wenfei Wu, Xiujun Li, AdityaAkella y
alternativas para fallas sistémicas, hasta la evaluación automatizada de Ratul Mahajan. “Análisis del plano de gestión”. En: Actas de ACM
IMC. IMC '15. Tokio, Japón:ACM, 2015, págs. 395–408. ISBN:
riesgos y la automatización del plano de gestión. Nuestra experiencia
[12] 978-1-4503-3848-6.
sugiere que las redes futuras deben tener en cuenta la evolución y la
actualización continuas como una parte clave de su arquitectura y diseño
de disponibilidad.

Agradecimientos. Agradecemos los excelentes comentariosque hemos


recibido de los revisores.

71
[13] P. Gill, N. Jain y N. Nagappan. “Comprensión de lasfallas de red en los [26] A. Markopoulou, G. Iannaccone, S. Bhattacharyya,
centros de datos: medición, C.-N. Chuah, Y. Ganjali y C. Diot. “Caracterización de fallas en una
análisis e implicaciones”. En: Proc. ACM SIG- COMM. 2011. red troncal IP operativa”. En: TransaccionesIEEE / ACM en redes (
2008).
[14] Chuanxiong Guo y col. “Pingmesh: un sistema a gran escala para la
[27] I. Minei y J. Lucek. Aplicaciones habilitadas para MPLS: desarrollos
medición y el análisis de la latencia de la red del centro de datos”.
emergentes y nuevas tecnologías. 3er. WileyInc., 2015.
En: Computación SIGCOMM. Comun. Rvdo. 45.5 (agosto de 2015),
[15] págs. 139-152. ISSN: [28] Andrew Montalenti. Kafkapocalypse: un post-mortem sobre
0146-4833. nuestra interrupción del servicio. Publicación del blog técnico de
[29]
R. Hinden. Protocolo de redundancia de enrutador virtual. Grupode Parse.ly. 2015.
trabajo de ingeniería de Internet, RFC 3768. 2004. N. Feamster y H. Balakrishnan. “Detección de fallas de
[dieciséis]¿Problemas de Internet hoy? No estás solo. Este es el por qué. configuración de BGP con análisis estático”. En: Avancedel II
Simposio de Diseño e Implementación de Sistemas en Red.
http://www.zdnet.com/article/internet-hiccups-today- no-estas-
Asociación USENIX. 2005, págs.
solo-aqui-por-que / .
[17] Y. Israelevtsky y A. Tseitlin. El Ejército Simio Net fl ix. http: 43–56.
[30]
/ / techblog.net fl ix.com/2011/07/net fl ix-simian- P. Bailis y K. Kingsbury. “Una encuesta informal sobre
army.html . 2011. fallas de comunicaciones en el mundo real”. En: Comunicacionesdel ACM (
[18]
Sushant Jain y col. “B4: Experiencia con una WAN definida por [31] 2014).
software implementado globalmente”.En: Actas del ACM R. Mahajan y D. Wetherall y T. Anderson. “Comprensiónde la
SIGCOMM 2013. SIGCOMM '13. configuración incorrecta de BGP”. En: Actas de la Conferencia
[19] Hong Kong, China: ACM, 2013, págs. 3-14. ISBN: de 2002 sobre aplicaciones, tecnologías, arquitecturas y
978-1-4503-2056-6. protocolos para las comunicaciones informáticas. SIGCOMM
Juniper Networks MX 2020. http://www.juniper.net/ elqNow / [32] '02. Pittsburgh, Pensilvania, EE.UU .: ACM, 2002, págs. 3-16.
[20]
elqRedir.htm? ref = http: / / www. juniper.net / assets / us / es ISBN: 1-58113-570-
[21] / local / pdf / datasheets / 1000417-es.pdf . X.
[33]
K. Krishnan. “Enfrentar lo inesperado”. En: Cola deACM ( 2012). John Rushby. “Propiedades críticas del sistema: levantamiento y
taxonomía”. En: Ingeniería de confiabilidad y seguridad del
Alok Kumar y col. “BwE: Asignación de ancho de banda
[22] jerárquica y flexible para computación distribuida WAN”. En: Actasde la [34] sistema 43.2 (1994), págs. 189–219.
Conferencia de la ACM de 2015 sobre el grupo de A. Shaikh, C.Isett, A. Greenberg, M. Roughan y
interés especial sobre comunicación de datos. J. Gottlieb. "Un estudio de caso del comportamiento de OSPF en
SIGCOMM '15. Londres, Reino Unido: ACM,2015, [35] una gran red empresarial". En: Proc. Taller de medición de
[23]
págs. 1-14. ISBN: 978-1-4503-3542-3. Internet ACM. 2002.

Craig Labovitz, Abha Ahuja y Farnam Jahanian. “Estudio A. Shaikh, C. Isett, A. Greenberg, M. Roughan y J.
[24] experimental de estabilidad de Internet y fallas de redesde área [36] Gottlieb. "Líneas de falla de California: comprensión
de las causas y el impacto de las fallas de red". En: Proc. ACM
extensa”. En: Proc. Simposio Internacional sobreComputación
SIGCOMM. 2010.
Tolerante a Fallos. 1999.
Arjun Singh y col. “Jupiter Rising: una década de topologías de
G. Linden. Haga que los datos sean útiles. http: / / sitios. Google . [37]
Clos y control centralizado en la red de centros de datos de
[25] com / site / glinden / Inicio / StanfordDataMining.2006-
Google”. En: Computación SIGCOMM. Comun. Rvdo. 45.5(agosto
11-28.ppt . 2006. [38] de 2015), págs. 183–197. ISSN: 0146-4833.
M. Canini y D. Venzano y P. Perešíni y
Resumen de la interrupción del servicio Amazon EC2 y Amazon
D. Kostić´ y J. Rexford. “Una forma AGRADABLE de probar
RDS en la región este de EE. UU. http: / / aws. Amazonas. com /
aplicaciones OpenFlow”. En: Presentado comoparte del 9º
message / 65648 / . Servicios web deAmazon. 2011.
Simposio de USENIX sobre Diseño e Implementación de Sistemas
en Red (NSDI 12). San José, CA: USENIX, 2012, págs. 127–140. D. Turner, K. Levchenko, JC Mogul, S. Savage y
ISBN: AC Snoeren. Sobre fallas en redes empresariales administradas.
978-931971-92-8. Tech.reps. HPL-2012-101. Laboratorios HP, 2012.
M. Kuzniar y P. Peresini y M. Canini y D. Venzano y D.Kostic.
Amin Vahdat y col. “Escalabilidad y precisión en un emulador
“Una forma SOFT para las pruebas de interoperabilidad de de red a gran escala”. En: SIGOPS Oper. Syst.Rvdo. 36.SI
conmutadores de flujo abierto”.En: Actas de la 8ª Conferencia (diciembre de 2002), págs. 271-284. ISSN: 0163-5980.
Internacional sobre
Experimentos y Tecnologías de Redes Emergentes. CoNEXT[39] D. Watson, F. Jahanian y C. Labovitz. “Experiencias con el
'12. Niza, Francia: ACM, 2012, págs. 265–276. ISBN: monitoreo de OSPF en una red regional de proveedores de
978-1-4503-1775-7. servicios”. En: Proc. IEEE ICDCS. 2003.

72
¿POR QUE MI GRUPO DEVERIA ESCOGER ESTRE ARTICULO?
R. Mi grupo debería escoger este artículo porque nos habla de la red que maneja google para conectarnos al
mundo desde como reacciona ante las ampliaciones de red, que hacer si se presentan fallas es por eso que
atreves de este artículo aprendemos como una gran empresa maneja el tema de las redes a nivel mundial y
cómo podemos reaccionar ante fallas que se les presenta a los expertos en google.

73

También podría gustarte