Inicio
Topics
SRE
La ingeniería de fiabilidad del sitio (SRE) utiliza la ingeniería de software para automatizar tareas de operaciones informáticas como la gestión de sistemas de producción, la gestión de cambios, la respuesta a incidentes e incluso la respuesta a emergencias que, de otro modo, realizarían manualmente los administradores de sistemas (sysadmins).
El principio en el que se basa la SRE es que el uso de código de software para automatizar la supervisión de grandes sistemas de software es una estrategia más escalable y sostenible que la intervención manual, especialmente a medida que esos sistemas se amplían o migran a la nube.
La SRE también puede reducir o eliminar gran parte de la fricción natural entre los equipos de desarrollo, ya que algunos equipos quieren lanzar continuamente software nuevo o actualizado a producción. Sin embargo, los equipos de operaciones no quieren lanzar ningún tipo de actualización o software nuevo sin estar seguros de que no causará interrupciones u otros problemas operativos. Como resultado, aunque no es estrictamente necesario para DevOps, la SRE se alinea estrechamente con los principios de DevOps y puede desempeñar un papel importante en el éxito de DevOps.
El concepto de SRE se atribuye a Ben Treynor Sloss, vicepresidente de ingeniería de Google, autor de la célebre frase: "la SRE es lo que ocurre cuando le pides a un ingeniero de software que diseñe un equipo de operaciones".
Vea un análisis de costes y beneficios de IBM Robotic Process Automation (RPA).
La ingeniería de fiabilidad del sitio (SRE) utiliza la ingeniería de software para automatizar tareas de operaciones informáticas (por ejemplo, la gestión de sistemas de producción, la gestión de cambios, la respuesta a incidentes e incluso la respuesta a emergencias) que, de otro modo, realizarían manualmente los administradores de sistemas (sysadmins).
El principio en el que se basa la SRE es que el uso de código de software para automatizar la supervisión de grandes sistemas de software es una estrategia más escalable y sostenible que la intervención manual, especialmente a medida que esos sistemas se amplían o migran a la nube.
La SRE también puede reducir o eliminar gran parte de la fricción natural entre los equipos de desarrollo, que quieren lanzar continuamente software nuevo o actualizado a producción, y los equipos de operaciones, que no quieren lanzar ningún tipo de actualización o software nuevo sin estar absolutamente seguros de que no causará interrupciones u otros problemas operativos. Como resultado, aunque no es estrictamente necesario para DevOps, la SRE se alinea estrechamente con los principios de DevOps y puede desempeñar un papel importante en el éxito de DevOps.
El concepto de SRE se atribuye a Ben Treynor Sloss, vicepresidente de ingeniería de Google, autor de la célebre frase: "la SRE es lo que ocurre cuando le pides a un ingeniero de software que diseñe un equipo de operaciones".
Un ingeniero de fiabilidad del sitio es un desarrollador de software con experiencia en operaciones informáticas, alguien que sabe programar y que entiende cómo garantizar el funcionamiento mínimo en un entorno informático a gran escala.
Los ingenieros de fiabilidad del sitio pasan la mitad del tiempo realizando operaciones manuales de TI y tareas de administración del sistema: analizando registros, ajustando el rendimiento, aplicando parches, probando entornos de producción, respondiendo a incidentes, realizando análisis post mortem... El resto del tiempo, desarrollan código que automatiza esas tareas. Su objetivo es dedicar menos tiempo a las primeras y más a las segundas.
A un nivel superior, el equipo de SRE sirve de puente entre los equipos de desarrollo y los de operaciones, permitiendo al equipo de desarrollo poner en producción nuevo software o nuevas características lo antes posible. Lo hacen a la vez que garantizan un nivel aceptable acordado de rendimiento de las operaciones de TI y de riesgo de error en línea con los acuerdos de nivel de servicio (SLA) que la organización tiene con sus clientes. Basándose en su experiencia y en una gran cantidad de datos sobre operaciones, el equipo de SRE ayuda a los equipos de desarrollo y operaciones a establecer
El presupuesto de errores es la herramienta que utiliza un equipo de SRE para conciliar automáticamente la fiabilidad del servicio de una empresa con su ritmo de desarrollo e innovación de software.
Supongamos que el SLA de una empresa promete un tiempo de actividad del 99,99 % (un objetivo de disponibilidad habitual) al año. Eso significa que el presupuesto mensual de errores (la cantidad total de tiempo de inactividad permitido sin consecuencias contractuales para un mes determinado) es de unos 4 minutos y 23 segundos.
Supongamos que el equipo de desarrollo quiere introducir nuevas características o mejoras en el sistema. Si el sistema funciona por debajo del presupuesto de errores, el equipo puede entregar las nuevas características. Si no, el equipo no puede entregar las nuevas características hasta que trabaje con el equipo de operaciones para reducir estos errores o interrupciones a un nivel aceptable.
De este modo, los presupuestos de errores ayudan a los equipos de desarrollo y de operaciones a
DevOps es una forma moderna de ofrecer aplicaciones de mayor calidad con mayor rapidez, automatizando el ciclo de vida de la entrega de software y dando a los equipos de desarrollo y operaciones más responsabilidad compartida y más participación en el trabajo de los demás.
Al igual que la SRE, DevOps hace que una empresa sea más ágil al equilibrar la necesidad de ofrecer más aplicaciones y cambios más rápidamente con la necesidad de evitar "romper" el entorno de producción. Y al igual que la SRE, DevOps pretende lograr este equilibrio estableciendo un riesgo aceptable de errores. De hecho, la SRE y DevOps parecen tan similares que algunos expertos dicen que son lo mismo, pero la mayoría ve las prácticas de SRE como excelentes formas de aplicar los principios de DevOps. Por ejemplo:
Principios de DevOps: reducir los silos organizativos, aprovechar las herramientas y la automatización.
Práctica de SRE: utilizar las mismas herramientas para automatizar y mejorar las operaciones que los desarrolladores utilizan para desarrollar y mejorar el software.
Principios de DevOps: aceptar el fracaso como algo normal, aplicar cambios graduales.
Práctica de SRE: utilizar presupuestos de errores para implementar continuamente nuevas características y funcionalidades dentro de unos niveles aceptables.
Principio de DevOps: medirlo todo.
Práctica de SRE: basar las decisiones de lanzamiento de nuevo software en las métricas de SLA.
Además de respaldar el éxito de DevOps, la ingeniería de fiabilidad del sitio puede ayudar a una empresa a
La migración de la TI tradicional y los centros de datos locales a entornos de nube híbrida es una de las principales razones por las que la empresa media genera de dos a tres veces más datos de operaciones cada año. La SRE se considera cada vez más crucial para aprovechar estos datos con el fin de automatizar la administración de sistemas, las operaciones y la respuesta a incidentes, así como para mejorar la fiabilidad de la empresa incluso a medida que el entorno de TI se vuelve más complejo.
Un enfoque de desarrollo nativo de la nube implementar (específicamente, la creación de aplicaciones como microservicios y su implementación en contenedores) puede simplificar el desarrollo, la implementación y la escalabilidad de las aplicaciones. No obstante, el desarrollo nativo de la nube también crea un entorno cada vez más distribuido que complica la administración, las operaciones y la gestión. Un equipo de SRE puede respaldar el rápido ritmo de innovación que permite un enfoque nativo de la nube y garantizar o mejorar la fiabilidad del sistema, sin aumentar la presión de las operaciones sobre los equipos de DevOps.
Automatice continuamente acciones cruciales en tiempo real y sin intervención humana que proporcionen de manera proactiva el uso más eficiente de los recursos de cálculo, de almacenamiento y de red a sus aplicaciones en cada capa de la pila.
Mejore la monitorización del rendimiento de sus aplicaciones para disponer del contexto necesario para resolver las incidencias con mayor rapidez.
Los servicios de ingeniería de plataformas de IBM Consulting incrementan la productividad de los equipos de entrega de software al permitir el autoservicio de la automatización de infraestructuras por parte de los desarrolladores.
Descubra cómo aplicar la IA y la automatización a las operaciones de TI puede ayudar a las SRE a garantizar la resiliencia y la solidez de las aplicaciones empresariales, así como a liberar tiempo y talento valiosos para apoyar la innovación.
Mejore sus habilidades para trabajar como SRE con formación y certificación de nivel profesional de IBM. Adquiera conocimientos con entornos y herramientas de IBM Cloud y practique ejercicios en laboratorios virtuales.
DevOps acelera la entrega de software de mayor calidad combinando y automatizando el trabajo de los equipos de desarrollo de software y operaciones de TI.
Las aplicaciones nativas de la nube se componen de microservicios, empaquetados e implementados en contenedores, y diseñados para ejecutarse en cualquier entorno de nube.
Kubernetes es una plataforma de orquestación de contenedores de código abierto que automatiza la implementación, la gestión y el escalado de aplicaciones.