Entrega de sitios web

En este artículo, se explica cómo alojar un sitio web en Google Cloud Platform (GCP). GCP ofrece una plataforma robusta, flexible, confiable y escalable para entregar sitios web. Google compiló GCP a partir de la misma infraestructura que usa para entregar contenido en sitios como Google.com, YouTube y Gmail. Puedes optar por entregar el contenido de tu sitio web con el tipo y el diseño de infraestructura que mejor se adapte a tus necesidades.

Este artículo te será útil si cumples con estas condiciones:

  • Tienes conocimientos sobre cómo crear un sitio web y experiencia previa en la implementación y ejecución de infraestructura de servicio web.
  • Estás considerando migrar tu sitio a GCP y cómo hacerlo.

Si deseas compilar un sitio web simple, considera usar Google Sites, una herramienta estructurada de creación de páginas web y wikis. Para obtener más información, consulta la ayuda de Sites.

Elige una opción

Si eres nuevo en GCP, un enfoque razonable es comenzar con el tipo de tecnología con el que ya estás familiarizado. Por ejemplo, si ya usas servidores físicos o máquinas virtuales (VM) para alojar tu sitio con otro proveedor de servicios en la nube o en tu propio hardware, Compute Engine te ofrecerá un paradigma familiar. En cambio, si ya usas una oferta de plataforma como servicio (PaaS), por ejemplo, Heroku o Engine Yard, App Engine puede ser el mejor punto de partida.

Después de que te familiarices más con GCP, podrás explorar las excelentes características de los productos y servicios que ofrece. Por ejemplo, si comenzaste con Compute Engine, puedes aumentar las capacidades de tu sitio mediante Google Kubernetes Engine (GKE) o migrar algunas o todas las funciones a App Engine.

En la siguiente tabla, se resumen tus opciones de alojamiento en GCP:

Opción Producto Almacenamiento de datos Balanceo de cargas Escalabilidad Logging
Sitio web estático

Cloud Storage

Firebase Hosting

Depósito de Cloud Storage No corresponde Automáticamente N/A
Máquinas virtuales Compute Engine

API de Administrador de Cloud SQL, API de Cloud Storage, API de Cloud Datastore y API de Cloud Bigtable, o bien puedes usar otro proveedor de almacenamiento externo.

Discos persistentes basados en discos duros, conocidos como discos persistentes estándar, y discos persistentes de estado sólido (SSD).

HTTP(S)

Proxy TCP

Proxy SSL

Terminación de IPv6

Red

Interregión

Interna

Automáticamente con grupos de instancias administrados

Stackdriver Logging

Stackdriver Monitoring

Consola de Monitoring

Contenedores GKE Similar a Compute Engine, pero interactúa con discos persistentes de otra manera. Red
HTTP(S)
Escalador automático del clúster

Stackdriver Logging

Stackdriver Monitoring

Consola de Monitoring

Plataforma administrada App Engine Google lo hace por ti. Google lo hace por ti. Google lo hace por ti. Google lo hace por ti.

Este artículo puede ser de ayuda a fin de comprender las principales tecnologías que puedes usar para el servicio web en GCP y darte una idea de cómo funcionan. En el artículo, se proporcionan vínculos a la documentación completa, instructivos y artículos de soluciones que pueden ayudarte a desarrollar una comprensión más profunda cuando estés listo.

Comprende los costos

Debido a que hay tantas variables y cada implementación es diferente, proporcionar consejos específicos sobre los costos está fuera del alcance de este artículo. Para conocer los principios de Google sobre el funcionamiento de los precios de GCP, consulta la página Precios. Para comprender los precios de servicios individuales, consulta la sección de precios de productos. También puedes aprovechar algunas herramientas que te ayudarán a evaluar los costos de uso de GCP.

  • Usa la calculadora de precios para estimar tu posible uso de GCP. Puedes incorporar detalles sobre los servicios que deseas usar y, luego, verás una estimación del precio.
  • Usa la herramienta de costo total de propiedad (TCO) para evaluar los costos relativos de ejecutar tu carga de procesamiento en GCP. La herramienta proporciona varias entradas para el modelado de costos, que puedes ajustar, y, luego, compara los costos estimados en GCP y Amazon Web Services (AWS). Esta herramienta no modela todos los componentes de una aplicación típica, como el almacenamiento y las herramientas de redes.

