loader

SaveinCloud Jelastic PaaS es una plataforma en la nube verdaderamente multilinguista que actualmente proporciona entornos Java, PHP, Python, Ruby, Node.js, .NET y, a partir de ahora, Golang para ejecutar proyectos de todos los tamaños y naturalezas diversas.

En este artículo, aprenderás sobre las características distintivas de Go hosting y se te presentarán las posibilidades relacionadas con Go en SaveinCloud Jelastic PaaS.

Entornos de alojamiento Ir

Para alojar su aplicación Go, necesita crear el entorno apropiado usando el Asistente de Topología Jelastic .

Cambie a la pestaña Mecanismo Go , añada Golang como su servidor de aplicaciones y cualquier otra pila de software necesaria para su proyecto (por ejemplo, balanceadores de carga, bases de datos o almacenamiento compartido). Si es necesario, ajusta el número de nodos del entorno, los límites de nubes para la RAM y la CPU, adjunta las IPs públicas, etc.

Nota: Todas las instancias en Jelastic son contenedores completamente aislados , que se distribuyen uniformemente en los nodos hardware disponibles (servidores físicos o VMs) usando reglas automáticas anti-afinidad.  Esto elimina el riesgo de tiempo de inactividad de la aplicación, es decir, garantiza una alta disponibilidad .

Para más información sobre la creación del medio ambiente, véase el documento Create Environment .

Versiones Golang en SaveinCloud

Estos días, las siguientes versiones del modelo de pila de Golang están soportadas por SaveinCloud Jelastic:

  • golang 1.9.1
  • golang 1.9.2
  • golang 1.9.4
  • golang 1.10

Puede elegir la versión preferida durante la creación del entorno y cambiarla más tarde a través de la reimplantación del contenedor . Con esto, se guardarán todos los datos personalizados dentro de los nodos, lo que, por ejemplo, permite actualizar fácilmente la versión del software a la nueva versión del modelo de pila.

Despliegue de la aplicación

Después de crear el entorno, puedes implantar tu proyecto Go en el repositorio Git (la implementación del archivo de la aplicación se llevará a cabo en la próxima versión de la plataforma).

Puede personalizar el proceso de aplicación proporcionando o ajustando las siguientes variables de contenedor :

  • GO_RUN – definir un nombre de archivo binario ejecutable (si no se especifica, el script de despliegue intentará localizar uno basado en el nombre del proyecto Git)
  • GOPATH – establecer la carpeta de despliegue ( /home/jelastic/ webapp , por defecto)
  • GO_BUILD_OPTIONS – proporciona opciones adicional para la operación de construcción ( -a , por defecto, para forzar la recreación de los paquetes que ya están actualizados)
  • GO_RUN_OPTIONS – proporciona opciones adicionales para la operación de ejecución

Durante la implementación, Jelastic PaaS realiza automáticamente los siguientes pasos:

  • Revisa la URL de Git proporcionada para obtener un enlace al proyecto Go
  • descargar el paquete con todas las dependencias usando el comando ir get
    • en caso de error, ejecuta la descarga como para el proyecto común Git e intenta de nuevo obtener las dependencias Go
  • construir el proyecto con el comando ir a construir (usando las opciones adicionales especificadas en la variable GO_BUILD_OPTIONS )
  • ejecutar el binario definido por la variable GO_RUN con el comando go run (usando las opciones adicionales especificadas en GO_RUN_OPTIONS )

Después de un despliegue exitoso, el proyecto Go se encuentra en el directorio configurado con la variable GOPATH . Por lo tanto, el espacio de trabajodoespacio de trabajo se basa en los requisitos de documentación oficial.

Puede obtener más información sobre el despliegue de la aplicación Go a través de los documentos apropiados:

Gestión del dominio

Con Jelastic PaaS, puedes vincular fácilmente un nombre de dominio externo (personalizado) a tu aplicación Go para que se utilice en lugar del dominio del entorno predeterminado. Dependiendo del punto de entrada utilizado, hay dos opciones:

  • Redirección CNAME si se utiliza el Shared Load Balancer ; se recomienda para entornos dev y test
  • DNS Un registro si se usa public IP ; puede manejar una gran carga de tráfico y es adecuado para entornos de producción

Además, puedes fácilmente cambiar de dominio para redirigir el tráfico de un entorno a otro (por ejemplo, para cambiar a la última versión de la aplicación sin tiempo de inactividad).

Tip: Para el acceso a través de la IP pública, el tráfico puede ser redirigido a otro entorno con la ayuda del método API SwapExtIps(también disponible a través de CLI ).

Escala vertical automática

El dimensionamiento vertical automático está garantizado por la capacidad de Jelastic de entregar dinámicamente recursos (RAM y CPU) a un servidor dentro de límites predefinidos según sus demandas actuales, sin necesidad de intervención manual. Esta característica asegura que usted nunca pague de más por recursos no utilizados y le ahorra tiempo al eliminar la necesidad de manipular los ajustes relacionados con la carga o los cambios de arquitectura.

El proceso de escalada se maneja por plataforma automáticamente, sólo necesitas especificar el límite inferior y superior de cloudlet (cada uno es igual a 128 MiB de RAM y 400 MHz de CPU) para tu servidor Go a través del asistente de topología.

La aplicación funcionará dentro de estos límites con un consumo de recursos reducido cuando la carga sea baja o aumentado cuando la carga sea alta. Por lo tanto, sólo se paga por los recursos que realmente se consumen. Para más información, véase la documentación de dimensionamiento vertical automático.

Handscale Horizontal

Se pueden añadir fácilmente servidores Golang adicionales a través del asistente de topología durante la creación o el ajuste del entorno. Sólo tienes que hacer clic en el botón ” + ” en la sección Escala horizontal y añadir el número necesario de instancias.

El número máximo de servidores del mismo tipo en una sola capa de entorno depende de ciertas configuraciones del proveedor de hospedaje (normalmente este límite representa 16 nodos y puede ampliarse enviando la correspondiente solicitud de apoyo).

Además, puede observar que con el tamaño del servidor Golang, el nodo de balanceo de carga se añade automáticamente a la topología del entorno (necesario para la correcta distribución de las solicitudes). Encuentra más detalles sobre el manual de dimensionamiento horizontal en la documentación.

Escala horizontal automática

La escala horizontal automática se implementa mediante accionamientos ajustables, que permiten aumentar o disminuir el número de nodos debido a la carga de la aplicación. Para configurar el escalamiento automático, abra el entorno Configuraciones ;Monitoreo selección Escalamiento automático horizontal y haga clic en el botón Agregar .

Aquí se pueden configurar los disparadores para pilas y recursos específicos ( CPU , RAM , Net , Disk ) ajustando las condiciones de escalado.
Aprende más sobre el dimensionamiento horizontal automático en el documento correspondiente.

Además, hay una serie de otras características y funcionalidades proporcionadas por el alojamiento de Jelastic Go, entre ellas:

  • Costumbre o Jelastic SSL
  • IPv4 público e IPv6
  • Amplia elección de bases de datos gestionadas
  • Fuegos de contención, terminales y aislamiento ambiental
  • UCI amigable y acceso directo a SSH para la gestión
  • API abierta y Cloud Scripting para la automatización
  • Modelo de precios de pago según el uso
  • Funcionalidad de colaboración para el trabajo en equipo
  • Distribución multi-nublado

El alojamiento en la nube de Go se lanza listo para ejecutar entornos de desarrollo, prueba y producción. La inscripción está disponible en Virtuozzo.