Ingeniería de confiabilidad del sitio (SRE)

La ingeniería de confiabilidad del sitio (SRE, por sus siglas en inglés) se ha convertido en una disciplina esencial para garantizar el éxito de las empresas en el mundo digital. En un entorno en constante evolución, donde los sitios web y aplicaciones móviles son la carta de presentación de cualquier organización, la confiabilidad juega un papel crucial. En este artículo, exploraremos qué es la ingeniería de confiabilidad del sitio, cuáles son sus principios fundamentales y cómo puede ayudar a las empresas a ofrecer una experiencia de usuario impecable. Descubramos juntos por qué la SRE es tan importante en la era digital.

Definición

La ingeniería de confiabilidad del sitio (SRE) es un aspecto de la ingeniería de software que tiene como objetivo garantizar la Fiabilidad continua de los sistemas de software..

Este tipo de trabajo puede ayudar a reducir el costo de las operaciones de software. También puede aumentar las capacidades de rendimiento del sistema en general, lo que puede respaldar el crecimiento futuro.

Los ingenieros de confiabilidad del sitio (SRE) son ingenieros de nivel de producción enfocados en el rendimiento del software una vez que ingresa al mundo real.

Su estrella del norte es confiabilidad del software.

Queremos mantener nuestro sitio activo, siempre. — JC Van Winkleingeniero de confiabilidad del sitio en Google Zurich.

Desembalaje del SRE

El objetivo de Site Reliability Engineering (SRE) es aumentar la confiabilidad del software una vez que se ha puesto en producción, asegurando que funcione de manera óptima y sea accesible para los usuarios.

La confiabilidad, en pocas palabras, es la ausencia de errores.

Analizando esto: la confiabilidad es la capacidad de un sistema para funcionar correcta y consistentemente bajo diversas condiciones.

En el contexto de la SRE, La confiabilidad se refiere a la capacidad del sistema de software para funcionar como se espera.sin tiempos de inactividad ni interrupciones.

SRE tiene como objetivo hacer lo siguiente:

  • aumentar el tiempo de actividad del software (porque el software hace bajar)
  • aumentar el rendimiento del software para que funcione a una velocidad óptima
  • mejorar la calidad del código que ejecuta el software y
  • Fortalecer la seguridad del software para protegerlo de intrusos.

En palabras del creador de la disciplina SRE, Ben Treynor Slossvicepresidente de ingeniería de Google:

La ingeniería de confiabilidad del sitio es cuando se trata [software] Las operaciones como un problema de ingeniería.

Esta afirmación resalta la importancia de Tratar las operaciones de software como un problema de ingeniería complejo y desafiante. eso requiere experiencia proactiva, estratégica y especializada.

Debido a su papel en las operaciones de software, SRE es directamente alineado con el movimiento DevOps ampliamente adoptadoque busca eliminar barreras entre el desarrollo y las operaciones de software.

Más que una disciplina estrecha

Para lograr sus objetivos, la ingeniería de confiabilidad del sitio implica ajustar el software y su infraestructura subyacente. Esto puede significar desarrollar, adaptar o diseñar herramientas a medida, así como abogar por prácticas laborales superiores.

El mayor error sobre la ingeniería de confiabilidad del sitio es que solo se centra en la confiabilidad desde una perspectiva estrecha, es decir, que el software es accesible.

Pero hay mucho más.

Cuestiones como el rendimiento, la calidad del código y la seguridad afectan la calidad de la experiencia del usuario y la percibido confiabilidad del software.

Debido a esto, los equipos de SRE deben abordar múltiples áreas de capacidad como observabilidad, gestión del rendimiento, DevSecOps y más para abordar todas las necesidades del sistema de software.

En esencia, la SRE no es sólo un enfoque reactivo para solucionar problemas. Es un enfoque integral y proactivo que busca prevenir los problemas antes de que ocurran.

¿Por qué SRE?

La naturaleza especializada de los roles de desarrollador de software o ingeniería de software (SWE) significa que se omite parte del trabajo necesario para garantizar la confiabilidad.

Déjame explicarte más.

Los roles de ingeniería de software (SWE) requieren un alto nivel de especialización y una comprensión profunda de las complejidades técnicas involucradas.