Configura los servicios de nombre de dominio

En general, querrás registrar un nombre de dominio para tu sitio. Puedes usar un registrador público de nombres de dominio, como Google Domains, y registrar un nombre único para tu sitio. Si deseas un control completo de tu propio sistema de nombres de dominio (DNS), puedes usar Cloud DNS para que actúe como tu proveedor de DNS. En los documentos de Cloud DNS, se incluye una guía de inicio rápido para que puedas comenzar.

Si ya tienes un proveedor de DNS que deseas usar, en general, tendrás que crear algunos registros con ese proveedor. Para un nombre de dominio como example.com, creas un registro A con tu proveedor de DNS. Para el subdominio www.example.com, creas un registro CNAME a fin de que www lo señale al dominio example.com. El registro A asigna un nombre de host con una dirección IP. El registro CNAME crea un alias para el registro A.

Si tu registrador de nombres de dominio también es tu proveedor de DNS, es probable que no debas hacer nada más. Si usas proveedores independientes para el registro y DNS, asegúrate de que tu registrador de nombres de dominio tenga los servidores de nombre correctos asociados con tu dominio.

Después de hacer los cambios en tu DNS, puede que las actualizaciones de registro demoren algún tiempo en propagarse, de acuerdo con los valores de tiempo de actividad (TTL) de tu zona. Si este es un nuevo nombre de host, los cambios entrarán en vigor con rapidez porque los agentes de resolución de DNS no tienen valores previos en caché y pueden comunicarse con el proveedor de DNS para obtener la información necesaria a fin de enrutar las solicitudes.

Aloja un sitio web estático

La manera más sencilla de entregar el contenido de un sitio web en HTTP(S) es alojar páginas web estáticas. Las páginas web estáticas se entregan sin cambios, como se escribieron y, en general, con HTML. El uso de un sitio web estático es una buena opción si las páginas de tu sitio no cambian con frecuencia luego de su publicación, como las entradas de blogs o las páginas que conforman el sitio web de empresas pequeñas. Puedes hacer mucho con las páginas web estáticas. Sin embargo, si necesitas que tu sitio tenga interacciones sólidas con los usuarios a través de un código generado por el servidor, tendrás que considerar otras opciones que se describen en este artículo.

Aloja un sitio web estático con Cloud Storage

Para alojar un sitio estático en Cloud Storage, tendrás que crear un depósito de Cloud Storage, subir el contenido y probar el sitio nuevo. Puedes entregar tus datos de forma directa desde storage.googleapis.com o verificar que eres el propietario del dominio y usar tu nombre de dominio.

Puedes crear tus páginas web estáticas como tú elijas. Por ejemplo, puedes crear páginas de forma manual con HTML y CSS. Puedes usar un generador de sitios estáticos, como Jekyll, Ghost o Hugo, para crear el contenido. Con los generadores de sitios estáticos, puedes crear un sitio web estático en markdown y proporcionar plantillas y herramientas. Por lo general, los generadores de sitios proporcionan un servidor web local que puedes usar para obtener una vista previa del contenido.

Una vez que tu sitio estático esté en funcionamiento, puedes actualizar las páginas estáticas con cualquier proceso que elijas. El proceso puede ser tan directo como copiar a mano una página actualizada en el depósito. También puedes elegir un enfoque más automatizado, como almacenar tu contenido en GitHub y, luego, usar un webhook para ejecutar una secuencia de comandos que actualizará el depósito. Un sistema mucho más avanzado usará una herramienta de integración continua y entrega continua (IC/EC), como Jenkins, para actualizar el contenido del depósito. Jenkins tiene un complemento de Cloud Storage que proporciona un paso posterior a la compilación de Google Cloud Storage Uploader para publicar artefactos de compilación en Cloud Storage.

Si tienes una aplicación web que debe entregar contenido estático o contenido multimedia estático subido por el usuario, el uso de Cloud Storage puede ser una alternativa rentable y eficiente para alojar y entregar este contenido, al tiempo que reduce la cantidad de solicitudes dinámicas que recibirá tu aplicación web.

