Es extremadamente raro.
He estado trabajando en Google durante cerca de 5.5 años y solo ha sucedido una vez.
Estoy muy confuso en los detalles, pero creo que una característica experimental que se activó en uno de los grupos mató a un grupo completo de máquinas y sobrecargó otras que impidieron una conmutación por error. Como resultado, perdimos el acceso a Piper. La interrupción duró entre 6 y 7 horas y afectó a alrededor de 1000 desarrolladores (~ 5%). Yo fui uno de los desafortunados.
- ¿Debo trabajar en un trabajo de $ 2 por hora?
- ¿Cómo gestiona el propietario de las empresas multinacionales su trabajo en diferentes lugares del mundo?
- ¿Cuáles son los trabajos más peligrosos del mundo?
- ¿Cómo es trabajar en Alcatel Lucent en India?
- ¿Cómo funcionan los abalorios Hummer?
Fue tan raro que diseñé una insignia de logro para ella y se la di a todos los usuarios afectados que decía “Sobreviví a la gran interrupción de Piper de agosto de 2015”.
EDITAR
(OP me señaló que estaba hablando de errores que se registran en la base de código sin lanzamientos cerrados que afectan potencialmente a muchos proyectos dependientes):
Dichos errores son mucho más comunes (una o dos veces al mes), pero varios sistemas mitigan los problemas de desarrollo:
Liberación de componentes
En realidad, hay un ciclo de lanzamiento para el núcleo de Google. Esto se llama liberación de componentes. Por ejemplo, si realiza un cambio en la implementación de protobuffer, no puede registrarlo en el tronco de inmediato. Primero debe enviarse a un repositorio especial, revisarse a fondo y luego liberarse al tronco como parte de un lanzamiento de componentes.
Ocasionalmente, obtenemos versiones de componentes defectuosos que se marcarán automáticamente y se bloquearán en el nivel del sistema de compilación para que nadie genere binarios de liberación desde ese tronco.
Plataforma de automatización de prueba
Las dependencias menos importantes (pero aún comunes) se benefician del desarrollo de troncales ya que permite rastrear las dependencias en tiempo real a través de la base de código de Google. Con este tipo de seguimiento, es posible realizar pruebas automatizadas casi en tiempo real.
Si es desarrollador de marcos y 100 equipos lo utilizan, normalmente debe ejecutar sus pruebas antes de enviar los cambios. Esto asegura que no se rompan.
Retroceso rápido
Nuevamente, debido al desarrollo del tronco, es fácil arreglar cosas. Si terminas rompiendo a alguien incluso con las comprobaciones anteriores, retroceder generalmente resuelve el problema en minutos.
Las pruebas automatizadas son realmente grandes en Google. Las estadísticas de cobertura y salud del proyecto se rastrean en toda la empresa y hay paneles internos que le permiten ver todo esto. Hay arreglos regulares programados para ayudar a las áreas de productos en dificultades a obtener su mierda (también conocida como pruebas). Sin eso, el desarrollo del tronco sería una pesadilla. En mi compañía anterior, la mayoría de las pruebas fueron realizadas por personas (Q / A) en los lanzamientos. No puedo imaginar este tipo de desarrollo trabajando allí.