Por ejemplo, un desarrollador backend solo puede especializarse en programación Javascript, ya que por sí solo genera una carga cognitiva significativa.

Pero este tipo de especialización genera un problema más adelante en el ciclo de vida del desarrollo de software (SDLC).

Debido a la naturaleza compleja y dinámica del desarrollo de software, Puede ser fácil pasar por alto las medidas que garantizan la calidad del software en producción.. Aquí es donde entra en juego la ingeniería de confiabilidad del sitio (SRE).

Los SRE son responsables de garantizar que el software sea confiable, escalable y eficiente. Trabajan en estrecha colaboración con desarrolladores, equipos de operaciones y otras partes interesadas para lograr estos objetivos.

Al hacerlo, los SRE desempeñan un papel crucial a la hora de garantizar que los productos de software se entreguen a tiempo y cumplan con los altos estándares exigidos tanto por los usuarios como por los clientes.

Con base en esta nueva comprensión, es posible que ahora se sienta más seguro al incorporar SRE a su organización.

Pero, ¿cómo se puede convencer eficazmente a otros sobre este enfoque?

Exploremos esto más a fondo.

Primero, abordemos un hecho que no se puede pasar por alto.

Se necesita confianza y convicción para introducir cambios significativos que puedan afectar a todo el equipo u organización.

Naturalmente, enfrentará resistencia o vacilación al introducir cambios.

Pero proponer una nueva función como Ingeniería de Confiabilidad del Sitio (SRE) o reestructurar equipos para lograrla puede traer beneficios significativos.

Con una planificación cuidadosa, una comunicación clara y un énfasis en los beneficios potenciales, puede ser un esfuerzo exitoso.

Compartiré consejos de comunicación más específicos con usted en un momento.

Pero consideremos primero tres argumentos que puedes utilizar para fortalecer la lógica detrás de tu propuesta.

SRE como tejido conectivo

De acuerdo a Sebastián VietzDirector de Ingeniería de Confiabilidad de Compass Digital:

SRE actúa como el tejido conectivo que reúne todos los aspectos del desarrollo de software, asegurando que el software sea confiable, escalable y eficiente.

Analicemos la declaración anterior en algunos puntos clave:

La Ingeniería de Confiabilidad del Sitio (SRE) es una disciplina que sirve como base para otros campos relacionados.

Los equipos de SRE diseñan e implementan nuevas herramientas y tecnologías para mejorar la eficiencia y eficacia del sistema de software.

Los SRE trabajan en estrecha colaboración con desarrolladores, gerentes de productos y otras partes interesadas para garantizar que los sistemas satisfagan las necesidades de la organización y sus clientes.

Por ejemplo, los SRE pueden ayudar a los ingenieros y equipos de AppSec a navegar por la complejidad del sistema para detectar y mitigar amenazas y vulnerabilidades de seguridad.

Equilibre los riesgos y los beneficios de la computación en la nube

Computación en la nube ha revolucionado las operaciones comerciales, particularmente en industrias reguladas.

Sin embargo, presenta desafíos únicos que deben abordarse. Uno de esos desafíos es implementar el mismo nivel de controles de TI que antes, lo que plantea un riesgo significativo al realizar la transición a servicios nativos de la nube.

Para equilibrar la necesidad de flexibilidad con la reducción de riesgos, los ingenieros de confiabilidad del sitio (SRE) pueden tener un impacto crucial a la hora de garantizar el buen funcionamiento de los sistemas basados ​​en la nube.

Pueden hacer lo siguiente:

  • educar a los ingenieros sobre las mejores prácticas
  • configuración barandillas pasivas que previenen errores y reducen riesgos
  • Proporcionar orientación sobre el uso más eficiente y efectivo de la nube mientras se mantiene dentro de las políticas establecidas.

Además, las SRE experimentadas pueden interactuar con confianza con diferentes partes interesadas en el proceso de gestión de riesgos.

En resumen, las organizaciones deben equilibrar la flexibilidad y el riesgo al utilizar software en la nube. Los SRE pueden ayudar a lograr este equilibrio y garantizar que los sistemas basados ​​en la nube sean más resilientes y estén mejor equipados para manejar eventos inesperados.

Apoya la eficiencia operativa y el control de costos