Además, Cloud Storage puede aceptar contenido enviado de forma directa por el usuario. Esta característica permite que los usuarios suban archivos multimedia grandes de manera directa y segura, sin proxy entre los servidores.

Si deseas obtener el mejor rendimiento de tu sitio web estático, consulta las Recomendaciones para Cloud Storage.

Si deseas obtener más información, consulta las siguientes páginas:

Aloja un sitio web estático con Firebase Hosting

Firebase Hosting proporciona hosting estático, rápido y seguro para tu aplicación web. Con Firebase Hosting, puedes implementar aplicaciones web y contenido estático en una red de entrega de contenido global (CDN) con solo un comando.

Estos son algunos de los beneficios que recibes cuando usas Firebase Hosting:

  • La SSL sin configuración se encuentra integrada en Firebase Hosting. Aprovisiona certificados SSL en dominios personalizados de manera gratuita.
  • Todo tu contenido se entrega a través de HTTPS.
  • Tu contenido se entrega a los usuarios desde el perímetro de CDN en todo el mundo.
  • Con Firebase CLI, puedes poner tu aplicación en funcionamiento en cuestión de segundos. Usa herramientas de línea de comandos para agregar objetivos de implementación a tu proceso de compilación.
  • Obtienes funciones de administración de actualizaciones, como la implementación atómica de elementos nuevos, control de versiones completo y reversiones con un clic.
  • El hosting ofrece una configuración útil para apps de una sola página y otros sitios más parecidos a las apps.
  • El hosting está diseñado para usarse con otras características de Firebase sin inconvenientes.

Si deseas obtener más información, consulta las siguientes páginas:

Usa máquinas virtuales con Compute Engine

Para los casos prácticos de infraestructura como servicio (IaaS), GCP ofrece Compute Engine. Compute Engine proporciona una infraestructura de procesamiento robusta, pero debes elegir y configurar los componentes de la plataforma que quieres usar. Con Compute Engine, tú eres responsable de configurar, administrar y supervisar los sistemas. Google se asegura de que los recursos estén disponibles, que sean confiables y que estén listos para usar, pero aprovisionarlos y administrarlos depende de ti. La ventaja es que tienes un control total sobre los sistemas, además de flexibilidad sin límites.

Usa Compute Engine para diseñar y, además, implementar prácticamente todos los sistemas de entrega de sitio web que desees. Puedes usar VM, llamadas instancias, para compilar tu aplicación, como lo harías si tuvieras tu propia infraestructura de hardware. Compute Engine ofrece una gran variedad de tipos de máquinas para que puedas personalizar tu configuración a fin de cumplir con tus necesidades y presupuesto. Puedes elegir los sistemas operativos, las pilas de desarrollo, los lenguajes, los marcos de trabajo, los servicios y otras tecnologías de software que prefieras.

Cómo realizar una configuración automática con GCP Marketplace

La manera más simple de implementar una pila de servicio web completa es mediante GCP Marketplace. Con solo algunos clics, puedes implementar cualquiera de las más de 100 soluciones completas con la implementación en un clic de Google o Bitnami.

GCP Marketplace

Por ejemplo, puedes configurar una pila de LAMP o WordPress con GCP Marketplace. El sistema implementa una pila de software completa y operativa en solo cuestión de minutos en una sola instancia. Antes de proceder con la implementación, GCP Marketplace te mostrará estimaciones de costos para la ejecución del sitio, te dará información clara sobre las versiones de los componentes de software que instalará por ti y te dejará personalizar tu configuración mediante el cambio de los nombres de las instancias de los componentes, la elección del tipo de máquina y del tamaño del disco. Después de la implementación, tendrás control completo sobre las instancias de Compute Engine, sus configuraciones y el software.

Realiza una configuración manual

También puedes optar por crear tu infraestructura en Compute Engine de forma manual, ya sea mediante la compilación de tu configuración desde cero o en una implementación de GCP Marketplace. Por ejemplo, es posible que desees usar una versión de un componente de software no ofrecido por GCP Marketplace o, tal vez, prefieras instalar y configurar todo por tu cuenta.

