stringtranslate.com

Ingeniería de confiabilidad del sitio

La ingeniería de confiabilidad del sitio ( SRE ) es un conjunto de principios y prácticas que aplican aspectos de la ingeniería de software a la infraestructura y las operaciones de TI . [1] La SRE tiene como objetivo crear sistemas de TI altamente confiables y escalables . Aunque están estrechamente relacionados, la SRE es ligeramente diferente de DevOps . [2] [3] [4]

Historia

El campo de la ingeniería de confiabilidad del sitio se originó en Google con Ben Treynor Sloss, [5] [6] quien fundó un equipo de confiabilidad del sitio después de unirse a la empresa en 2003. [7] Después de originarse en Google en 2003, el concepto se extendió a la industria de desarrollo de software más amplia, y otras empresas posteriormente comenzaron a emplear ingenieros de confiabilidad del sitio. [8] Para 2016, Google empleó a más de 1,000 ingenieros de confiabilidad del sitio. [9] Los equipos dedicados a SRE son comunes en las empresas web más grandes, sin embargo, no es raro encontrar un equipo de DevOps que cumple un doble propósito de SRE en algunas empresas medianas y muchas más pequeñas. [8] Las organizaciones que han adoptado el concepto incluyen Airbnb , Dropbox , IBM , [10] LinkedIn , [11] Netflix , [9] y Wikimedia . [12] Según un informe de 2021 del DevOps Institute, el 22% de los encuestados en una encuesta a 2.000 profesionales de TI de todo el mundo habían adoptado el modelo SRE en comparación con el 15% del año anterior. [13] [14]

Definición

La ingeniería de confiabilidad del sitio como función laboral puede ser realizada por colaboradores individuales u organizada en equipos, responsables de una combinación de lo siguiente dentro de una organización de ingeniería más amplia: disponibilidad del sistema , latencia , rendimiento , eficiencia, gestión de cambios , monitoreo , respuesta a emergencias y planificación de capacidad . [15] Los ingenieros de confiabilidad del sitio a menudo tienen antecedentes en ingeniería de software , ingeniería de sistemas o administración de sistemas . [16] Los enfoques de SRE incluyen automatización, diseño de sistemas y mejoras en la resiliencia del sistema . [16]

El conjunto de principios y prácticas de la ingeniería de confiabilidad de sitios puede ser realizado por cualquier persona. Aunque otros miembros del equipo deben implementar buenas prácticas, como en el caso de la ingeniería de seguridad , una empresa puede eventualmente contratar especialistas e ingenieros para el trabajo. [ cita requerida ]

SRE se considera una implementación específica de DevOps ; [17] SRE se centra específicamente en la construcción de sistemas confiables, mientras que DevOps cubre un alcance más amplio. [2] [3] [4] A pesar de tener diferentes enfoques, algunas empresas han cambiado el nombre de sus equipos de operaciones a equipos SRE con pocos cambios significativos. [8]

Principios y prácticas

Se han realizado múltiples intentos de definir una lista canónica de principios de ingeniería de confiabilidad del sitio, pero si bien no hay consenso, las siguientes características generalmente se incluyen en la mayoría de las definiciones: [1] [18]

Las prácticas de ingeniería de confiabilidad del sitio también varían ampliamente, pero la lista a continuación se considera relativamente común como implementada al menos parcialmente:

Implementaciones

Los equipos de SRE colaboran con otros departamentos dentro de las organizaciones para implementar los principios de manera eficaz. A continuación se presenta una descripción general de las prácticas comunes: [20]

Fregadero de cocina, también conocido como “Todo SRE”

Kitchen Sink se refiere al alcance expansivo y a menudo ilimitado de servicios y flujos de trabajo que supervisan los equipos de SRE. A diferencia de los roles tradicionales con límites claramente definidos, los SRE tienen varias responsabilidades, que incluyen todo, desde el diseño del sistema y la optimización del rendimiento hasta la gestión y automatización de incidentes. Este enfoque holístico permite a los SRE abordar muchos desafíos, asegurando que los sistemas funcionen de manera eficiente y evolucionen en respuesta a las demandas y complejidades cambiantes. Al adoptar esta perspectiva integral, los equipos de SRE pueden fomentar una cultura de mejora continua y resiliencia, mejorando en última instancia la confiabilidad general de los servicios.