La ingeniería de confiabilidad del sitio (SRE) hará lo siguiente:

  • Incorporar datos y prácticas
  • Aumentar la eficiencia operativa
  • Reducir los costos de operaciones de software

SRE puede mostrar una amplia gama de datos para identificar posibles cuellos de botella y áreas de mejora en el desempeño del servicio.

Una estrategia clave es abordar los incidentes de manera proactiva, reduciendo la gravedad de incidentes futuros y los posibles daños financieros. SRE también puede mejorar las prácticas de DevSecOps para evitar costosos contratiempos de seguridad.

Al adoptar un enfoque integral y proactivo para la gestión del sistema, SRE puede garantizar el éxito a largo plazo y la viabilidad financiera del software.

Consejos para las comunicaciones con las partes interesadas

Utilice un lenguaje sencillo

Utilice un lenguaje que destaque a las partes interesadas que la SRE:

  • Resuelve problemas para los usuarios, no para el sistema.
  • Beneficia al negocio, no sólo a la tecnología

Vender claramente los beneficios

Aquí hay 5 ejemplos que muestran Cómo las SRE benefician claramente al negocio:

  1. Ahorre en costos de computación en la nube con ahorros potenciales de hasta $100 000+/mes en costos de computación en la nube. haga feliz a su director financiero
  2. Reduzca el potencial de amenazas activas a la seguridad aumentando la seguridad pasiva del software a través de DevSecOps: haz feliz a tu CISO
  3. Evite la pérdida de ingresos causada por el tiempo de inactividad aumentando la resiliencia, el rendimiento y la confiabilidad general del software.
  4. Evite un crecimiento excesivo de la plantilla y al mismo tiempo aumente el crecimiento de las operaciones de software. 10X Esfuerzos de operaciones manuales a través de la automatización.
  5. Asegure lanzamientos rápidos de productos a través de una velocidad continua del desarrollador mejorando DevOps del desarrollador, es decir desplazamiento a la izquierda

Alinee temporalmente su discurso con el Mentalidad de proyecto

Al trabajar con las partes interesadas, es importante considerar sus mentalidad de proyecto y cómo podría chocar con el enfoque de mejora continua requerido para las funciones de Ingeniería de Confiabilidad del Sitio (SRE).

Para evitar confusiones, considere introducir un modelo de madurez para el equipo de SRE como un camino claro hacia el éxito con hitos específicos y un “estado final” para demostrar el progreso.

Si bien los modelos de madurez pueden no ser la forma ideal de lograr resultados a largo plazo, ofrecen un enfoque sencillo para que las partes interesadas comprendan los objetivos del equipo de SRE y cómo pretenden alcanzarlos.

A medida que el proyecto se desarrolla y el equipo de SRE adquiere nuevas capacidades, es posible revisar la idea de mejora continua para lograr el éxito a largo plazo.

Puesto para presupuestar

Al presentar una propuesta de cambio a los ejecutivos, priorice su presupuesto y proyecto mentalidad.

Presente su cambio comunicando los beneficios y abordando cualquier posible inquietud que puedan tener.

Esto ganará su aceptación y apoyo, lo que en última instancia aumentará la probabilidad de una implementación exitosa.

Utilice estudios de casos

Los ejecutivos interesados ​​a menudo investigan a otras empresas de su industria o a profesionales avanzados de otras industrias para guiar sus propias estrategias y prácticas.

pueden usar Estudios de caso de empresas respetadas que han implementado SRE con éxito. para obtener información valiosa sobre los desafíos, oportunidades y estrategias empleadas.

Estos estudios de casos pueden inspirar nuevas ideas y proporcionar una valiosa orientación para su propia empresa.

Para presentar la idea de implementar SRE:

  • Crear una propuesta bien elaborada que destaque el impacto positivo del cambio en la organización.
  • Comience con un documento y continúe con una presentación de diapositivas para una presentación formal.
  • Enfatizar los beneficios de los cambios propuestos de manera clara y concisa.
  • Manténgalo simple cuando se comunique con sus superiores, a menos que le pidan más detalles.
  • Abordar cualquier posible inconveniente o inquietud de manera proactiva para contrarrestar o aliviar la resistencia a los cambios propuestos.