Este artículo no incluye un marco de trabajo completo y recomendaciones para configurar un sitio web. No obstante, desde una perspectiva de nivel alto, el aspecto técnico de la configuración de una infraestructura de servicio web en Compute Engine requiere las siguientes acciones:

  • Comprende los requisitos. Si creas un nuevo sitio web, asegúrate de comprender los componentes que necesitas, como instancias, infraestructura de herramientas de redes y necesidades de almacenamiento. Si migras tu aplicación desde una solución existente, es probable que ya conozcas estos requisitos, pero debes pensar en cómo tu configuración existente se asigna a los servicios de GCP.
  • Planifica el diseño. Piensa en tu arquitectura y escribe el diseño. Debes ser tan explícito como puedas.
  • Crea los componentes. Los componentes que sueles considerar como elementos físicos, por ejemplo, computadoras o conmutadores de red, se proporcionan a través de los servicios de Compute Engine. Por ejemplo, si quieres una computadora, tendrás que crear una instancia de Compute Engine. Si quieres una unidad de disco duro persistente, también tendrás que crearla. Cloud Deployment Manager hace que esto sea un proceso sencillo y repetible.
  • Configura y personaliza. Una vez que tenga los componentes que deseas, debes configurarlos, instalar y configurar el software y escribir y, además, implementar cualquier código de personalización que necesites. Puedes replicar la configuración mediante la ejecución de secuencias de comandos de shell, que será útil para acelerar futuras implementaciones. Deployment Manager también te será útil en este caso, ya que proporciona plantillas de configuración declarativas y flexibles que te permitirán realizar la implementación automática de los recursos. Además, puedes aprovechar las herramientas de automatización de TI, como Puppet y Chef.
  • Implementa los elementos. Es probable que tengas imágenes y páginas web.
  • Prueba. Verifica que todo funcione según lo esperado.
  • Implementar para producción. Abre el sitio para que el mundo lo vea y lo use.

Para ayudarte a comenzar y comprender de qué se trata la configuración de instancias de Compute Engine de manera manual, te sugerimos consultar uno o más de los siguientes instructivos:

Cómo almacenar datos con Compute Engine

La mayoría de los sitios web requieren algún tipo de almacenamiento. Podrías necesitar almacenamiento por una diversidad de motivos, como guardar archivos que subieron tus usuarios y, desde ya, los elementos que usa tu sitio.

GCP ofrece una gran variedad de servicios de almacenamiento administrado, como los siguientes:

  • Una base de datos SQL en Cloud SQL, que se basa en MySQL
  • Dos opciones para almacenamiento de datos NoSQL: Cloud Datastore y Cloud Bigtable
  • Almacenamiento de objetos coherente, escalable y de gran capacidad en Cloud Storage Cloud Storage viene en varias clases:
    • Multirregional, que ofrece el máximo nivel de redundancia geográfica y disponibilidad
    • Regional, que proporciona máxima disponibilidad y una ubicación de almacenamiento localizada.
    • Nearline, que ofrece una opción de bajo costo ideal para los datos a los que se accede menos de una vez al mes.
    • Coldline, que brinda la opción con el costo más bajo para archivo, copias de seguridad y recuperación ante desastres.
  • Discos persistentes en Compute Engine, para usar como almacenamiento principal en tus instancias. Compute Engine ofrece discos persistentes basados en discos duros, conocidos como discos persistentes estándar, y discos persistentes de estado sólido, conocidos como SSD. Con los discos persistentes, también puedes configurar la tecnología de almacenamiento que prefieras en Compute Engine. Por ejemplo, puedes configurar PostgreSQL como tu base de datos SQL o MongoDB como almacenamiento NoSQL. Consulta Elige una opción de almacenamiento si deseas conocer todos los beneficios y la variedad completa de servicios de almacenamiento de GCP.

Balanceo de cargas con Compute Engine

El uso de tecnologías de balanceo de cargas que permitan distribuir las cargas de trabajo entre los servidores suele ser un requisito para cualquier sitio web que funcione a gran escala. Tienes una gran variedad de opciones para diseñar tus servidores web con balanceo de cargas en Compute Engine:

La implementación del balanceo de cargas es flexible, y puedes usar Compute Engine con tus soluciones existentes. Para ver algunos ejemplos, consulta Balanceo de cargas interno de ajuste de escala automático mediante HAProxy y Consul a fin de obtener información sobre el escalamiento automático a nivel del balanceo de cargas de HAProxy y del servidor backend. Consulta el balanceo de cargas de HTTP(S) mediante NGINX para encontrar una solución posible que puedas usar en lugar del balanceador de cargas de Compute Engine.

Distribución de contenido con Compute Engine

Dado que el tiempo de respuesta es una métrica esencial para cualquier sitio web, el uso de una CDN que permita reducir la latencia y aumentar el rendimiento suele ser un requisito, en especial para los sitios con tráfico web global.

Cloud CDN usa los puntos de presencia perimetrales distribuidos de forma global para entregar contenido desde las ubicaciones de caché más cercanas a los usuarios. Cloud CDN funciona con el balanceo de cargas de HTTP(S). Para entregar contenido fuera de Compute Engine, Cloud Storage o ambos desde una sola dirección IP, habilita Cloud CDN para obtener un balanceador de cargas HTTP(S).

Ajuste de escala automático con Compute Engine

Puedes configurar tu arquitectura para agregar y quitar servidores según la variación de la demanda. Este enfoque garantiza el buen rendimiento del sitio en cargas máximas y, a la vez, mantiene los costos bajo control durante los períodos de demanda mayor que la típica. Compute Engine te ofrece un escalador automático que puedes usar para este propósito.

El ajuste de escala automático es una función de los grupos de instancias administrados. Un grupo de instancias administrado es un conjunto de instancias homogéneas de máquinas virtuales que se crean a partir de una plantilla de instancias común. Un escalador automático incorpora o quita instancias en un grupo de instancias administrado. Aunque Compute Engine tiene grupos de instancias administradas y no administradas, solo puedes usar grupos de instancias administrados con un escalador automático. Para obtener más información, consulta el ajuste de escala automático en Compute Engine.

Si deseas obtener información detallada sobre lo que se necesita para compilar una solución de aplicación web escalable y resiliente, consulta Compila aplicaciones web escalables y resilientes.

Crea registros y supervisa con Compute Engine

GCP incluye funciones que puedes usar para controlar lo que sucede en tu sitio web.

Stackdriver Logging recopila y almacena registros de las aplicaciones y los servicios que están en GCP. Puedes ver o exportar los registros y, también, integrar registros de terceros mediante un agente de registro.

Logging

Stackdriver Monitoring proporciona paneles y alertas para tu sitio. Puedes configurar Monitoring con Monitoring Console. Puedes revisar las métricas de rendimiento de los servicios en la nube, las máquinas virtuales y los servidores de código abierto comunes, como MongoDB, Apache, Nginx y Elasticsearch. Con la API de Stackdriver Monitoring, puedes recuperar los datos de supervisión y crear métricas personalizadas.

Panel de supervisión

Cómo administrar DevOps con Compute Engine

Si deseas obtener más información sobre cómo administrar DevOps con Compute Engine, consulta los siguientes artículos:

Usa contenedores con GKE

Es posible que ya uses contenedores, como Docker. Para el servicio web, los contenedores ofrecen varias de las siguientes ventajas:

  • Uso de componentes. Puedes usar contenedores para separar los diversos componentes de tu aplicación web. Por ejemplo, si tu sitio ejecuta un servidor web y una base de datos, puedes ejecutar estos componentes en contenedores individuales y, así, podrás modificar y actualizar un componente sin afectar al otro. A medida que el diseño de tu aplicación se vuelve más complejo, los contenedores son una buena opción para una arquitectura orientada a los servicios, que incluye microservicios. Este tipo de diseño admite escalabilidad, entre otros objetivos.
  • Portabilidad. Un contenedor incluye todos los elementos que necesita para ejecutarse: tu aplicación y sus dependencias están agrupadas. Puedes ejecutar tus contenedores en una gran variedad de plataformas, sin preocuparte por los detalles del sistema subyacente.
  • Implementación rápida. Cuando haya que implementar, tu sistema se compilará a partir de un conjunto de imágenes y definiciones, para que las partes puedan implementarse de manera confiable, rápida y automática. Los contenedores suelen ser pequeños y se implementan con mayor rapidez, en comparación con las máquinas virtuales.