Infraestructura

Los equipos de SRE de infraestructura se centran en mantener y mejorar la confiabilidad de los sistemas clave que respaldan los flujos de trabajo de otros equipos. Si bien a veces colaboran con los equipos de ingeniería de plataformas, su principal responsabilidad es garantizar el tiempo de actividad, el rendimiento y la eficiencia. Los equipos de plataformas, por otro lado, desarrollan principalmente el software y los sistemas que se utilizan en toda la organización. Si bien la confiabilidad es un objetivo para ambos, los equipos de plataformas priorizan la creación y el mantenimiento de las herramientas y los servicios que utilizan las partes interesadas internas, mientras que los equipos de SRE de infraestructura tienen la tarea de garantizar que esos sistemas funcionen sin problemas y cumplan con los estándares de confiabilidad.

Herramientas

Los equipos utilizan una variedad de herramientas para medir, mantener y mejorar la confiabilidad del sistema. Estas herramientas desempeñan un papel crucial en la supervisión del rendimiento, la identificación de problemas y la facilitación del mantenimiento proactivo. Por ejemplo, Nagios Core se utiliza ampliamente para la supervisión y alerta del sistema, mientras que Prometheus (software) es popular para recopilar y consultar métricas en entornos nativos de la nube. Al aprovechar estas herramientas, los equipos de SRE pueden garantizar un rendimiento óptimo y responder rápidamente a posibles desafíos de confiabilidad.

Producto o aplicación

Los equipos de SRE dedicados a productos o aplicaciones específicos son comunes en las grandes organizaciones. Estos equipos son responsables de garantizar la confiabilidad, la escalabilidad y el rendimiento de los servicios clave. En las empresas más grandes, es habitual tener varios equipos de SRE, cada uno de ellos centrado en diferentes productos o aplicaciones, lo que garantiza que cada área reciba atención especializada para cumplir con los objetivos de rendimiento y disponibilidad.

Incorporado

En un modelo integrado, los SRE individuales o pequeños pares de SRE se integran directamente en los equipos de ingeniería de software. Estos SRE trabajan en estrecha colaboración con los desarrolladores y aplican principios básicos de SRE, como la automatización, la supervisión y la respuesta a incidentes, directamente al ciclo de vida del desarrollo de software. Este enfoque ayuda a mejorar la confiabilidad y el rendimiento, al tiempo que fomenta la colaboración entre los SRE y los desarrolladores.

Consultante

Los equipos de consultoría de SRE se especializan en asesorar a las organizaciones sobre la implementación de los principios y prácticas de SRE. Estos equipos, que suelen estar compuestos por SRE experimentados con amplia experiencia en diversas implementaciones, brindan información valiosa y orientación adaptada a las necesidades específicas de la organización. Cuando trabajan directamente con los clientes, a estos SRE se los suele denominar "ingenieros de confiabilidad del cliente".

En las grandes organizaciones que han adoptado la SRE, es común un modelo híbrido. Este modelo incluye varias implementaciones, como varios equipos de SRE de productos y aplicaciones dedicados a abordar las necesidades de confiabilidad únicas de diferentes productos. Un equipo de SRE de infraestructura puede colaborar con un grupo de ingeniería de plataforma para lograr objetivos de confiabilidad compartidos para una plataforma unificada que admita todos los productos y aplicaciones.

Industria

Desde 2014, la organización USENIX ha organizado la conferencia anual SREcon, que reúne a ingenieros de confiabilidad de sitios de diversas industrias. Esta conferencia sirve como plataforma para que los profesionales compartan conocimientos, exploren las mejores prácticas y discutan las últimas tendencias en ingeniería de confiabilidad de sitios. [21]

