Servidor Remoto y Compute Engine: la solución de google para máquinas virtuales

Google Compute Engine es similar en naturaleza y función a AWS de Amazon y Azure de Microsoft. Aunque Google ingresó al mercado de la computación en la nube más tarde que sus competidores. 

Y, aunque la entrada tardía puede haber sido un reto inicial, ya no es así; ya que Google ha alcanzado la paridad (e incluso superioridad) de características con sus competidores. 

La oferta de máquinas virtuales de Google, llamada Google Compute Engine, es tan sólida como una instancia de Amazon EC2 o Microsoft Azure. Si quieres conocer un poco más sobre ella, te lo contamos aquí. 

Compute Engine

Google Compute Engine es la oferta de máquinas virtuales bajo el modelo de infraestructura como servicio (IaaS) de Google. Una plataforma IaaS reemplaza o complementa los activos de infraestructura de red tradicionalmente en el sitio, como servidores y enrutadores, con productos basados ​​en la nube que realizan las mismas funciones. 

Compute Engine permite a los clientes utilizar poderosas máquinas virtuales en la nube como recursos del servidor en lugar de adquirir y administrar el hardware del servidor.

Los clientes pueden configurar y ejecutar una amplia variedad de características de máquinas virtuales. Google proporciona Linux y Windows como sistemas operativos para sus máquinas, aunque una opción de máquina personalizada significa poder ejecutar cualquier sistema operativo. 

El hardware virtual, y en algunos casos físico, agregado a la máquina ayuda a dictar su propósito. Por ejemplo, un servidor de aplicaciones web puede necesitar mucha RAM y CPU, pero no necesitas GPU.

Alternativamente, un servidor que trabaja en componentes de modelado o transmisión de medios puede usar gráficas o GPU configuradas. Es posible que un servidor de hosting para un sitio web simple, no necesite nada de esto, sino que opte por una cantidad media de RAM y potencia de CPU.

En pocas palabras, el conjunto de características de Google Compute Engine puede cumplir con los requisitos de virtualización de cualquier empresa. 

Beneficios de un servidor remoto

Los servidores de dispositivos o terminales (servidores en serie) son solo dispositivos para conectarse a cualquier dispositivo serie desde tu red Ethernet. Sin embargo, existe una diferencia principal entre un servidor de dispositivos y un servidor de terminales: los protocolos que se admiten.

Google Cloud Platform ofrece una serie de servicios que contrarrestan todos los problemas de contar con un servidor físico y aporta una serie de funcionalidades para trabajar en equipo y agilizar los procesos a través del cloud computing. Algunos ejemplos de esto son: 

  • Cloud Functions: es una solución informática asíncrona, liviana y basada en eventos que te permite crear funciones pequeñas de un solo propósito que responden a eventos en la nube sin la necesidad de administrar un servidor o un entorno de tiempo de ejecución.
  • Cloud Scheduler: Cloud Scheduler es un programador de trabajos con nivel empresarial totalmente administrado. Te permite programar prácticamente cualquier trabajo, incluidos lotes, trabajos de Big Data, operaciones de infraestructura en la nube y más. Puede automatizar todo, incluidos los reintentos en caso de falla para reducir el trabajo manual y la intervención. Cloud Scheduler incluso actúa como un panel único, lo que le permite administrar todas tus tareas de automatización desde un solo lugar.
  • Cloud Tasks: Cloud Tasks es un servicio completamente administrado que te permite administrar la ejecución, el envío y la entrega de una gran cantidad de tareas distribuidas. 
  • Eventarc: es un servicio completamente administrado para eventos en Google Cloud Platform. Eventarc conecta varios servicios de Google Cloud entre sí, lo que permite que los servicios de origen (por ejemplo, Cloud Storage) emitan eventos que se entregan a los servicios de destino (por ejemplo, Cloud Run o Cloud Functions).
Beneficios de tener un servidor remoto

Instalación de un escritorio remoto

El primer paso para usar Compute Engine de Google es hacer un proyecto. Todas las instancias y recursos se crean en ese proyecto. Las instancias y los recursos de un proyecto son exclusivos de este y no pueden ser utilizados por los recursos de otros proyectos. 

Sin embargo, los recursos de otros proyectos aún pueden comunicarse entre sí, a través de protocolos de comunicación de red estándar, pero no pueden administrarse juntos.

Características de la máquina virtual y tipos 

El tipo de máquina describe el hardware virtual adjunto a una instancia, incluidas la RAM y las CPU. También establece posibles limitaciones, como la cantidad máxima de discos persistentes, GPU y espacio en disco permitido. Hay dos tipos principales de máquinas: predefinidas y personalizadas.

Tipos de máquinas predefinidas

Los tipos de máquinas predefinidas son plantillas de máquinas virtuales preconfiguradas que se pueden usar para configurar tu máquina virtual. Google ha optimizado previamente las configuraciones y satisfacen la mayoría de las necesidades. También ha dividido los tipos de máquinas predefinidas en cuatro categorías que varían en propósito:

  • Estándar: equilibrado entre potencia de procesamiento y memoria. Se adapta a las necesidades de aplicación más comunes
  • High-Memory: el énfasis se pone en la memoria RAM  sobre la potencia de procesamiento para tareas que necesitan almacenamiento accesible sin disco rápidamente.
  • High-CPU:  para aplicaciones de alta intensidad que requieren procesamiento.
  • Núcleo compartido: Una sola CPU virtual, respaldada por una CPU física, que puede ejecutarse durante un período de tiempo. Estas máquinas no son para casos de uso que requieren un servidor continuo o una potencia significativa. 