El procesamiento de contenedores en GCP ofrece muchas de las siguientes ventajas para el servicio web:

  • Organización. GKE es un servicio administrado compilado en Kubernetes, el sistema de organización de contenedores de código abierto presentado por Google. Con GKE, tu código se ejecuta en contenedores que forman parte de un clúster compuesto por instancias de Compute Engine. En vez de administrar contenedores individuales o de crear y cerrar cada contenedor de manera manual, puedes administrar el clúster de forma automática con GKE, que usará la configuración que definas.
  • Registro de imagen. Container Registry proporciona almacenamiento privado para imágenes de Docker en GCP. Puedes acceder a Container Registry a través de un extremo HTTPS, por lo que puedes extraer imágenes de cualquier máquina, ya sea de una instancia de Compute Engine o tu hardware. El servicio de registro aloja tus imágenes personalizadas en Cloud Storage, en tu proyecto de GCP. Este enfoque garantiza de forma predeterminada que solo los miembros de tu proyecto puedan acceder a las imágenes personalizadas.
  • Movilidad. Significa que tienes la flexibilidad de mover y combinar cargas de trabajo con otros proveedores de servicios en la nube, o combinar cargas de trabajo de computación en la nube con implementaciones locales para crear una solución híbrida.

Almacena datos con GKE

Debido a que GKE se ejecuta en GCP y usa instancias de Compute Engine como nodos, tus opciones de almacenamiento tendrán mucho en común con el almacenamiento en Compute Engine. Puedes acceder a Cloud SQL, Cloud Storage, Cloud Datastore y Cloud Bigtable a través de sus API, o puedes usar otro proveedor de almacenamiento externo de tu elección. No obstante, la interacción de GKE con los discos persistentes de Compute Engine es diferente de la de una instancia normal de Compute Engine.

Una instancia de Compute Engine incluye un disco adjunto. Cuando usas Compute Engine, el volumen de disco permanece en la instancia, siempre que esta exista. Además, puedes separar el disco y usarlo con una instancia diferente. En un contenedor, los archivos en disco son efímeros. Cuando se reinicia un contenedor, por ejemplo, después de una falla, se pierden los archivos en disco. Kubernetes logra resolver este problema con una abstracción de volumen, y un tipo de volumen es gcePersistentDisk. Esto significa que puedes usar los discos persistentes de Compute Engine con contenedores para evitar que los archivos de datos se borren cuando usas GKE.

Para conocer las características y los beneficios de un volumen, primero debes aprender sobre los pods. Un pod es un host lógico específico de la aplicación para uno o más contenedores. Se ejecuta en una instancia de nodo. Cuando los contenedores forman parte de un pod, pueden compartir varios recursos, entre ellos, un conjunto de volúmenes de almacenamiento compartido. Estos volúmenes permiten que los datos se conserven a pesar de los reinicios del contenedor y que se puedan compartir entre los contenedores del pod. Puedes usar un solo contenedor y volumen en un pod, pero el pod es una abstracción necesaria para conectar de forma lógica estos recursos entre sí.

Consulta el instructivo Usa discos persistentes con WordPress y MySQL para ver ejemplos.

Balanceo de cargas con GKE

Muchas arquitecturas grandes de servicio web requieren varios servidores en funcionamiento para poder compartir las demandas de tráfico. Debido a que puedes crear y administrar múltiples contenedores, nodos y pods con GKE, es una opción natural para un sistema de servicio web con balanceo de cargas.

Usa el balanceo de cargas de red

La forma más fácil de crear un balanceador de cargas en GKE es mediante el uso del balanceo de cargas de red de Compute Engine. El balanceo de cargas de red puede balancear las cargas de los sistemas que se basan en datos entrantes del protocolo de Internet, como la dirección, el puerto y el tipo de protocolo. El balanceo de cargas de red usa reglas de reenvío. Estas reglas apuntan a grupos de destino, que enumeran las instancias disponibles para usar en el balanceo de cargas.

