Navegando el Caos: Un Enfoque Holístico para la Gestión de Incidentes

Rate this content
Bookmark

La gestión de incidentes puede ser desafiante y lanzarte bolas curvas con problemas inesperados, lo que resulta en pérdida de datos, tiempos de inactividad y en general, pérdida de dinero y horas de sueño, ¡PERO! Hay cosas prácticas que podrías hacer para que sea un proceso más fluido y manejarlo mejor.
¿Recuerdas cuando estábamos en la escuela y la gente decía: "Escuchar activamente en clase garantiza el 50% de preparación para el próximo examen"?
Lo mismo ocurre con ser proactivo en el trabajo de maneras que te prepararán instantáneamente para gestionar incidentes mejor (por la noche o en general).
En esta charla, cubriré las formas proactivas que podrías tomar e incorporar en tu rutina diaria, para prepararte para un proceso de gestión de incidentes más fluido y eficiente.
También mostraré las mejores prácticas que he finalizado a lo largo de los años y que me han ayudado a tener una visión clara de cómo gestionar incidentes de producción de la manera más rápida y eficiente posible.
Abrazar los consejos que te daré te garantizará que no solo hables, sino que también actúes cuando se trata de la gestión de incidentes.

This talk has been presented at DevOps.js Conf 2024, check out the latest edition of this JavaScript Conference.

FAQ

La gestión de incidentes es un conjunto de procedimientos y acciones que se toman para resolver un incidente crítico, incluyendo cómo se detectan y comunican los incidentes, quién es responsable de manejarlos, qué herramientas se utilizan para investigar y responder, y qué pasos se siguen hacia una solución.

Tener una mentalidad empresarial significa comprender el impacto general de los incidentes y cómo afectan al negocio, lo cual es crucial para mitigar daños y manejar incidentes de manera eficaz en beneficio del negocio.

Durante esta fase, es importante determinar la magnitud completa del problema y su impacto en el negocio, recopilar más información si es necesario, y decidir si el problema puede esperar a ser manejado en horario laboral o necesita escalarse de inmediato.

En una sala de guerra, es crucial concentrarse en la información relevante, asignar tareas específicas a las personas adecuadas, y minimizar la participación de quienes no contribuyen directamente a la resolución del incidente para mantener la eficiencia y claridad en la gestión del problema.

Después de resolver un incidente, es importante verificar tareas pendientes, asegurarse de que los manuales de ejecución de incidentes estén actualizados, y pensar en cómo prevenir incidentes similares en el futuro. También es necesario notificar a las personas adecuadas sobre la resolución del incidente.

Un informe post mortem es una reunión que se realiza después de incidentes críticos para discutir qué sucedió, aprender de los errores cometidos y mejorar los procesos para prevenir futuros incidentes. Se requiere cuando el incidente tiene un impacto significativo y es necesario entender y documentar los detalles del mismo.

Estar preparado diariamente incluye leer los traspasos de guardia, entender la arquitectura del sistema, aprender los flujos de la aplicación y estar actualizado sobre los cambios en la producción. Esto ayuda a manejar incidentes de manera más rápida y eficaz, reduciendo tiempos de inactividad y mejorando la respuesta a incidentes.

Hila Fish
Hila Fish
26 min
15 Feb, 2024

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Esta charla aborda la importancia de un proceso estructurado para la gestión de incidentes y la necesidad de una mentalidad empresarial. Describe un proceso estructurado de cinco pilares y enfatiza la importancia de mantener la calma y hacer las preguntas correctas durante los incidentes. La charla también destaca la importancia de identificar, categorizar e investigar incidentes de manera efectiva, así como priorizar las causas raíz y comunicar las resoluciones de los incidentes. Además, se discute el papel de los gestores de incidentes, las medidas proactivas para la mejora continua y la importancia de la preparación y una mentalidad proactiva.

1. Introducción a la Gestión de Incidentes

Short description:

En esta parte de la charla, cubriré la importancia de un proceso estructurado para la gestión de incidentes y la necesidad de una mentalidad empresarial. También enfatizaré la regla de saber que todo falla todo el tiempo.

