Una forma rentable de implementaciones en la nube


Tiempo de lectura estimado: 2 minutos

Puede resultar difícil encontrar un ingeniero de computer software que no sepa &#39Hacer&#39 utilidad. «Marca GNU» es una herramienta que controla la generación de ejecutables y otras cosas relacionadas con la construcción del código de la aplicación.

Capacidades de &#39Hacer&#39 Hay muchos que van desde la simple compilación e instalación de código hasta la recopilación de todas las dependencias de una aplicación. Está tan bien diseñado que incluso podemos usarlo para implementar la canalización de implementación para su solución. Veamos cómo podemos lograrlo.

Una de nuestras necesidades recientes fue automatizar la implementación de nuestros servicios en la nube. Dado que nuestro sistema es fundamental para muchos otros productos y servicios, terminamos necesitando múltiples entornos para su uso con fines distintos, como pruebas funcionales, pruebas de rendimiento, integración, etc.

Para satisfacer esta demanda de un entorno dedicado, pensamos en utilizar &#39Hacer&#39 utilidad en lugar de cualquier otra herramienta específica de la nube. Y estamos muy contentos de que nuestra elección de tecnología haya funcionado bien. Permítanos guiarlo a través de los detalles.

Habíamos decidido mantener al mínimo el número de nuevas herramientas y tecnologías y ceñirnos únicamente a las tecnologías de código abierto, ya que mantener el costo de operación al mínimo era una de las limitaciones. Ya estábamos usando la herramienta «Crear» para crear nuestros componentes escritos en &#39Vamos&#39 idioma. El siguiente paso para nosotros fue usarlo para activar la operación de construcción de la imagen de la ventana acoplable, enviar la imagen al repositorio privado y para lanzar / crear todos los servicios en la nube necesarios para el funcionamiento de nuestros servicios.

Makefile La regla de destino nos ayudó a dividir todo el flujo en módulos independientes más pequeños. Escribimos reglas de destino separadas para cada paso, como crear una imagen de la ventana acoplable, empujar la imagen y lanzar clústeres, and many others.

Compilación de código y creación de imágenes de Docker

construir:

@echo «Compilación de código …»

# Los comandos de construcción específicos del idioma van aquí.

docker-build: construir

@echo «Construyendo imagen acoplable …»

$ (DOCKERBUILD). -t $ (ENV) $ (BINARY_Name) -f $ (PROJBASE) / Dockerfile

Empujar la imagen de la ventana acoplable al repositorio privado

docker-force:

@echo «Empujando la imagen de la ventana acoplable al centro de la nube …»

# Contiene comandos específicos del proveedor de servicios en la nube para enviar la imagen de la ventana acoplable al repositorio respectivo

Implementar la aplicación en la nube respectiva

desplegar:

@echo «Implementación de la aplicación en el entorno …»

# Contiene comandos específicos del proveedor de servicios en la nube para implementar la aplicación en el clúster.

# Por ejemplo, para la nube de AWS, esto contendrá un comando de formación de nube para crear una pila.

# Asimismo, Terraform también se puede utilizar para implementar la aplicación en la nube respectiva.

Iniciar la creación de la tabla

crear mesa:

# Contiene la creación de todas las tablas de aplicación.

@sh despliegue / table_generation.sh

Iniciar la implementación de un extremo a otro

e2e-deploy: docker-create docker-press create-table deploy

Eso es. ¿No es un enfoque uncomplicated pero efectivo para activar la implementación de aplicaciones? Además, le permite a uno lograr la implementación de aplicaciones en cualquier nube de una manera rentable. Y es una forma de implementación independiente de la nube, por lo que nada está estrechamente acoplado.

¿Tienes algo que agregar a esta historia? Compártelo en el



Enlace a la noticia initial