La máquina micro de núcleo compartido también proporciona capacidad de ráfaga cuando la CPU virtual requiere más energía que el núcleo físico único. Este proceso es por un período corto e intermitente según la necesidad.

Tipos de máquinas personalizadas

Es posible configurar completamente el hardware virtual de forma manual para una instancia de Compute Engine. Los administradores pueden seleccionar la cantidad de CPU virtuales y la memoria asignada. 

Se requiere una determinada cantidad de memoria en función del número de CPU virtuales y viceversa. Se acostumbra a usar máquinas virtuales personalizadas solo para propósitos específicos que no cumplan con los tipos predefinidos.

GPU

Una GPU es para operaciones intensivas que requieren unidades de procesamiento dedicadas o procesamiento de gráficos. Esto incluye actividades como diseño asistido por computadora, modelado visual, modelado de datos y machine learning. 

Las instancias con GPU cargadas se cancelarán por la fuerza durante los eventos de mantenimiento de Google. Esto no se aplica a las instancias sin GPU que Google administra automáticamente sin tiempo de inactividad. 

Discos persistentes

Los discos persistentes son el tipo de almacenamiento más simple, y probablemente el más utilizado, para una instancia de máquina virtual estándar de Google Engine. Imitan la sensación y la funcionalidad de cualquier unidad de disco estándar que pueda conectar a un servidor.

En realidad, los recursos de discos persistentes amplían sus datos en varios volúmenes para garantizar la confiabilidad.

Los discos persistentes deben montarse en la máquina una vez creados. Una vez montado, la interacción con un disco persistente se siente como trabajar con un volumen normal. Compute Engine almacena los datos del disco independientemente de la instancia. 

El ciclo de vida de un disco persistente no está vinculado a una instancia en particular, lo que los hace flexibles y fáciles de migrar. 

En los discos persistentes también se cifran los datos en el momento en que abandonan la instancia. Es posible anular algunas de las optimizaciones automáticas de Google de un disco persistente para que puedas administrar su configuración directamente, pero los administradores experimentados lo recomiendan sólo para fines específicos.

Trabajo en la nube por servidor remoto

Hay dos categorías de discos persistentes:

  • Compartido: tipo estándar de almacenamiento en disco con velocidades promedio de lectura/escritura. 
  • SSD locales: están conectados físicamente a la máquina virtual que lo ejecuta. El SSD mejora enormemente el rendimiento y reduce la latencia. Sin embargo, el rendimiento mejorado viene con una compensación: los datos en un SSD local solo persisten mientras se ejecuta la instancia. Al detener una instancia, se borran los datos de cualquier SSD que esté conectado localmente. 

Estas unidades son buenas para datos de caché que no se almacenan para uso a largo plazo o datos redundantes que se pueden reconstruir fácilmente. Los SSD locales no pueden extenderse a través de zonas ni equilibrar la carga. Los datos aún están encriptados.

Contenedores de almacenamiento en la nube

Las opciones de almacenamiento menos costosas son los cubos de almacenamiento en la nube. Hay varias clases según el alcance y el nivel de rendimiento necesario. Algunas clases de almacenamiento de depósitos pueden alcanzar niveles de rendimiento similares a los de un disco persistente, pero su rendimiento es menos consistente.

Los cubos pueden existir globalmente y pueden ser tocados por múltiples instancias. Un disco persistente está limitado a una zona, lo que hace que el alcance de un depósito de almacenamiento en la nube sea la más amplia de todas las opciones de almacenamiento. 

Sin embargo, hay una complejidad añadida a su fácil accesibilidad, ya que las instancias pueden potencialmente sobrescribir los datos de las demás. Cuanto más global es el alcance de una clase, más lenta y latente es su operación. Pero en la práctica, cuanto más global sea su alcance, más probable es que se utilice para archivado a largo plazo y otras tareas que no sean de misión crítica.

Google Compute Engine encripta todos los datos al igual que las otras opciones de almacenamiento. Los cubos se pueden montar en el sistema de archivos de una VM como un disco persistente.

Conclusión

Las operaciones que realiza un administrador en una máquina virtual de Compute Engine se dividen en categorías, denominadas grupos. Estas operaciones hacen un uso eficiente de la tecnología en la nube para contar con servidores remotos y confiables administrados por Google, algunos ejecutados por los mismos servicios que ponen en funcionamiento el motor de búsqueda, Youtube o nuestro correo de Gmail.

El único usuario que puede usar automáticamente un proyecto y sus recursos es el creador del proyecto. Los usuarios, los servidores y las integraciones externas se conectan manualmente a los recursos del proyecto, lo que permite amplia versatilidad y asignación de infraestructura y datos de manera eficiente y solo la necesaria. 

Si a esto sumamos la implementación de la digitalización a través de un proveedor regional, y el pago en moneda local, es donde Nuva resalta como partner oficial de Google en Colombia y Latinoamérica para lograr que tu empresa alcance su máximo potencial a tiempo y juntos impulsemos el crecimiento de América Latina. 

Obtén servidores remotos, máquinas virtuales y almacenamiento en la nube, con los servicios que Nuva y GCP traen para tu equipo de desarrollo. ¡Contáctanos!

Previous Post

Preguntas de satisfacción del cliente: cómo elaborar una encuesta asertiva

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top