Herramientas de despliegue de producción [cerrado]

12

De manera similar al software de construcción, las herramientas deben usarse para implementar actualizaciones del servidor de producción (ya sea DB, sitio web, configuraciones de enrutador, etc.). El uso de herramientas reduce ciertos tipos de errores humanos (pasos omitidos, por ejemplo).

  • ¿Qué herramientas están disponibles para la implementación de software / configuración / etc. (ya sea gratuita o comercial)?

Por favor

  • Listar una sola herramienta por publicación
  • Qué parte del proceso de implementación realiza
  • Ventajas o desventajas particulares del uso de esta herramienta (es decir, solo .NET, admite todas las plataformas LAMP / WAMP, etc.)

No agregue una herramienta que ya existe: agregue comentarios si tiene algo en particular que decir sobre una respuesta dada.

-Adán

Adam Davis
fuente
Esta pregunta se ha cerrado ya que técnicamente es una "pregunta de compras" , sin embargo, gran parte de la información que proporciona sigue siendo válida, y es un excelente punto de partida para investigar las herramientas de administración de la implementación y la configuración.
voretaq7

Respuestas:

10

Puppet es una herramienta más recientemente escrita, escrita en Ruby, que está ganando terreno contra la cfengine.

pjz
fuente
1
Esta 'respuesta' no responde la pregunta como solicitó el interlocutor.
jtimberman
Estamos bastante contentos con nuestro uso de Puppet: nos ha permitido realizar todo el proceso del sistema de ejecución de imágenes que más requiere de las herramientas de automatización / implementación, incluida la migración de nuestros métodos de implementación personalizados y manuales. No puedo recomendarlo lo suficiente. La desventaja es que (todavía) no maneja cuadros de ventanas, pero todas las variantes * nix están bien cubiertas.
Mike Pountney el
4

cfengine es el ejemplo canónico en el mundo de Unix.

pjz
fuente
2
También forma parte de las Utilidades de administración de sistemas distribuidos de HP (DSAU) y viene preconfigurado para el uso básico de HP-UX.
Mei
4

Realmente me gusta cfengine 3

Básicamente puede encargarse de cada parte del proceso de implementación, dada la configuración correcta: copie archivos desde una ubicación, use automáticamente el sistema de empaquetado (como apt, yum) para instalar / actualizar el paquete, iniciar / detener servicios, verificar archivos / páginas contenido.

Lo uso para instalar (o verificar la existencia de) paquetes, y como soy más un tipo Java, cuando necesito implementar algo, descargo el archivo desde un punto central, detengo el servicio Tomcat, copio el archivo en Tomcat directorio, inicie el servicio y compruebe que se puede encontrar el valor correcto en una página servida específica. Sí, cfengine lo hace casi solo.

Ventajas:

  • Funciona (esa es una característica importante).
  • Existe tanto en Linux / Unix como en Windows (nativo)
  • Uso de recursos pequeños

Desventajas

  • Un poco difícil de usar al principio, los ejemplos son demasiado completos, pero están apareciendo tutoriales por todas partes
Nicolas Charles
fuente
3

Aunque es principalmente una herramienta de desarrollador, Capistrano también es una buena opción.

No estoy seguro de qué tan bien es compatible con las plataformas Windows, aparte de lo que parece funcionar. Linux / OSX son totalmente compatibles.

Puede usarlo para realizar prácticamente cualquier operación en sus servidores de implementación, desde actualizaciones de archivos hasta copias de seguridad de bases de datos y gestión de usuarios.

Junto con un repositorio de git, obtienes administración de cambios e implementaciones rápidas y fáciles.

Ivan
fuente
2

Herramienta: Chef es una herramienta nueva lanzada en enero por Opscode . Está escrito en Ruby y su lenguaje de configuración es un DSL de Ruby puro. Es una herramienta joven en desarrollo activo, pero varias empresas la están utilizando en la producción.

Chef puede administrar toda su infraestructura, desde la configuración de los servicios de arranque y arranque de PXE, hasta la implementación de aplicaciones y la administración de usuarios. Es muy flexible, extensible y potente.

Las ventajas específicas son el DSL Ruby puro, una API RESTful , datos de nodos de búsqueda y una gran cantidad de libros de cocina listos para usar. Debido al DSL de Ruby, se pueden usar estructuras de datos complejas y lógica dentro de las recetas, y junto con la API RESTful, hacen de Chef una herramienta poderosa para programar una infraestructura.

jtimberman
fuente
2

Jugamos con Fabric en este momento, es bastante simple pero en la línea de Capistrano usando Python.

Sleepyjames
fuente
1

Para las migraciones de MS SQL Server, sp_help_revlogin es invaluable para la migración de usuarios con el fin de llevar usuarios / SID / pwds al nuevo cuadro.

squillman
fuente
1

Para ventanas: SCCM

duffbeer703
fuente
1

Usamos el conjunto de herramientas Shavlik para manejar parches, configuración y auditoría.

No puedo pensar en ningún pros o contras en particular: funciona bastante bien y no hemos tenido ningún problema real que pueda recordar. (Eso es lo mejor que puedo decir al respecto: funciona lo suficientemente bien como para no tener que pensarlo :)

gharper
fuente
1

Me gustaría dar un gran +1 a Capistrano y Chef. Ambos son muy buenos para escribir tareas específicas de implementación y administración sobre ssh. La marioneta también es interesante, pero el viejo adagio generalmente es cierto "Jack of all trades, master of none". Su mejor opción sería encontrar la herramienta más mínima para los trabajos que desea realizar y ejecutarla.

Matty B
fuente