Los 10 mejores proyectos de código abierto para SRE y DevOps

Los 10 mejores proyectos de código abierto para SRE y DevOps

Dado que la construcción de un sistema de software escalable y altamente confiable es el objetivo final de cada SRE (Ingeniería de confiabilidad del sitio), la industria actualmente tiene una gran cantidad de proyectos y productos de software de código abierto SRE / DevOps sobresalientes para que los usuarios aprendan y usen.

A continuación, le presentaremos los diez proyectos de código abierto más populares en el campo del monitoreo, implementación y mantenimiento. Podrán simular el tráfico de red y facilitar a los usuarios modelar eventos impredecibles (o mixtos) para desarrollar proyectos de sistemas confiables.

  1. Cloudprober
    para aplicaciones de seguimiento y monitoreo proactivo, Cloudprober puede ser antes de que el usuario encuentre varias fallas en el sitio. Por lo general, utiliza un modo de supervisión "activo" para comprobar si el componente de destino puede funcionar como se espera. Por ejemplo, ejecutará activamente varios "sondeos" para determinar si el front-end del sitio web puede acceder a su back-end. De manera similar, también puede ejecutar una sonda para verificar si el sistema local realmente puede acceder a la máquina virtual de destino en la nube. A través de este método de rastreo, los usuarios pueden adoptar un método de implementación independiente, rastrear fácilmente la configuración relevante de la aplicación y descubrir problemas potenciales en el sistema a tiempo.

rasgo:

Cloudprober no solo puede integrarse de forma nativa con pilas de monitoreo de código abierto como Prometheus y Grafana, sino que también puede exportar los resultados de varias detecciones.
A través de la función de descubrir automáticamente los objetivos del servicio en la nube, Cloudprober proporciona soporte listo para usar para GCE y Kubernetes, así como una configuración sencilla para otros servicios en la nube.
Para simplificar la implementación, Cloudprober está completamente escrito en Go y compilado en un archivo binario estático. Se puede implementar rápidamente a través de varios contenedores de Docker. Debido a la función de descubrimiento automático, Cloudprober no solo puede completar la mayoría de las operaciones de actualización, sino que tampoco es necesario volver a implementarlo ni configurarlo.
El archivo de imagen Docker de Cloudprober es relativamente pequeño y solo contiene un archivo binario compilado estáticamente. Al mismo tiempo, solo necesita una pequeña cantidad de CPU y RAM cuando se ejecuta una gran cantidad de sondas.

Fuente de la imagen: https: //github.com/google/cloudprober

  1. Cloud Operations Sandbox (Alpha) es
    una plataforma de código abierto. Cloud Operations Sandbox permite a los usuarios comprender las prácticas de la ingeniería de confiabilidad del servicio de Google y usar Ops Management (anteriormente conocido como Stackdriver) para administrar sus sistemas en la nube. Obviamente, requiere que los usuarios tengan una cuenta de servicio en la nube de Google para poder utilizar varios microservicios nativos basados ​​en Hipster Shop.

rasgo:

Proporcione aplicaciones y programas de demostración basados ​​en un diseño de arquitectura de microservicio nativo de la nube.
A través del procesamiento de scripts, implementación de servicios con un solo clic en la plataforma en la nube de Google.
Su servicio Demo puede generar generadores de carga, que son componentes que simulan el tráfico.

Fuente de la imagen: https://github.com/GoogleCloudPlatform/cloud-ops-sandbox

  1. Version Checker for Kubernetes es
    una herramienta de Kubernetes que permite a los usuarios observar la versión de la imagen que se ejecuta en el clúster. Al mismo tiempo, la herramienta también permite a los usuarios ver la versión reflejada actual en un formato de tabla en el panel de Grafana.

rasgo:

Capaz de configurar varios centros de registro espejo autohospedados a la vez.
La información de la versión se puede utilizar como un indicador relevante de Prometheus.
Admite centros de registro espejo como ACR, DockerHub y ECR.

Fuente de la imagen: https://github.com/jetstack/version-checker

  1. Istio
    como un marco abierto, puede usarse para fusionar microservicios de Istio, servicio de micro transferencia para monitorear el flujo de implementación de la estrategia y, de manera estandarizada, resume varios datos de telemetría (datos de telemetría). El plano de control de Istio puede proporcionar una capa de abstracción para la gestión de clústeres (como Kubernetes) en la plataforma subyacente.

rasgo:

Puede proporcionar equilibrio de carga automatizado para comunicaciones HTTP, gRPC, WebSocket y TCP.
Varios comportamientos de tráfico pueden ser un control detallado mediante reglas de enrutamiento enriquecidas, reintentos, conmutación por error e inyección de fallas.
Proporciona una capa de políticas y una configuración de API integrables, y admite el control de acceso, la limitación de velocidad y las cuotas.
Proporcione automáticamente varios indicadores, registros y seguimiento de todo el tráfico dentro del grupo, así como en la entrada y salida del grupo.
A través de una autenticación y autorización sólidas, se realiza una comunicación segura de servicio a servicio en el clúster.

Fuente de la imagen: https://istio.io/

  1. Checkov
    Checkov es una herramienta de verificación de código estático de tipo Infraestructura como código. No solo escanea infraestructuras en la nube como Terraform, Cloud Details, Cubanet, Serverless y ARM Models, sino que también detecta errores de configuración en su seguridad y cumplimiento.

rasgo:

Hay más de 400 reglas integradas que cubren la protección y las prácticas de seguridad para AWS, Azure y Google Cloud.
Puede monitorear el desarrollo, mantenimiento y actualización de IaaS, PaaS o SaaS administrados por Terraform mediante la evaluación de varias configuraciones de Terraform Provider.
Puede detectar credenciales de AWS en datos de usuario de EC2, variables de contexto de Lambda y proveedores de Terraform.

Fuente de la imagen: https://www.checkov.io/

  1. Litmus
    Litmus es un conjunto de herramientas basado en el modelado de ingeniería del caos nativo de la nube. Litmus proporciona varias herramientas para coordinar la situación diversa en Kubernetes para ayudar a SRE (Ingeniero de confiabilidad del sitio web) a encontrar vulnerabilidades en su implementación. En otras palabras, SRE primero usará Litmus para realizar pruebas de caos en el área de preparación, y luego lo usará para encontrar fallas y vulnerabilidades durante el proceso de desarrollo, y luego implementará soluciones para mejorar la robustez del sistema.

rasgo:

Los desarrolladores pueden ejecutar pruebas de caos durante el desarrollo de aplicaciones como una extensión de las pruebas unitarias o de integración.
Cuando la aplicación encuentra una ruta de falla en la canalización, el constructor de la canalización de CI (integración continua) puede ejecutar una prueba de caos para encontrar el error.

Fuente de la imagen: https://github.com/litmuschaos/litmus

  1. Locust
    Locust es una aplicación de prueba de rendimiento flexible, con secuencias de comandos y fácil de usar. Puede usar código Python estándar para definir el comportamiento del usuario sin usar una interfaz de usuario compleja (interfaz de usuario) o lenguajes específicos del dominio. Esto hace que Locust sea extensible y amigable para los desarrolladores.

rasgo:

Locust tiene las características de distribución y escalabilidad, y los usuarios pueden comenzar a usarlo fácilmente.
La interfaz de usuario basada en web puede mostrar el progreso en tiempo real.
Con modificaciones menores, puede probar una variedad de sistemas.

Fuente de la imagen: https://github.com/locustio/locust

  1. Prometheus
    como proyecto de Cloud Native Computing Foundation, Prometheus se puede utilizar para monitorear una variedad de sistemas y servicios. Puede extraer varios indicadores del objetivo configurado en un momento específico, probar diferentes reglas y mostrar los resultados. Si encuentra alguna violación de las condiciones especificadas, inmediatamente activará una notificación.

rasgo:

Proporcione un modelo de datos multidimensional (incluidas las series de tiempo definidas por nombres de métricas y conjuntos de clave / valor).
Descubra el objetivo mediante el descubrimiento de servicios o la configuración estática.
No depende del almacenamiento distribuido y un solo nodo de servidor tiene autonomía.
Utilice un lenguaje de consulta potente y flexible, PromQL.

Fuente de la imagen: https://github.com/prometheus/prometheus

  1. Kube-monkey
    Kube-monkey es una implementación de clúster de Kubernetes del Chaos Monkey de Netflix (https://netflix.github.io/chaosmonkey/). Ayuda en la creación y verificación de recursos sólidos mediante la eliminación aleatoria de pods de Kubernetes.

rasgo:

Kube-monkey no solo se puede habilitar a pedido, sino que también se puede usar para terminar pods solo para usuarios de Kubernetes (k8s).
Varias funciones que se pueden personalizar bajo demanda.

Fuente de la imagen: https://www.slideshare.net/arungupta1/chaos-engineering-with-kubernetes

  1. PowerfulSeal
    PowerfulSeal puede inyectar fallas en el clúster de Kubernetes para ayudar a los usuarios a identificar la causa raíz del problema lo más rápido posible. Al mismo tiempo, puede crear un esquema de experimento caótico con una descripción completa.

rasgo:

Compatible con Kubernetes, OpenStack, AWS, Azure, GCP y hosts locales.
Se puede conectar con Prometheus y Datadog (https://www.datadoghq.com/) para recopilar indicadores relevantes.
Permita que los usuarios utilicen varios modos y personalicen varios casos de uso.

Fuente de la imagen: https://github.com/powerfulseal/powerfulseal

Resumen
A medida que la arquitectura de microservicios continúa ocupando una posición dominante en el campo de la computación en la nube, a menudo necesitamos usar herramientas confiables para monitorear instancias y solucionar fallas en ejecución de manera oportuna. La mayor ventaja de la tecnología de código abierto proviene de la escalabilidad. Puede agregar varias funciones a la herramienta según sea necesario para adaptarse mejor a la arquitectura personalizada. En vista de los diez tipos de proyectos de código abierto presentados anteriormente, existen numerosos documentos de respaldo y comunidades de usuarios, que puede elegir de acuerdo con el proyecto real.

Título original: Los 10 mejores proyectos de código abierto para SRE y DevOps, Autor: Nir Sharma

[Traducción de 51CTO, indique el traductor original y la fuente para la reimpresión en el sitio del socio como 51CTO.com]

【Selección del editor】

Video tutorial de explicación del sistema de archivos de red NFS serie 2 de arquitectura de clúster
kubeadm implementa el clúster K8S y usa containerd como tiempo de ejecución de contenedor @Developer
: ¿Cómo promover una comunicación eficiente? ¡Eche un vistazo a AppGallery Connect!
En el futuro del almacenamiento de big data, el desarrollo de la tecnología de ahorro de energía se ha vuelto solo necesario
. 7 herramientas de Python adecuadas para principiantes, realmente buenas

Supongo que te gusta

Origin blog.51cto.com/15144514/2677723
Recomendado
Clasificación