Hola a todos. Gracias por unirse a mi charla sobre cómo navegar el caos, también conocido como incidentes en producción. Cuando estaba en la escuela secundaria, la creencia común era que si estabas escuchando activamente en clase, ya tenías el 50% de la preparación del examen en tu bolsillo. Quiero mostrarte cómo adopté esta creencia en un enfoque proactivo real que podrías tomar y que te ayudará a gestionar los incidentes de manera más eficiente y estructurada, y eventualmente preservar las horas de sueño tan necesarias. Pero antes que nada, hola, mi nombre es Hila Fish. Soy una ingeniera senior de DevOps. Tengo muchas cosas que decir sobre mí misma, pero básicamente lo más importante que necesitas saber sobre mí en términos de esta presentación es que manejé muchos incidentes de producción cuando estaba de guardia. Cuando no estaba de guardia, grandes corporaciones, startups, he visto muchas cosas. Por eso puedo traer las cosas que aprendí en el camino a esta presentación. Así que cubramos la agenda para hoy. En primer lugar, cubriremos la mentalidad que debes tener para realmente practicar y gestionar los incidentes de manera eficiente. Luego, cubriremos el flujo de incidentes, también conocido como un proceso estructurado que puedes seguir para gestionar los incidentes de manera eficiente y ser proactivo, cosas que puedes hacer en tu día a día y después de que ocurra un incidente que te ayudarán a estar preparado para el próximo incidente que ocurra. Así que primero que nada, establezcamos una base aquí. La gestión de incidentes es un conjunto de procedimientos y acciones que se toman para resolver un incidente crítico. Básicamente, significa que es un proceso de principio a fin que define cómo se detectan y comunican los incidentes, quién es responsable de manejarlos, qué herramientas se utilizan para investigar y responder a ellos, y qué pasos se toman hacia una solución. Y algo en lo que realmente necesitamos pensar cuando nos enfrentamos a incidentes en producción es, en primer lugar, que no todas las páginas que recibes a través de Ops Uni o PagerDuty o cualquier otra herramienta que estés utilizando, se convierten en un incidente. Cuando es un incidente, cuando tienes una pérdida o una posible pérdida de ingresos, clientes, data y reputación. Y si no tenemos un proceso de gestión de incidentes, si simplemente estamos en un enfoque y mentalidad de poner archivos de manera ad hoc, significa que potencialmente perderemos datos valiosos, el tiempo de inactividad podría llevar potencialmente a una reducción de la productividad y los ingresos, y la empresa podría incumplir los acuerdos de nivel de servicio. Cada empresa tiene sus propios SLA y queremos evitar incumplir esos SLA. Por lo tanto, significa que debemos evitar estar de manera ad hoc, diciendo, `ok, algo sucedió, ahora tenemos que solucionar este problema`. Necesitamos tener un proceso estructurado para resolver los incidentes. ¿Y cómo lo hacemos? En primer lugar, cambiando nuestra perspectiva, necesitamos tener una mentalidad empresarial. Esto significa que cada vez que te enfrentes a algo, cada vez que implementes algo en el trabajo, cada vez que hagas algo en el trabajo, debes pensar no solo en los sistemas que estás incorporando e implementando, sino también en comprender el por qué. ¿Por qué hacemos las cosas de cierta manera? ¿Por qué tenemos este sistema? ¿Cómo nos ayuda a hacer las cosas y cómo ayuda al éxito del negocio? Por lo tanto, se necesita una mentalidad empresarial para comprender el impacto general de los incidentes y mitigar los daños en consecuencia. Y es por eso que debe ser un proceso estructurado. Aquí es donde incorporarás la mentalidad empresarial y te asegurarás de que las cosas se manejen lo más rápido posible en beneficio del negocio. Y para realmente, digamos, gestionar los incidentes de manera eficiente, la regla número uno para gestionar los incidentes y ser un mejor ingeniero en general es saber que todo falla todo el tiempo. ¿Quién dijo esto?

2. Proceso Estructurado y Tipos de Personas

Short description:

Los incidentes son caóticos por naturaleza. Tener un proceso estructurado ayudará a prevenir incidentes, mejorar el tiempo medio de resolución, reducir costos y preservar el negocio y la reputación. Seguiremos un proceso estructurado con cinco pilares. Compartiré preguntas para hacer y responder en cada pilar para avanzar hacia la resolución del incidente. Hay dos tipos de personas en la gestión de incidentes: los que se mantienen tranquilos y los que no. Hacer las preguntas correctas te ayudará a mantener la calma y avanzar en cada fase.