Con esta función, se pueden balancear las cargas de protocolos adicionales basados en TCP/UDP, como el tráfico SMTP, y la aplicación puede inspeccionar paquetes directamente.

Puedes implementar el balanceo de cargas de red con solo incorporar el campo type: LoadBalancer en tu archivo de configuración de servicio.

Usa el balanceo de cargas de HTTP(S)

Si necesitas funciones de balanceo de cargas más avanzadas, como el balanceo de cargas de HTTPS, basado en el contenido o entre regiones, puedes integrar tu servicio de GKE a la función de balanceo de cargas de HTTP/HTTPS de Compute Engine. Kubernetes proporciona el recurso Ingress, que encapsula una colección de reglas para enrutar tráfico externo a los extremos de Kubernetes. En GKE, un recurso Ingress se encarga de aprovisionar y configurar el balanceador de cargas HTTP / HTTPS de Compute Engine.

Para obtener más información sobre el uso del balanceador de cargas HTTP/HTTPS en GKE, consulta Configura el balanceo de cargas HTTP con Ingress.

Escala con GKE

Para cambiar el tamaño de los clústeres de manera automática, puedes usar el escalador automático de clúster. Esta función comprueba periódicamente si hay pods que esperan un nodo con recursos libres, pero que no están programados. Si existe un pod con esas características, el escalador automático cambiará el tamaño del grupo de nodos, siempre que esta acción permita la programación de los pods en espera.

El escalador automático de clúster también supervisa el uso de todos los nodos. Si un nodo no será necesario por un período prolongado y todos sus pods pueden programarse en otro lugar, entonces el nodo se borra.

Si deseas obtener más información sobre el escalador automático de clúster, sus limitaciones y recomendaciones, consulta la documentación sobre el escalador automático de clúster.

Registra y supervisa con GKE

Al igual que en Compute Engine, Logging y Monitoring proporcionan sus servicios de registro y supervisión. Logging recopila y almacena registros de apps y servicios. Puedes ver o exportar los registros y, también, integrar registros de terceros a un agente de Logging.

Monitoring proporciona paneles y alertas para tu sitio. Puedes configurar Monitoring con Monitoring Console. Puedes revisar las métricas de rendimiento de los servicios en la nube, las máquinas virtuales y los servidores de código abierto comunes, como MongoDB, Apache, Nginx y Elasticsearch. Puedes usar la API de Monitoring para recuperar datos de supervisión y crear métricas personalizadas.

Administra DevOps con GKE

Cuando usas GKE, obtienes muchos de los beneficios en los que la mayoría de las personas piensan cuando piensan en DevOps. Esto es especialmente cierto cuando se trata de facilidad de empaquetado, implementación y administración. Puedes aprovechar las herramientas populares, como Jenkins, para tus necesidades de flujo de trabajo de IC/EC. Te recomendamos leer los siguientes artículos:

Compila una plataforma administrada con App Engine

En GCP, la plataforma como servicio (PaaS) administrada se denomina App Engine. Cuando compilas un sitio web con App Engine, puedes enfocarte en codificar las funciones y dejar que Google se encargue de administrar la infraestructura de respaldo. App Engine ofrece una amplia variedad de funciones que hacen que la escalabilidad, el balanceo de cargas, el registro, la supervisión y la seguridad sean mucho más fáciles que si tuvieras que compilarlos y administrarlos tú mismo. App Engine te permite codificar en varios lenguajes de programación y puede usar una variedad de otros servicios de GCP.

App Engine proporciona el entorno estándar, que te permite ejecutar tus aplicaciones en un entorno de zona de pruebas seguro. El entorno estándar de App Engine distribuye las solicitudes entre varios servidores y escala los servidores para cumplir con las demandas de tráfico. Tu aplicación se ejecuta en su propio entorno seguro y confiable que es independiente del hardware, el sistema operativo o la ubicación física del servidor.

La aplicación web usa App Engine y otros componentes

