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:

  • 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.

Cómo elegir 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 actualmente 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, Google 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, Google App Engine puede ser el mejor punto de partida.

Después de que te familiarices más con GCP, podrás comenzar a explorar las excelentes características de los productos y servicios que GCP ofrece. Por ejemplo, si comenzaste con Compute Engine, puedes aumentar las capacidades de tu sitio con Google Kubernetes Engine, 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 No corresponde
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 Google Kubernetes Engine (GKE) Similar a Compute Engine, pero interactúa con discos persistentes de manera diferente. 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.

La lectura de este artículo te ayudará a comprender las principales tecnologías que puedes usar para el servicio web en GCP y te dará una idea de cómo funcionan. En el artículo, encontrarás vínculos a documentos completos, instructivos y artículos de soluciones que te ayudarán a adquirir más conocimiento, cuando estés listo.

Información sobre costos

El objetivo de este artículo no es brindarte consejos específicos sobre los costos, ya que existen muchas variables y que cada implementación puede ser muy particular. Para conocer los principios de Google sobre el funcionamiento de los precios de GCP, consulta la página Precios. Para conocer los precios de servicios individuales, consulta la sección Precios de productos. También puedes aprovechar algunas herramientas que te ayudarán a evaluar los costos de uso de GCP.

  • La calculadora de precios es una forma rápida y sencilla de estimar cómo se verá tu uso de GCP. Puedes incorporar detalles sobre los servicios que deseas usar y, luego, verás una estimación de precio.
  • La herramienta para el Costo total de propiedad (TCO) evalúa los costos relativos de ejecutar tu carga de procesamiento en la nube y brinda una estimación financiera. La herramienta proporciona diversas entradas para el modelo de costos; puedes ajustarlas y, luego, comparar los costos estimados en Cloud Platform y Amazon Web Services. Esta herramienta no simula todos los componentes de una aplicación típica, como el almacenamiento y las herramientas de redes.

Cómo configurar 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 tener control completo sobre tu propio sistema de nombres de dominio (DNS), puedes usar Google Cloud DNS 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, tendrás que crear un registro A con tu proveedor de DNS. En el caso del subdominio www.example.com, tendrás que crear un registro CNAME para que www lo dirija 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, las actualizaciones de registro demorarán algún tiempo en propagarse, de acuerdo con los valores de tiempo de actividad (TTL) de tu zona. Si este es un nombre de host nuevo, los cambios se aplicarán rápidamente, porque los agentes de resolución de DNS no tendrán valores previos almacenados en la memoria caché y se comunicarán con el proveedor de DNS para obtener la información que necesitan y enrutar las solicitudes.

Cómo alojar 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.

Cómo alojar 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 directamente desde storage.googleapis.com, o puedes verificar que eres el propietario de tu dominio y usar el nombre de este. De cualquier manera, obtendrás una publicación rápida y coherente del almacenamiento en caché perimetral global.

Puedes crear tus páginas web estáticas como tú elijas. Por ejemplo, puedes crear páginas manualmente con HTML y CSS. Puedes usar un generador de sitios estáticos, como Jekyll, Ghost o Hugo, para crear el contenido. Estos generadores te facilitan la creación de un sitio web estático porque te permiten editar en markdown y te ofrecen plantillas y herramientas. En general, los generadores de sitios proporcionan un servidor web local que puedes usar para obtener una vista previa de tu contenido.

Una vez que tu sitio estático esté en funcionamiento, puedes actualizar las páginas estáticas mediante 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/entrega continua (CI/CD), como Jenkins, para actualizar el contenido del depósito. Jenkins cuenta con un complemento de Cloud Storage que proporciona un paso posterior a la compilación de Google Cloud Storage Uploader para publicar artefactos diseñados 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 por el usuario directamente. Esta característica permite que los usuarios suban archivos multimedia grandes directamente y de manera segura, sin proxy entre los servidores.

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

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

Cómo alojar 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 con rapidez y facilidad 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:

  • Firebase Hosting incluye SSL sin necesidad de configuración, para que el contenido se publique siempre de forma segura. 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 rápidamente 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. Las herramientas de línea de comandos permiten agregar fácilmente destinos de implementación en 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.
  • Hosting ofrece una configuración útil para las aplicaciones de una sola página y otros sitios similares a aplicaciones.
  • 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:

Cómo usar máquinas virtuales con Compute Engine