por cierto? Preguntarías. En primer lugar, yo. Dije eso muchas veces a lo largo de mi career. Pero en primer lugar, creo que es muy extraño citarme a mí misma. Y en segundo lugar, encontré a alguien con un poco más de crédito en la industria que yo. El CTO de AWS, Werner Vogels. Así que toma su palabra. Todo falla todo el tiempo. Los sistemas de producción, los entornos de desarrollo, los pipelines, las cosas que construimos, las cosas que compramos, los sistemas en los que confiamos para saber que la producción está caída, también conocidos como nuestros sistemas de monitoreo. Incluso nosotros como seres humanos, nos estrellamos y necesitamos dormir y luego reiniciarnos. Todo falla todo el tiempo. Y eso es exactamente. Los incidentes son caóticos por naturaleza. Pero si tenemos este hecho, si sabemos que las fallas son inevitables porque todo falla todo el tiempo, entonces no podemos actuar de manera ad hoc poniendo archivos. Podemos decir, OK, esto sucedió, pero estoy preparado para lidiar con ello. Así que esta es toda la idea de tener un proceso estructurado y un proceso estructurado ayudará a prevenir incidentes, mejorar el tiempo medio de resolución, reducir costos porque se redujo o eliminó por completo el tiempo de inactividad, y preservar nuestro negocio, clientes y reputación. ¿Y cómo lo hacemos? Tenemos un proceso estructurado que podemos seguir aquí, cinco pilares, y repasaremos cada pilar y te mostraré preguntas que puedes hacer y responder en cada pilar para avanzar al siguiente. Pero antes, quiero mostrarte dos tipos de personas que conocí en todo mi recorrido en producción, gestionando incidentes de producción. Conocí a este tipo. En primer lugar, aquel que dice mantén la calma, soy un ingeniero. Y el otro tipo que dice no puedo mantener la calma. Soy un ingeniero. Estos son los dos tipos que conocí. Y digo que puedes mantener la calma si te haces las preguntas que voy a compartir contigo en cada pilar y luego te ayudará a avanzar hacia la siguiente fase y hasta la resolución del incidente.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

No resuelvas problemas, elimínalos
React Advanced 2021React Advanced 2021
39 min
No resuelvas problemas, elimínalos
Top Content
Kent C. Dodds discusses the concept of problem elimination rather than just problem-solving. He introduces the idea of a problem tree and the importance of avoiding creating solutions prematurely. Kent uses examples like Tesla's electric engine and Remix framework to illustrate the benefits of problem elimination. He emphasizes the value of trade-offs and taking the easier path, as well as the need to constantly re-evaluate and change approaches to eliminate problems.
Uso efectivo de useEffect
React Advanced 2022React Advanced 2022
30 min
Uso efectivo de useEffect
Top Content
Today's Talk explores the use of the useEffect hook in React development, covering topics such as fetching data, handling race conditions and cleanup, and optimizing performance. It also discusses the correct use of useEffect in React 18, the distinction between Activity Effects and Action Effects, and the potential misuse of useEffect. The Talk highlights the benefits of using useQuery or SWR for data fetching, the problems with using useEffect for initializing global singletons, and the use of state machines for handling effects. The speaker also recommends exploring the beta React docs and using tools like the stately.ai editor for visualizing state machines.
Sistemas de Diseño: Caminando la Línea Entre Flexibilidad y Consistencia
React Advanced 2021React Advanced 2021
47 min
Sistemas de Diseño: Caminando la Línea Entre Flexibilidad y Consistencia
Top Content
The Talk discusses the balance between flexibility and consistency in design systems. It explores the API design of the ActionList component and the customization options it offers. The use of component-based APIs and composability is emphasized for flexibility and customization. The Talk also touches on the ActionMenu component and the concept of building for people. The Q&A session covers topics such as component inclusion in design systems, API complexity, and the decision between creating a custom design system or using a component library.
Solicitudes de Red con Cypress
TestJS Summit 2021TestJS Summit 2021
33 min
Solicitudes de Red con Cypress
Top Content
Cecilia Martinez, a technical account manager at Cypress, discusses network requests in Cypress and demonstrates commands like cydot request and SCI.INTERCEPT. She also explains dynamic matching and aliasing, network stubbing, and the pros and cons of using real server responses versus stubbing. The talk covers logging request responses, testing front-end and backend API, handling list length and DOM traversal, lazy loading, and provides resources for beginners to learn Cypress.
Concurrencia en React, Explicada
React Summit 2023React Summit 2023
23 min
Concurrencia en React, Explicada
Top Content
React 18's concurrent rendering, specifically the useTransition hook, optimizes app performance by allowing non-urgent updates to be processed without freezing the UI. However, there are drawbacks such as longer processing time for non-urgent updates and increased CPU usage. The useTransition hook works similarly to throttling or bouncing, making it useful for addressing performance issues caused by multiple small components. Libraries like React Query may require the use of alternative APIs to handle urgent and non-urgent updates effectively.
Gestión del Estado de React: 10 Años de Lecciones Aprendidas
React Day Berlin 2023React Day Berlin 2023
16 min
Gestión del Estado de React: 10 Años de Lecciones Aprendidas
Top Content
This Talk focuses on effective React state management and lessons learned over the past 10 years. Key points include separating related state, utilizing UseReducer for protecting state and updating multiple pieces of state simultaneously, avoiding unnecessary state syncing with useEffect, using abstractions like React Query or SWR for fetching data, simplifying state management with custom hooks, and leveraging refs and third-party libraries for managing state. Additional resources and services are also provided for further learning and support.