Véase también

Referencias

  1. ^ ab "Evaluación de la posición de su equipo en el espectro de SRE". Blog de Google Cloud . Consultado el 26 de junio de 2021 .
  2. ^ ab Beyer, Betsy; Jones, Chris; Petoff, Jennifer; Murphy, Niall, eds. (2016). Ingeniería de confiabilidad del sitio: cómo Google ejecuta los sistemas de producción. Sebastopol, CA: O'Reilly Media . ISBN 978-1-4919-5118-7.OCLC 945577030  .
  3. ^ ab Vargo, Seth; Fong-Jones, Liz (1 de marzo de 2018). ¿Cuál es la diferencia entre DevOps y SRE? (La clase SRE implementa DevOps) (Video). Google .
  4. ^ ab "¿Qué es SRE? - Explicación de SRE - AWS". Amazon Web Services, Inc. Recuperado el 5 de noviembre de 2022 .
  5. ^ Hill, Patrick. "¿Te encanta DevOps? Espera a conocer SRE". Atlassian . Consultado el 17 de junio de 2021 .
  6. ^ "¿Qué es SRE?". Red Hat . Consultado el 17 de junio de 2021 .
  7. ^ Treynor, Ben (2014). "Claves para SRE". USENIX SREcon14 . Consultado el 17 de junio de 2021 .
  8. ^ abc Gossett, Stephen (1 de junio de 2020). "¿Qué es un ingeniero de confiabilidad del sitio? ¿Qué hace un SRE?". Built In . Consultado el 17 de junio de 2021 .
  9. ^ ab Fischer, Donald (2 de marzo de 2016). "¿Son los ingenieros de confiabilidad de sitios los próximos científicos de datos?". TechCrunch . Consultado el 17 de junio de 2021 .
  10. ^ "Ingeniería de confiabilidad del sitio". IBM Cloud Education . IBM . 12 de noviembre de 2020 . Consultado el 21 de junio de 2021 .
  11. ^ "Ingeniería de confiabilidad del sitio (SRE)". engineering.linkedin.com . Consultado el 12 de marzo de 2024 .
  12. ^ "SRE - Wikitecnología". wikitech.wikimedia.org . Consultado el 17 de octubre de 2021 .
  13. ^ Oehrlich, Eveline; Groll, Jayne; Garbani, Jean-Pierre (2021). Upskilling 2021 Enterprise DevOps SkillsReport (PDF) (Informe). DevOps Institute . Consultado el 17 de junio de 2021 .
  14. ^ Oehrlich, Eveline (4 de mayo de 2021). "Lo que se necesita para ser un ingeniero de confiabilidad del sitio". TechBeacon . Micro Focus . Consultado el 17 de junio de 2021 .
  15. ^ Treynor, Ben. "En conversación" (Entrevista). Entrevista realizada por Niall Murphy. Ingeniería de confiabilidad del sitio de Google.
  16. ^ ab Jones, Chris; Underwood, Todd; Nukala, Shylaja (junio de 2015). "Contratación de ingenieros de confiabilidad del sitio" (PDF) . ;login: . Vol. 40, no. 3. págs. 35–39 . Consultado el 17 de junio de 2021 .
  17. Dave Harrison (9 de octubre de 2018). «Entrevista con Betsy Beyer y Stephen Thorne de Google» . Consultado el 24 de julio de 2024 .
  18. ^ "Los 7 principios de la SRE [y cómo ponerlos en práctica]". www.blameless.com . Consultado el 26 de junio de 2021 .
  19. ^ "Aprenda sobre observabilidad | Honeycomb". docs.honeycomb.io . Consultado el 26 de junio de 2021 .
  20. ^ "SRE en Google: Cómo estructurar tu equipo de SRE". Blog de Google Cloud . Consultado el 26 de junio de 2021 .
  21. ^ "Usenix SREcon". USENIX . 2021 . Consultado el 17 de junio de 2021 .

Lectura adicional

Enlaces externos