Descripción general
Go ayuda a las empresas a automatizarse y escalar
Los equipos de Operaciones de Desarrollo (DevOps) ayudan a las organizaciones de ingeniería a automatizar tareas y mejorar su proceso de integración continua, entregas y despliegues continuos (CI/CD). DevOps puede derribar los silos de desarrollo e implementar herramientas y automatización para mejorar el desarrollo, la despliegue y el soporte de software.
Site Reliability Engineering (SRE) nació en Google para hacer que los "sitios a gran escala" de la empresa sean más confiables, eficientes y escalables, escribe Silvia Fressard, consultora independiente de DevOps. "Y las prácticas que desarrollaron respondieron tan bien a las necesidades de Google que otras grandes empresas tecnológicas, como Amazon y Netflix, también las adoptaron". SRE requiere una combinación de habilidades de desarrollo y operaciones, y “empodera a los desarrolladores de software ser dueño del funcionamiento diario continuo de sus aplicaciones en producción”.
Go sirve a sus dos hermanos, DevOps y SRE, desde sus tiempos de compilación rápidos y su sintaxis sencilla hasta su soporte de seguridad y confiabilidad. Las características de simultaneidad y redes de Go también lo hacen ideal para herramientas que administran la implementación en la nube, lo que admite fácilmente la automatización y, al mismo tiempo, aumenta la velocidad y la capacidad de mantenimiento del código a medida que la infraestructura de desarrollo crece con el tiempo.
Los equipos de DevOps/SRE escriben software que va desde pequeños scripts hasta interfaces de línea de comandos (CLI), pasando por servicios y automatización complejos, y el conjunto de funciones de Go tiene beneficios para cada situación.
Beneficios clave
Crea fácilmente pequeños scripts con la sólida biblioteca estándar y el tipado estática de Go.
Los rápidos tiempos de construcción e inicio de Go. La extensa biblioteca estándar de Go, que incluye paquetes para necesidades comunes como HTTP, E/S de archivos, hora, expresiones regulares, exec y formatos JSON/CSV, permite a DevOps/SRE acceder directamente a su lógica empresarial. Además, el sistema de tipos estáticos de Go y el manejo explícito de errores hacen que incluso los scripts pequeños sean más sólidos.
Despliega CLIs rápidamente con los rápidos tiempos de compilación de Go
Cada ingeniero de confiabilidad del sitio ha escrito scripts de "uso único" que se convirtieron en CLI utilizados por docenas de otros ingenieros todos los días. Y los pequeños scripts de automatización de implementación se convierten en servicios de gestión de implementación. Con Go, DevOps/SRE están en una excelente posición para tener éxito cuando el alcance del software inevitablemente aumenta. Comenzar con Go lo coloca en una excelente posición para tener éxito cuando eso suceda.
Escala y mantén aplicaciones más grandes con el bajo consumo de memoria y el generador de documentación de Go
El recolector de basura de Go significa que los equipos de DevOps/SRE no tienen que preocuparse por la administración de la memoria. Y el generador automático de documentación de Go (godoc) hace que el código se autodocumente, lo que reduce los gastos de mantenimiento y establece las mejores prácticas desde el principio.
Usuarios destacados
Cliente | Breve introducción | Proyectos usando go |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Comienza
Libros Go sobre DevOps y SRE
-
Programación Go para Operaciones de Red
-
Go Blueprints de Programación
-
Go en Acción
-
El lenguaje de programación Go en Español (Golang)
Monitoreo y rastreo
-
open-telemetry/opentelemetry-go
API e instrumentación neutrales para el proveedor para monitoreo y seguimiento distribuido
-
jaegertracing/jaeger-client-go
Un sistema de rastreo distribuido de código abierto desarrollado por formatos Uber
-
grafana/grafana
Una plataforma de código abierto para monitoreo y observabilidad
-
istio/istio
Una malla de servicios de código abierto y una plataforma integrable
Bibliotecas CLI
-
spf13/cobra
Una biblioteca para crear potentes aplicaciones CLI modernas y un programa para generar aplicaciones y aplicaciones CLI en Go
-
spf13/viper
Una solución de configuración completa para aplicaciones Go, diseñada para funcionar dentro de una aplicación para manejar las necesidades y formatos de configuración
-
urfave/cli
Un framework mínimo para crear y organizar aplicaciones Go de línea de comandos
Otros proyectos
-
golang-migrate/migrate
Una herramienta de migración de bases de datos escrita en Go