Workshops on related topic

Masterclass de Depuración de Rendimiento de React
React Summit 2023React Summit 2023
170 min
Masterclass de Depuración de Rendimiento de React
Top Content
Featured WorkshopFree
Ivan Akulov
Ivan Akulov
Los primeros intentos de Ivan en la depuración de rendimiento fueron caóticos. Vería una interacción lenta, intentaría una optimización aleatoria, vería que no ayudaba, y seguiría intentando otras optimizaciones hasta que encontraba la correcta (o se rendía).
En aquel entonces, Ivan no sabía cómo usar bien las herramientas de rendimiento. Haría una grabación en Chrome DevTools o React Profiler, la examinaría, intentaría hacer clic en cosas aleatorias, y luego la cerraría frustrado unos minutos después. Ahora, Ivan sabe exactamente dónde y qué buscar. Y en esta masterclass, Ivan te enseñará eso también.
Así es como va a funcionar. Tomaremos una aplicación lenta → la depuraremos (usando herramientas como Chrome DevTools, React Profiler, y why-did-you-render) → identificaremos el cuello de botella → y luego repetiremos, varias veces más. No hablaremos de las soluciones (en el 90% de los casos, es simplemente el viejo y regular useMemo() o memo()). Pero hablaremos de todo lo que viene antes - y aprenderemos a analizar cualquier problema de rendimiento de React, paso a paso.
(Nota: Esta masterclass es más adecuada para ingenieros que ya están familiarizados con cómo funcionan useMemo() y memo() - pero quieren mejorar en el uso de las herramientas de rendimiento alrededor de React. Además, estaremos cubriendo el rendimiento de la interacción, no la velocidad de carga, por lo que no escucharás una palabra sobre Lighthouse 🤐)
Consejos sobre React Hooks que solo los profesionales conocen
React Summit Remote Edition 2021React Summit Remote Edition 2021
177 min
Consejos sobre React Hooks que solo los profesionales conocen
Top Content
Featured Workshop
Maurice de Beijer
Maurice de Beijer
La adición de la API de hooks a React fue un cambio bastante importante. Antes de los hooks, la mayoría de los componentos tenían que ser basados en clases. Ahora, con los hooks, estos son a menudo componentes funcionales mucho más simples. Los hooks pueden ser realmente simples de usar. Casi engañosamente simples. Porque todavía hay muchas formas en las que puedes equivocarte con los hooks. Y a menudo resulta que hay muchas formas en las que puedes mejorar tus componentes con una mejor comprensión de cómo se puede usar cada hook de React.Aprenderás todo sobre los pros y los contras de los diversos hooks. Aprenderás cuándo usar useState() versus useReducer(). Veremos cómo usar useContext() de manera eficiente. Verás cuándo usar useLayoutEffect() y cuándo useEffect() es mejor.
React, TypeScript y TDD
React Advanced 2021React Advanced 2021
174 min
React, TypeScript y TDD
Top Content
Featured WorkshopFree
Paul Everitt
Paul Everitt
ReactJS es extremadamente popular y, por lo tanto, ampliamente soportado. TypeScript está ganando popularidad y, por lo tanto, cada vez más soportado.

¿Los dos juntos? No tanto. Dado que ambos cambian rápidamente, es difícil encontrar materiales de aprendizaje precisos.