Think Insights (20 de septiembre de 2023) Ingeniería de confiabilidad del sitio (SRE). Obtenido de https://thinkinsights.net/digital/sre/.
«Ingeniería de Confiabilidad del Sitio (SRE).» Think Insights – 20 de septiembre de 2023, https://thinkinsights.net/digital/sre/
Think Insights 2 de junio de 2023 Ingeniería de Confiabilidad del Sitio (SRE).visto el 20 de septiembre de 2023,<https://thinkinsights.net/digital/sre/>
Piensa en ideas – Ingeniería de Confiabilidad del Sitio (SRE). [Internet]. [Accessed September 20, 2023]. Disponible de: https://thinkinsights.net/digital/sre/
«Ingeniería de Confiabilidad del Sitio (SRE).» Think Insights – Consultado el 20 de septiembre de 2023. https://thinkinsights.net/digital/sre/
«Ingeniería de Confiabilidad del Sitio (SRE).» Piensa en ideas [Online]. Disponible: https://thinkinsights.net/digital/sre/. [Accessed: September 20, 2023]
Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded





Ingeniería de confiabilidad del sitio (SRE) – Preguntas más frecuentes

Preguntas frecuentes sobre Ingeniería de Confiabilidad del Sitio (SRE)

La Ingeniería de Confiabilidad del Sitio (SRE por sus siglas en inglés) es una disciplina que se ocupa de mantener y mejorar la confiabilidad de un sitio web. A continuación, responderemos algunas de las preguntas más frecuentes relacionadas con SRE.

1. ¿Qué es la Ingeniería de Confiabilidad del Sitio (SRE)?

La Ingeniería de Confiabilidad del Sitio es una metodología desarrollada por Google para garantizar la disponibilidad, eficiencia y escalabilidad de los sistemas y servicios en línea. SRE se centra en la automatización, monitoreo, gestión de incidencias y desarrollo de infraestructuras confiables.

2. ¿Cuál es el papel de un ingeniero de confiabilidad del sitio (SRE)?

Un ingeniero de confiabilidad del sitio se encarga de diseñar, implementar y mantener la infraestructura tecnológica necesaria para garantizar que un sitio web o servicio en línea funcione de manera confiable y eficiente. Los ingenieros de SRE también son responsables de monitorear el rendimiento, responder rápidamente a incidencias y optimizar la escalabilidad del sistema.

3. ¿Cuáles son las principales responsabilidades de un equipo de SRE?

Un equipo de SRE se encarga de diversas responsabilidades, tales como:

  1. Implementación de sistemas de monitoreo y alerta temprana.
  2. Desarrollo de estrategias de resiliencia y disponibilidad continua.
  3. Automatización de procesos operativos.
  4. Gestión de incidencias y recuperación ante fallos.
  5. Optimización del rendimiento y la escalabilidad.
  6. Colaboración con equipos de desarrollo en el diseño de infraestructuras confiables.

4. ¿Cuáles son las habilidades necesarias para un ingeniero de SRE?

Un ingeniero de confiabilidad del sitio debe tener sólidos conocimientos en programación, sistemas operativos, redes, bases de datos y tecnologías en la nube. También se requieren habilidades analíticas, capacidad de resolución de problemas y trabajo en equipo. Además, un buen ingeniero de SRE debe ser capaz de adaptarse a cambios rápidos y tener una mentalidad orientada a la mejora continua.

5. ¿Cuáles son las mejores prácticas en la implementación de Ingeniería de Confiabilidad del Sitio?

Algunas mejores prácticas a tener en cuenta al implementar SRE son:

  • Establecer acuerdos de nivel de servicio (SLA) claros y realistas.
  • Implementar sistemas de monitorización proactiva.
  • Automatizar tareas operativas y procesos repetitivos.
  • Priorizar la resiliencia y redundancia en la arquitectura del sistema.
  • Realizar pruebas de carga y estrés periódicas para evaluar la capacidad del sistema.
  • Evaluar y optimizar continuamente el rendimiento y la escalabilidad del sistema.

¡Esperamos que estas preguntas frecuentes hayan resuelto algunas de tus dudas sobre Ingeniería de Confiabilidad del Sitio (SRE)!

Fuentes adicionales:


Deja un comentario