Para los casos prácticos de infraestructura como servicio (IaaS), GCP ofrece Google 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, configurar, administrar y supervisar los sistemas es tu responsabilidad. 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 máquinas virtuales (VM), conocidas como instancias, para compilar tu aplicación, de manera muy similar a como lo harías con 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 totalmente realizadas con la implementación en un clic de Google o Bitnami.

Google Cloud Platform Marketplace

Por ejemplo, es sencillo configurar una pila 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. Por ejemplo, podrás cambiar los nombres de las instancias de los componentes, además de elegir el tipo de máquina y el 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.

Cómo realizar una configuración manual

También tienes la opción de crear tu infraestructura en Compute Engine de manera manual, ya sea que crees tu configuración desde cero o lo hagas a partir de una implementación de GCP Marketplace. Por ejemplo, podrías querer usar una versión específica de un componente de software que GCP Marketplace no ofrece o, tal vez, solo prefieres 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:

  • Comprender los requisitos. Si estás compilando un sitio web nuevo, asegúrate de comprender los componentes que necesitas, como las instancias, las necesidades de almacenamiento y la infraestructura de red. Si estás migrando tu aplicación desde una solución existente, es probable que ya comprendas estos requisitos, pero tendrás que pensar en la manera en que tu configuración existente puede asignarse a los servicios de GCP.
  • Planificar el diseño. Piensa en tu arquitectura y escribe el diseño. Debes ser tan explícito como puedas.
  • Crear 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. Google Cloud Deployment Manager hace que esto sea un proceso sencillo y repetible.
    • Configurar y personalizar. Una vez que dispongas de todos los componentes que deseas, tendrás que configurarlos, instalar y configurar el software, y escribir y, además, implementar todos los códigos de personalización que requieras. Puedes replicar la configuración mediante la ejecución de secuencias de comandos de shell, que será útil para acelerar futuras implementaciones. Cloud Deployment Manager también te será útil en esto, 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.
  • Implementar los elementos. Es probable que tengas páginas web, imágenes, etcétera.
  • Probar. Verifica que todo funcione según lo esperado.
  • Implementar para producción. Abre el sitio al mundo para que puedan verlo y usarlo.

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 ofrece las siguientes modalidades:
    • Multirregional, que brinda 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 Cómo elegir 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, puedes consultar Balanceo de cargas interno con ajuste de escala automático con HAProxy y Consul (encontrarás información sobre el ajuste de escala automático del nivel de balanceo de cargas de HAProxy y el nivel de servidor de backend) y balanceo de cargas de HTTP(S) con NGINX (encontrarás información sobre una solución de reemplazo posible para el 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, suele ser un requisito el uso de una CDN que permita reducir la latencia y aumentar el rendimiento, en especial para los sitios con tráfico web global.

La red de entrega de contenido de Google Cloud usa los puntos de presencia periféricos de Google distribuidos en todo el mundo a fin de entregar contenido de las ubicaciones almacenadas en caché más cercanas a los usuarios. Cloud CDN funciona con el balanceo de cargas de HTTP(S). Para entregar contenido fuera de Google Compute Engine, Google Cloud Storage, o los dos, desde una única dirección IP, simplemente, se habilita Cloud CDN para un balanceador de cargas de HTTP(S).

Cómo realizar un ajuste de escala automático con Compute Engine

Puedes configurar tu arquitectura para que incorpore o quite servidores según las variaciones en la demanda. Este enfoque garantiza el buen rendimiento del sitio en cargas máximas, mientras mantiene los costos bajo control durante los períodos de demanda más 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. Si bien Compute Engine cuenta con grupos de instancias administrados y no administrados, solo los administrados pueden usarse con el escalador automático. En los documentos de Compute Engine, se incluye una guía completa sobre el ajuste de escala automático en Compute Engine.

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

Cómo hacer registros y supervisar con Compute Engine

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

Google 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 Logging.

Stackdriver Logging

Google Stackdriver Monitoring proporciona paneles y alertas para tu sitio. A fin de configurarlo, utiliza Stackdriver 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 Stackdriver Monitoring

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:

Cómo usar contenedores con Kubernetes Engine

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 los contenedores para separar los distintos 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, 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. Kubernetes Engine es un servicio administrado que se crea en Kubernetes, el sistema de organización de contenedores de código abierto presentado por Google. Con Kubernetes Engine, 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 contener de manera manual, puedes administrar el clúster automáticamente con Kubernetes Engine, que usará la configuración que definas.
  • Registro de imagen. Google Container Registry proporciona almacenamiento privado para las imágenes de Docker en GCP. Puedes acceder a Container Registry a través de un extremo de HTTPS para que puedas extraer imágenes desde cualquier máquina, ya sea una instancia de Compute Engine o tu propio hardware. El servicio de registro aloja tus imágenes personalizadas en Cloud Storage, en tu proyecto de GCP Console. Este enfoque garantiza de manera 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.

Cómo almacenar datos con Kubernetes Engine

Debido a que Kubernetes Engine 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 Kubernetes Engine 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 mediante el uso de una abstracción de volumen, y un tipo de volumen sería gcePersistentDisk. Esto significa que puedes usar los discos persistentes de Compute Engine con contenedores a fin de evitar que se borren archivos de datos cuando usas Kubernetes Engine.

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 lógicamente estos recursos entre sí.

Consulta el instructivo Cómo usar discos persistentes con WordPress y MySQL para ver ejemplos.

Balanceo de cargas con Kubernetes Engine

Muchas arquitecturas grandes de servicio web requieren varios servidores en funcionamiento para poder compartir las demandas de tráfico. Dado que Kubernetes Engine te permite crear y administrar varios contenedores, nodos y pods con facilidad, es una opción natural para un sistema de servicio web con balanceo de cargas.

Cómo usar el balanceo de cargas de red

La manera más sencilla de crear un balanceador de cargas en Kubernetes Engine es con el 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 que 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.

Cómo usar 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 Kubernetes Engine 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 Kubernetes Engine, un recurso Ingress se encarga de controlar el aprovisionamiento y la configuración del balanceador de cargas de HTTP/HTTPS de Compute Engine.

Si deseas obtener más información sobre el uso del balanceo de cargas de HTTP/HTTPS en Kubernetes Engine, consulta los documentos.

Cómo realizar el escalamiento con Kubernetes Engine

Para cambiar el tamaño de los clústeres de manera automática, puedes usar el escalador automático de clúster. Esta característica permite verificar periódicamente si hay pods que están a la espera de un nodo con recursos gratuitos, pero que no se programaron. 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 se necesita durante un período prolongado y todos los pods pueden programarse en otro lugar fácilmente, el nodo se borrará.

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

Cómo hacer registros y supervisar con Kubernetes Engine

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

Stackdriver Monitoring proporciona paneles y alertas para tu sitio. A fin de configurarlo, utiliza Stackdriver 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.

Cómo administrar DevOps con Kubernetes Engine

Cuando usas Kubernetes Engine, recibes muchos de los beneficios que la mayoría de las personas consideran 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:

Cómo compilar una plataforma administrada con App Engine

En GCP, la plataforma administrada como servicio (PaaS) se denomina Google 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 compilar y administrar tú mismo. App Engine te permite codificar en diversos lenguajes de programación y puede usar otros servicios de GCP sin inconvenientes.

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, del sistema operativo o de la ubicación física del servidor. Si deseas obtener una arquitectura de muestra para una aplicación web que se ejecuta en el entorno estándar, consulta Arquitectura: aplicación web en Google App Engine.

Aplicación web que 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 Compute Engine ofrece, 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, tendrás que decidir si los entornos de ejecución que ofrece App Engine estándar cumplen con tus requisitos. Si no lo hacen, tendrás que considerar el uso de un entorno flexible.

Para determinar el tipo de entorno que mejor se adapte a las necesidades de tu aplicación, consulta Cómo elegir 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:

Cómo almacenar 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.

Si deseas obtener más información sobre el almacenamiento en App Engine, consulta los documentos. Después de abrir la página de los documentos, puedes elegir el lenguaje de programación que prefieras si haces clic en el nombre del lenguaje que se encuentra en la parte superior derecha de la página.

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. Si deseas obtener más información sobre las bases de datos de terceros en el entorno flexible, consulta Cómo usar 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.

Cómo hacer registros y supervisar con App Engine

En App Engine, las solicitudes se registran automáticamente, y puedes ver estos registros en GCP Console. App Engine también opera con las bibliotecas estándar y específicas de lenguaje, que proporcionan funciones de registro y, además, reenvía las entradas de registro a los registros de la consola. 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.

Stackdriver Monitoring proporciona funciones para supervisar tus aplicaciones de App Engine. Desde GCP Console, puedes supervisar incidentes, verificaciones de tiempo de actividad y otros detalles.

Cómo compilar sistemas de administración de contenido

Entregar un sitio web significa que puedes 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 S3, por lo que cualquier sistema que opere con S3 podrá funcionar con Cloud Storage.

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

Sistema de administración de contenido en Google Cloud Platform

¿Qué sigue?

  • Prueba otras características de Google Cloud Platform tú mismo. Revisa nuestros instructivos.
¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…