¿React+TypeScript, con los IDEs de JetBrains? Esa combinación de tres partes es el tema de esta serie. Mostraremos un poco sobre mucho. Es decir, los pasos clave para ser productivo, en el IDE, para proyectos de React utilizando TypeScript. En el camino, mostraremos el desarrollo guiado por pruebas y enfatizaremos consejos y trucos en el IDE.
Diseñando Pruebas Efectivas con la Biblioteca de Pruebas de React
React Summit 2023React Summit 2023
151 min
Diseñando Pruebas Efectivas con la Biblioteca de Pruebas de React
Top Content
Featured Workshop
Josh Justice
Josh Justice
La Biblioteca de Pruebas de React es un gran marco para las pruebas de componentes de React porque responde muchas preguntas por ti, por lo que no necesitas preocuparte por esas preguntas. Pero eso no significa que las pruebas sean fáciles. Todavía hay muchas preguntas que tienes que resolver por ti mismo: ¿Cuántas pruebas de componentes debes escribir vs pruebas de extremo a extremo o pruebas de unidad de nivel inferior? ¿Cómo puedes probar una cierta línea de código que es difícil de probar? ¿Y qué se supone que debes hacer con esa persistente advertencia de act()?
En esta masterclass de tres horas, presentaremos la Biblioteca de Pruebas de React junto con un modelo mental de cómo pensar en el diseño de tus pruebas de componentes. Este modelo mental te ayudará a ver cómo probar cada bit de lógica, si debes o no simular dependencias, y ayudará a mejorar el diseño de tus componentes. Te irás con las herramientas, técnicas y principios que necesitas para implementar pruebas de componentes de bajo costo y alto valor.
Tabla de contenidos- Los diferentes tipos de pruebas de aplicaciones de React, y dónde encajan las pruebas de componentes- Un modelo mental para pensar en las entradas y salidas de los componentes que pruebas- Opciones para seleccionar elementos DOM para verificar e interactuar con ellos- El valor de los mocks y por qué no deben evitarse- Los desafíos con la asincronía en las pruebas de RTL y cómo manejarlos
Requisitos previos- Familiaridad con la construcción de aplicaciones con React- Experiencia básica escribiendo pruebas automatizadas con Jest u otro marco de pruebas unitarias- No necesitas ninguna experiencia con la Biblioteca de Pruebas de React- Configuración de la máquina: Node LTS, Yarn
Domina los Patrones de JavaScript
JSNation 2024JSNation 2024
145 min
Domina los Patrones de JavaScript
Top Content
Featured Workshop
Adrian Hajdin
Adrian Hajdin
Durante esta masterclass, los participantes revisarán los patrones esenciales de JavaScript que todo desarrollador debería conocer. A través de ejercicios prácticos, ejemplos del mundo real y discusiones interactivas, los asistentes profundizarán su comprensión de las mejores prácticas para organizar el código, resolver desafíos comunes y diseñar arquitecturas escalables. Al final de la masterclass, los participantes ganarán una nueva confianza en su capacidad para escribir código JavaScript de alta calidad que resista el paso del tiempo.
Puntos Cubiertos:
1. Introducción a los Patrones de JavaScript2. Patrones Fundamentales3. Patrones de Creación de Objetos4. Patrones de Comportamiento5. Patrones Arquitectónicos6. Ejercicios Prácticos y Estudios de Caso
Cómo Ayudará a los Desarrolladores:
- Obtener una comprensión profunda de los patrones de JavaScript y sus aplicaciones en escenarios del mundo real- Aprender las mejores prácticas para organizar el código, resolver desafíos comunes y diseñar arquitecturas escalables- Mejorar las habilidades de resolución de problemas y la legibilidad del código- Mejorar la colaboración y la comunicación dentro de los equipos de desarrollo- Acelerar el crecimiento de la carrera y las oportunidades de avance en la industria del software
Cómo empezar con Cypress
TestJS Summit 2022TestJS Summit 2022
146 min
Cómo empezar con Cypress
Featured WorkshopFree
Filip Hric
Filip Hric
La web ha evolucionado. Finalmente, también lo ha hecho el testing. Cypress es una herramienta de testing moderna que responde a las necesidades de testing de las aplicaciones web modernas. Ha ganado mucha popularidad en los últimos años, obteniendo reconocimiento a nivel mundial. Si has estado esperando aprender Cypress, ¡no esperes más! Filip Hric te guiará a través de los primeros pasos sobre cómo empezar a usar Cypress y configurar tu propio proyecto. La buena noticia es que aprender Cypress es increíblemente fácil. Escribirás tu primer test en poco tiempo y luego descubrirás cómo escribir un test de extremo a extremo completo para una aplicación web moderna. Aprenderás conceptos fundamentales como la capacidad de reintentar. Descubre cómo trabajar e interactuar con tu aplicación y aprende cómo combinar pruebas de API y de UI. A lo largo de todo este masterclass, escribiremos código y realizaremos ejercicios prácticos. Saldrás con una experiencia práctica que podrás aplicar a tu propio proyecto.