App Engine también ofrece el entorno flexible para brindarte más opciones. Cuando usas el entorno flexible, la aplicación se ejecuta en instancias configurables de Compute Engine, pero App Engine administra el entorno de hosting por ti. Esto significa que puedes usar entornos de ejecución adicionales, incluso personalizados, para obtener más opciones de lenguajes de programación. Además, puedes aprovechar la flexibilidad que ofrece Compute Engine, como elegir entre una variedad de opciones de CPU y memoria.

Lenguajes de programación

El entorno estándar de App Engine proporciona entornos de ejecución predeterminados y puedes escribir código fuente en versiones específicas de los lenguajes de programación admitidos.

Con el entorno flexible, puedes escribir el código fuente en una versión de cualquiera de los lenguajes de programación admitidos. Puedes personalizar estos entornos de ejecución o proporcionar tu propio entorno con una imagen de Docker personalizada o un Dockerfile.

Si el lenguaje de programación que usas es tu preocupación principal, debes decidir si los entornos de ejecución proporcionados por el entorno estándar de App Engine se ajustan a tus necesidades. Si no lo hacen, debes considerar el uso del entorno flexible.

Para determinar el tipo de entorno que mejor se adapte a las necesidades de tu aplicación, consulta Elige un entorno de App Engine.

Instructivos de introducción por lenguaje

En los siguientes instructivos, encontrarás más información para que puedas comenzar a usar el entorno estándar de App Engine:

En los siguientes instructivos, encontrarás más información para que puedas comenzar a usar el entorno flexible:

Almacena datos con App Engine

App Engine te ofrece las siguientes opciones para almacenar datos:

Nombre Estructura Coherencia
Cloud Datastore Sin esquemas Coherencia sólida, salvo cuando se realizan consultas globales
Cloud SQL Relacional Coherencia sólida
Cloud Storage Archivos y sus metadatos asociados Coherencia sólida, salvo cuando se realizan listas de operaciones que obtienen una lista de objetos o depósitos

También puedes usar varias bases de datos de terceros con el entorno estándar.

Para obtener más detalles sobre el almacenamiento en App Engine, consulta Elige una opción de almacenamiento y, luego, selecciona el lenguaje de programación que prefieras.

Cuando usas el entorno flexible, puedes usar todas las mismas opciones de almacenamiento que utilizas en el entorno estándar, además de una variedad más amplia de bases de datos de terceros. Para obtener más información sobre bases de datos de terceros en el entorno flexible, consulta Usa bases de datos de terceros.

Balanceo de cargas y ajuste de escala automático con App Engine

Cuando compilas en App Engine, el balanceo de cargas y el ajuste de escala automático se administran de manera automática.

Registra y supervisa con App Engine.

En App Engine, las solicitudes se registran de forma automática y puedes ver estos registros en GCP Console. App Engine también funciona con bibliotecas estándar específicas del lenguaje que proporcionan funcionalidad de registro y reenvían las entradas de registro a los registros en GCP Console. Por ejemplo, en Python, puedes usar el módulo de registro estándar de Python y, en Java, puedes usar la API de java.util.logging.Logger.

Monitoring proporciona funciones para supervisar tus aplicaciones de App Engine. A través de GCP Console, puedes supervisar incidentes, verificaciones de tiempo de actividad y otros detalles.

Compila sistemas de administración de contenido

Entregar un sitio web significa administrar los elementos del sitio. Cloud Storage proporciona un repositorio global para estos elementos. Una arquitectura común implementa contenido estático en Cloud Storage y, luego, se sincroniza con Compute Engine para procesar páginas dinámicas. Cloud Storage opera con muchos sistemas de administración de contenido de terceros, como WordPress, Drupal y Joomla. Además, Cloud Storage ofrece una API compatible con Amazon S3, por lo que cualquier sistema que opere con Amazon S3 podrá funcionar con Cloud Storage.

Si deseas ver una arquitectura de muestra para un sistema de administración de contenido, consulta la Administración de contenido.

Sistema de administración de contenido en GCP

Pasos siguientes

  • Prueba otras funciones de Google Cloud Platform. Revisa nuestros instructivos.
¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...