Este artículo trata sobre cómo alojar un sitio web en Google Cloud. Google Cloud proporciona una plataforma robusta, flexible, confiable y escalable para servir sitios web. Google creó Google Cloud usando la misma infraestructura que Google usa para entregar contenido de sitios como Google.com, YouTube y Gmail. Puede servir el contenido de su sitio web utilizando el tipo y el diseño de infraestructura que mejor se adapte a sus necesidades. Puede encontrar este artículo útil si usted es: - Con conocimientos sobre cómo crear un sitio web y haber implementado y ejecutado alguna infraestructura de servicio web antes - Evaluar si y cómo migrar su sitio a Google Cloud Si desea crear un sitio web simple, considere usar Google Sites, una herramienta estructurada de creación de páginas web y wiki. Para obtener más información, visite la ayuda de Sites. ## Elegir una opción Si es nuevo en el uso de Google Cloud, es un enfoque razonable comenzar usando el tipo de tecnología con la que ya está familiarizado. Por ejemplo, si actualmente usa servidores de hardware o máquinas virtuales (VM) para alojar su sitio, tal vez con otro proveedor de nube o en su propio hardware, Compute Engine le proporciona un paradigma familiar. Si ya utiliza una oferta de plataforma como servicio (PaaS), como Heroku o Engine Yard, App Engine podría ser el mejor lugar para comenzar. Si prefiere la informática sin servidor, Cloud Run probablemente sea una buena opción para usted Una vez que se familiarice con Google Cloud, puede explorar la riqueza de productos y servicios que ofrece Google Cloud. Por ejemplo, si comenzó usando Compute Engine, puede aumentar las capacidades de su sitio usando Google Kubernetes Engine (GKE) o migrar algunas o todas las funciones a App Engine y Cloud Run. La siguiente tabla resume sus opciones de alojamiento en Google Cloud: |Opción||Producto||Almacenamiento de datos||Balance de carga||Escalabilidad||Registro y monitoreo| |Sitio web estático|| | Almacenamiento en la nube Alojamiento de base de fuego |Contenedor de almacenamiento en la nube|| | HTTP(S) opcional |Automáticamente| |Máquinas virtuales||Motor informático|| | API de administración de Cloud SQL, API de Cloud Storage, API de Datastore y API de Cloud Bigtable, o puede usar otro proveedor de almacenamiento externo Discos persistentes basados ​​en disco duro, llamados | | HTTP(S) Proxy TCP Proxy SSL terminación IPv6 Red entre regiones Interno |Automáticamente con grupos de instancias administrados| |Contenedores||GKE||Similar a Compute Engine pero interactúa con los discos persistentes de manera diferente||Red | HTTP(S) |Escalador automático de clúster| |Plataforma gestionada|| | Motor de aplicaciones |Servicios de Google Cloud como Cloud SQL, Firestore, Cloud Storage y bases de datos de terceros accesibles|| | HTTP(S) Administrado por Google |Administrado por Google| |Sin servidor|| | carrera en la nube |Servicios de Google Cloud como Cloud SQL, Firestore, Cloud Storage y bases de datos de terceros accesibles|| | HTTP(S) Administrado por Google |Administrado por Google| Este artículo puede ayudarlo a comprender las principales tecnologías que puede usar para el servicio web en Google Cloud y darle una idea de cómo funcionan las tecnologías. El artículo proporciona enlaces a documentación completa, tutoriales y artículos de soluciones que pueden ayudarlo a desarrollar una comprensión más profunda, cuando esté listo. ## Entender los costos Debido a que hay tantas variables y cada implementación es diferente, está más allá del alcance de este artículo brindar consejos específicos sobre los costos. Para comprender los principios de Google sobre cómo funcionan los precios en Google Cloud, consulte la página de precios. Para comprender los precios de los servicios individuales, consulte la sección de precios de productos. También puede usar la calculadora de precios para estimar cómo sería su uso de Google Cloud. Puede proporcionar detalles sobre los servicios que desea utilizar y luego ver una estimación de precios ## Configuración de servicios de nombres de dominio Por lo general, querrá registrar un nombre de dominio para su sitio. Puede utilizar un registrador de nombres de dominio público, como Google Domains, para registrar un nombre único para su sitio. Si desea un control completo de su propio sistema de nombres de dominio (DNS), puede usar Cloud DNS para que funcione como su proveedor de DNS. La documentación de Cloud DNS incluye un inicio rápido para comenzar Si tiene un proveedor de DNS existente que desea usar, generalmente necesita crear un par de registros con ese proveedor. Para un nombre de dominio como example.com, creas un Un registro con su proveedor de DNS. Para el subdominio www.example.com, crea un Registro CNAME para www a punto a la ejemplo.com dominio. Él Un registro asigna un nombre de host a una dirección IP Él El registro CNAME crea un alias para el Un registro Si su registrador de nombres de dominio también es su proveedor de DNS, eso es probablemente todo lo que necesita hacer. Si usa proveedores separados para el registro y el DNS, asegúrese de que su registrador de nombres de dominio tenga los servidores de nombres correctos asociados con su dominio. Después de realizar los cambios de DNS, las actualizaciones de registros pueden demorar un tiempo en propagarse según los valores de tiempo de vida (TTL) en su zona. Si se trata de un nuevo nombre de host, los cambios entran en vigencia rápidamente porque los resolutores de DNS no tienen valores anteriores almacenados en caché y pueden comunicarse con el proveedor de DNS para obtener la información necesaria para enrutar las solicitudes. ## Alojar un sitio web estático La forma más sencilla de servir el contenido de un sitio web a través de HTTP(S) es alojar *páginas web estáticas*. Se sirven páginas web estáticas sin cambios, tal como fueron escritos, generalmente usando HTML. Usar un sitio web estático es una buena opción si las páginas de su sitio rara vez cambian después de haber sido publicado, como publicaciones de blog o páginas que forman parte de una pequeña empresa sitio web. Puede hacer mucho con las páginas web estáticas, pero si necesita que su sitio tener interacciones sólidas con los usuarios a través del código del lado del servidor, debe considere las otras opciones discutidas en este artículo Alojar un sitio web estático con Cloud Storage Para alojar un sitio estático en Cloud Storage, debe crear un Cubo de almacenamiento en la nube, cargue el contenido y pruebe su nuevo sitio. Usted puede servir sus datos directamente desde almacenamiento.googleapis.com, o tu puedes verifica que eres dueño de tu dominio y use tu nombre de dominio Puedes crear tus páginas web estáticas como quieras. Por ejemplo, podrías páginas de autor manual usando HTML y CSS. Puedes usar un *generador de sitio estático*, tal como jekyll, Fantasma, o Hugo, para crear el contenido Con los generadores de sitios estáticos, crea un sitio web estático al autoría en reducción, y proporcionar plantillas y herramientas. Generadores de sitios en general proporcionar un servidor web local que puede usar para obtener una vista previa de su contenido Después de que su sitio estático esté funcionando, puede actualizar las páginas estáticas usando cualquier proceso que te gusta. Ese proceso puede ser tan sencillo como copiar a mano un página actualizada al cubo. Puede optar por utilizar un enfoque más automatizado, como almacenar su contenido en GitHub y luego usar un webhook ejecutar un script que actualiza el depósito. Un sistema aún más avanzado podría usar un herramienta de integración continua/entrega continua (CI/CD), como Jenkins, para actualizar el contenido de la balde. Jenkins tiene un almacenamiento en la nube enchufar que proporciona un Paso posterior a la compilación de Google Cloud Storage Uploader para publicar la compilación artefactos al almacenamiento en la nube Si tiene una aplicación web que necesita entregar contenido estático o medios estáticos subidos por el usuario, usar Cloud Storage puede ser una forma rentable y eficiente de alojar y entregar este contenido, mientras reduce la cantidad de solicitudes dinámicas a su aplicación web. Además, Cloud Storage puede aceptar directamente el contenido enviado por el usuario. Esta función permite a los usuarios cargar archivos multimedia de gran tamaño de forma directa y segura sin pasar por sus servidores. Para obtener el mejor rendimiento de su sitio web estático, consulte Mejores prácticas para almacenamiento en la nube Para obtener más información, consulte las siguientes páginas: - Alojamiento de un sitio web estático - J es para Jenkins (entrada de blog) - Band Aid 30 en Google Cloud (entrada de blog) - Documentación de almacenamiento en la nube Alojar un sitio web estático con Firebase Hosting Firebase Hosting proporciona alojamiento estático rápido y seguro para su aplicación web. Con Firebase Hosting, puede implementar aplicaciones web y contenido estático en una red global de entrega de contenido (CDN) con un solo comando Estos son algunos de los beneficios que obtienes cuando usas Firebase Hosting: - El SSL de configuración cero está integrado en Firebase Hosting. Aprovisiona certificados SSL en dominios personalizados de forma gratuita - Todo su contenido se sirve a través de HTTPS - Su contenido se entrega a sus usuarios desde los bordes de CDN en todo el mundo - Con Firebase CLI, puede poner en marcha su aplicación en segundos. Use herramientas de línea de comandos para agregar objetivos de implementación en su proceso de compilación - Obtiene funciones de administración de versiones, como implementación atómica de nuevos activos, control de versiones completo y reversiones con un solo clic - El alojamiento ofrece una configuración útil para aplicaciones de una sola página y otros sitios que son más similares a aplicaciones. - El alojamiento está diseñado para usarse sin problemas con otras funciones de Firebase Para obtener más información, consulte las siguientes páginas: ## Uso de máquinas virtuales con Compute Engine Para casos de uso de infraestructura como servicio (IaaS), Google Cloud proporciona Compute Engine. Compute Engine proporciona una infraestructura informática robusta, pero debe elegir y configurar los componentes de la plataforma que desea usar. Con Compute Engine, es su responsabilidad configurar, administrar y monitorear los sistemas. Google se asegura de que los recursos estén disponibles, sean confiables y estén listos para que los use, pero depende de usted proporcionarlos y administrarlos. La ventaja, aquí, es que tiene control total de los sistemas y flexibilidad ilimitada. Usa Compute Engine para diseñar e implementar casi cualquier sistema de servicio de sitios web que desees. Puede usar máquinas virtuales, llamadas instancias, para crear su aplicación, como lo haría si tuviera su propia infraestructura de hardware. Compute Engine ofrece una variedad de tipos de máquinas para personalizar su configuración para satisfacer sus necesidades y su presupuesto. Puede elegir qué sistemas operativos, pilas de desarrollo, lenguajes, marcos, servicios y otras tecnologías de software prefiere Configuración automática con Google Cloud Marketplace La forma más fácil de implementar una pila completa de servicios web es mediante Google Cloud Marketplace. Con solo unos pocos clics, puede implementar cualquiera de las más de 100 soluciones completas con Google Click to Deploy o Bitnami Por ejemplo, puede configurar una pila LAMP o WordPress con Cloud Marketplace. El sistema implementa una pila de software completa y en funcionamiento en solo unos minutos en una sola instancia. Antes de implementar, Cloud Marketplace le muestra estimaciones de costos para ejecutar el sitio, le brinda información clara sobre qué versiones de los componentes de software instala para usted y le permite personalizar su configuración cambiando los nombres de las instancias de los componentes, eligiendo el tipo de máquina y eligiendo un tamaño de disco. Después de implementar, tiene control total sobre las instancias de Compute Engine, sus configuraciones y el software. Configuración manual También puede crear su infraestructura en Compute Engine manualmente, ya sea construyendo su configuración desde cero o construyendo sobre una implementación de Google Cloud Marketplace. Por ejemplo, es posible que desee utilizar una versión de un componente de software que no ofrece Cloud Marketplace, o quizás prefiera instalar y configurar todo por su cuenta. Proporcionar un marco completo y las mejores prácticas para configurar un sitio web está más allá del alcance de este artículo. Pero desde una perspectiva de alto nivel, el aspecto técnico de configurar una infraestructura de servicio web en Compute Engine requiere que: Comprender los requisitos. Si está creando un nuevo sitio web, asegúrese de comprender los componentes que necesita, como instancias, necesidades de almacenamiento e infraestructura de red.Si está migrando su aplicación desde una solución existente, probablemente ya comprenda estos requisitos, pero necesita pensar cómo su configuración existente se asigna a los servicios de Google Cloud.Planifica el diseño.Piense en su arquitectura y escriba su diseño.Sea tan explícito como pueda.Crear los componentes.Los componentes que normalmente considera activos físicos, como computadoras y conmutadores de red, se proporcionan a través de servicios en Compute Engine.Por ejemplo, si desea una computadora, debe crear una instancia de Compute Engine.Si quiere una unidad de disco duro persistente, créela también.Cloud Deployment Manager o Terraform hacen que este sea un proceso fácil y repetible.Configure y personalice. Una vez que tenga los componentes que desea, debe configurarlos, instalar y configurar el software, y escribir e implementar cualquier código de personalización que necesite.Puede replicar la configuración ejecutando scripts de shell, lo que ayuda a acelerar futuras implementaciones.Deployment Manager también ayuda aquí, proporcionando plantillas de configuración declarativas y flexibles para la implementación automática de recursos.También puede aprovechar las herramientas de automatización de TI como Puppet y Chef.Implementar los activos.Presumiblemente, tienes páginas web e imágenes.Prueba.Verifica que todo funcione como esperas.Implementar en producción.Abre tu sitio para que el mundo lo vea y lo usePara ayudarte a comenzar y comprender cómo es configurar instancias de Compute Engine manualmente, prueba una o más de los siguientes tutoriales:Almacenamiento de datos con Compute Engine La mayoría de los sitios web necesitan algún tipo de almacenamiento. Es posible que necesite almacenamiento por una variedad de razones, como guardar archivos que cargan sus usuarios y, por supuesto, los activos que usa su sitio. Google Cloud proporciona una variedad de servicios de almacenamiento administrado, que incluyen: - Una base de datos SQL en Cloud SQL, que se basa en MySQL - Dos opciones para el almacenamiento de datos NoSQL: Firestore y Cloud Bigtable - Almacenamiento de objetos consistente, escalable y de gran capacidad en Almacenamiento en la nube Cloud Storage viene en varias clases: - Estándar proporciona la máxima disponibilidad - Nearline ofrece una opción de bajo costo ideal para los datos a los que se accede menos de una vez al mes - Coldline ofrece una opción de bajo costo ideal para los datos a los que se accede menos de una vez por trimestre - El archivo proporciona la opción de menor costo para archivado, copia de seguridad y recuperación ante desastres - Discos persistentes en Compute Engine para usar como almacenamiento principal para sus instancias. Ofertas de Compute Engine ambos discos persistentes basados ​​en disco duro, llamados discos persistentes estándar y discos persistentes de estado sólido (SSD). También puede optar por configurar su tecnología de almacenamiento preferida en Compute Engine mediante el uso de discos persistentes. Por ejemplo, puede configurar PostgreSQL como su base de datos SQL o MongoDB como su almacenamiento NoSQL. Para comprender la gama completa y los beneficios de los servicios de almacenamiento en Google Cloud, consulte Elegir una opción de almacenamiento Equilibrio de carga con Compute Engine Para cualquier sitio web que opere a escala, el uso de tecnologías de equilibrio de carga para distribuir la carga de trabajo entre los servidores suele ser un requisito. Tienes una variedad de opciones cuando diseñas tus servidores web con equilibrio de carga en Compute Engine, que incluyen: - Equilibrio de carga HTTP (S) Explica los fundamentos del uso de Cloud Load Balancing - Balanceo de carga basado en contenido. Demuestra cómo distribuir el tráfico a diferentes instancias en función de la URL entrante - Equilibrio de carga entre regiones. Demuestra la configuración de instancias de VM en diferentes regiones y el uso del equilibrio de carga HTTP o HTTPS para distribuir el tráfico entre las regiones. - Equilibrio de carga del Proxy TCP. Demuestra cómo configurar el equilibrio de carga del proxy TCP global para un servicio que existe en varias regiones - Equilibrio de carga de proxy SSL. Demuestra cómo configurar el equilibrio de carga de proxy SSL global para un servicio que existe en varias regiones - Terminación IPv6 para equilibrio de carga HTTP(S), Proxy SSL y Proxy TCP. Explica la terminación de IPv6 y las opciones para configurar balanceadores de carga para manejar solicitudes de IPv6. - Equilibrio de carga de red. Muestra un escenario básico que establece una configuración de equilibrio de carga de capa 3 para distribuir el tráfico HTTP entre instancias en buen estado - Equilibrio de carga entre regiones con backends de Microsoft IIS. Muestra cómo usar el balanceador de carga de Compute Engine para distribuir el tráfico a los servidores de Microsoft Internet Information Services (IIS). - Configuración del balanceo de carga interno Puede configurar un balanceador de carga que distribuya el tráfico de red en una red privada que no esté expuesta a Internet. El equilibrio de carga interno es útil no solo para aplicaciones de intranet donde todo el tráfico permanece en una red privada, sino también para aplicaciones web complejas donde un frontend solicita servidores backend mediante el uso de una red privada. La implementación del equilibrio de carga es flexible y puedes usar Compute Engine con tus soluciones existentes. Por ejemplo, el balanceo de carga HTTP(S) con Nginx es una posible solución que podría usar en lugar del balanceador de carga de Compute Engine. Distribución de contenido con Compute Engine Debido a que el tiempo de respuesta es una métrica fundamental para cualquier sitio web, el uso de una CDN para reducir la latencia y aumentar el rendimiento suele ser un requisito, especialmente para un sitio con tráfico web global. Cloud CDN utiliza los puntos de presencia perimetrales distribuidos globalmente de Google para entregar contenido desde las ubicaciones de caché más cercanas a los usuarios. Cloud CDN funciona con equilibrio de carga HTTP(S). Para entregar contenido desde Compute Engine, Cloud Storage o ambos desde una sola dirección IP, habilite Cloud CDN para un balanceador de cargas HTTP(S). Ajuste de escala automático con Compute Engine Puede configurar su arquitectura para agregar y quitar servidores según varíe la demanda. Este enfoque puede ayudar a garantizar que su sitio funcione bien en condiciones de carga máxima, al mismo tiempo que mantiene los costos bajo control durante los períodos de demanda más típicos. Compute Engine proporciona un escalador automático que puede usar para este propósito El ajuste de escala automático es una característica de los grupos de instancias administrados. Un grupo de instancias administrado es un grupo de instancias de máquinas virtuales homogéneas, creadas a partir de una plantilla de instancias común. Un escalador automático agrega o elimina instancias en un grupo de instancias administrado. Aunque Compute Engine tiene grupos de instancias administrados y no administrados, solo puede 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. Para ver en profundidad lo que se necesita para crear una solución de aplicación web escalable y resistente, consulte Creación de aplicaciones web escalables y resistentes Registro y supervisión con Compute Engine Google Cloud incluye funciones que puede usar para controlar lo que sucede con su sitio web Cloud Logging recopila y almacena registros de aplicaciones y servicios en Google Cloud. Puede ver o exportar registros e integrar registros de terceros mediante el uso de un agente de registro Cloud Monitoring proporciona paneles y alertas para su sitio.Configuras Monitoring con la consola de Google Cloud.Puede revisar las métricas de rendimiento de los servicios en la nube, las máquinas virtuales y los servidores comunes de código abierto, como MongoDB, Apache, Nginx y Elasticsearch.Puede usar la API de Cloud Monitoring para recuperar datos de monitoreo y crear métricas personalizadasCloud Monitoring también proporciona controles de tiempo de actividad, que envían solicitudes a sus sitios web para ver si responden.Puede monitorear la disponibilidad de un sitio web mediante la implementación de una política de alertas que crea un incidente si la verificación del tiempo de actividad fallaAdministración de DevOps con Compute EnginePara obtener información sobre la administración de DevOps con Compute Engine, consulte los siguientes artículos:- Pruebas de carga distribuida con Kubernetes- Ejecución de Spinnaker en Compute Engine- Administración de implementaciones en Google Cloud con Spinnaker# # Usar contenedores con GKEEs posible que ya estés usando contenedores, como contenedores Docker.Para el servicio web, los contenedores ofrecen varias ventajas, entre ellas:Componentes.Puede usar contenedores para separar los diversos componentes de su aplicación web.Por ejemplo, suponga que su sitio ejecuta un servidor web y una base de datos.Puede ejecutar estos componentes en contenedores separados, modificando y actualizando un componente sin afectar al otro.A medida que el diseño de su aplicación se vuelve más complejo, los contenedores se adaptan bien a una arquitectura orientada a servicios, incluidos los microservicios.Este tipo de diseño admite la escalabilidad, entre otros objetivos.Portabilidad.Un contenedor tiene todo lo que necesita para ejecutar su aplicación y sus dependencias están agrupadas.Puede ejecutar sus contenedores en una variedad de plataformas, sin preocuparse por los detalles del sistema subyacente.Despliegue rápido.Cuando llega el momento de la implementación, su sistema se crea a partir de un conjunto de definiciones e imágenes, por lo que las partes se pueden implementar de manera rápida, confiable y automática.Los contenedores suelen ser pequeños y se implementan mucho más rápido en comparación con, por ejemplo, las máquinas virtualesLa computación de contenedores en Google Cloud ofrece aún más ventajas para el servicio web, que incluyen:Orquestación.GKE es un servicio administrado basado en Kubernetes, el sistema de orquestació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 lugar de administrar contenedores individuales o crear y cerrar cada contenedor manualmente, puede administrar automáticamente el clúster a través de GKE, que usa la configuración que defina.Registro de imagen.Container Registry o Artifact Registry proporciona almacenamiento privado para imágenes de Docker en Google Cloud.Puede acceder al registro a través de un extremo HTTPS, por lo que puede extraer imágenes de cualquier máquina, ya sea una instancia de Compute Engine o su propio hardware.El servicio de registro aloja sus imágenes personalizadas en Cloud Storage en su proyecto de Google Cloud.Este enfoque garantiza de forma predeterminada que solo los principales que tienen acceso a su proyecto pueden acceder a sus imágenes personalizadas.Movilidad.Esto significa que tiene la flexibilidad de mover y combinar cargas de trabajo con otros proveedores de la nube, o combinar cargas de trabajo de computación en la nube con implementaciones locales para crear una solución híbridaAlmacenamiento de datos con GKEDebido a que GKE se ejecuta en Google Cloud y usa instancias de Compute Engine como nodos, sus opciones de almacenamiento tienen mucho en común con el almacenamiento en Compute Engine.Puede acceder a Cloud SQL, Cloud Storage, Datastore y Bigtable a través de sus API, o puede usar otro proveedor de almacenamiento externo si lo desea.Sin embargo, GKE interactúa con los discos persistentes de Compute Engine de una manera diferente a como lo haría una instancia normal de Compute EngineUna instancia de Compute Engine incluye un disco adjunto.Cuando usasCompute Engine, mientras exista la instancia, el volumen del disco permanece con la instancia.Incluso puede desconectar el disco y usarlo con una instancia dediferente.Pero en un contenedor, los archivos en disco son efímeros.Cuando un contenedorse reinicia, como después de un bloqueo, los archivos en el disco se pierden.Kubernetes resuelveeste problema usando una abstracción devolumen, y un tipo de volumen esgcePersistentDiskEsto significa que puede usar discos persistentes de Compute Engine con contenedores paraevitar que sus archivos de datos se eliminen cuando usa GKEPara comprender las características y los beneficios de un volumen , primero debe comprender un poco acerca de los pods.Puede pensar en un pod como un host lógico específico de la aplicación para uno o más contenedores.Un pod se ejecuta en una instancia de nodo.Cuando los contenedores son miembros de un pod, pueden compartir varios recursos, incluido un conjunto de volúmenes de almacenamiento compartido.Estos volúmenes permiten que los datos sobrevivan a los reinicios del contenedor y se compartan entre los contenedores dentro del pod.Por supuesto, también puede 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íPor ejemplo , consulte el tutorial Uso de discos persistentes con WordPress y MySQLEquilibrio de carga con GKEMuchas arquitecturas de servicios web grandes necesitan tener varios servidores en ejecución que puedan compartir las demandas de tráfico.Debido a que puede crear y administrar múltiples contenedores, nodos y pods con GKE, es una opción natural para un sistema de servicio web con equilibrio de cargaUso del equilibrio de carga de redLa forma más fácil de crear un balanceador de carga en GKE es usar el balanceo de carga de red de Compute Engine.El equilibrio de carga de red puede equilibrar la carga de sus sistemas en función de los datos de protocolo de Internet entrantes, como la dirección, el puerto y el tipo de protocolo.El equilibrio de carga de red utiliza reglas de reenvío.Estas reglas apuntan a grupos de destino que enumeran qué instancias están disponibles para usar para equilibrar la carga Con el equilibrio de carga de red, puede equilibrar la carga de protocolos adicionales basados ​​en TCP/UDP, como el tráfico SMTP, y su aplicación puede inspeccionar directamente los paquetes. Puede implementar el equilibrio de carga de red simplemente agregando el tipo: equilibrador de carga campo a su archivo de configuración de servicio Uso del equilibrio de carga HTTP(S) Si necesitas funciones de equilibrio de carga más avanzadas, como equilibrio de carga HTTPS, equilibrio de carga basado en contenido o equilibrio de carga entre regiones, puedes integrar tu servicio GKE con la función de equilibrio de carga HTTP/HTTPS de Compute Engine. Kubernetes proporciona el recurso Ingress que encapsula una colección de reglas para enrutar el tráfico externo a los puntos finales de Kubernetes. En GKE, un recurso de Ingress maneja el aprovisionamiento y la configuración del balanceador de cargas HTTP/HTTPS de Compute Engine. Para obtener más información sobre cómo usar el balanceo de cargas HTTP/HTTPS en GKE, consulta Cómo configurar el balanceo de cargas HTTP con Ingress Escalar con GKE Para cambiar el tamaño automáticamente de los clústeres, puede usar el escalador automático de clústeres. Esta función comprueba periódicamente si hay algún pod que esté esperando un nodo con recursos libres pero que no esté programado. Si tales pods existen, entonces el escalador automático cambia el tamaño del grupo de nodos si el cambio de tamaño permitiría programar los pods en espera. Cluster Autoscaler también supervisa el uso de todos los nodos. Si no se necesita un nodo durante un período de tiempo prolongado y todos sus pods se pueden programar en otro lugar, entonces el nodo se elimina. Para obtener más información sobre el escalador automático de clústeres, sus limitaciones y las prácticas recomendadas, consulte la documentación del escalador automático de clústeres. Registro y supervisión con GKE Al igual que en Compute Engine, Logging and Monitoring proporciona sus servicios de registro y monitoreo. Logging recopila y almacena registros de aplicaciones y servicios. Puede ver o exportar registros e integrar registros de terceros mediante el uso de un agente de registro El monitoreo proporciona paneles y alertas para su sitio. La supervisión se configura con la consola de Google Cloud. Puede revisar las métricas de rendimiento de los servicios en la nube, las máquinas virtuales y los servidores comunes de código abierto, como MongoDB, Apache, Nginx y Elasticsearch. Puede utilizar la API de supervisión para recuperar datos de supervisión y crear métricas personalizadas Administrar DevOps con GKE Cuando usa GKE, ya está obteniendo muchos de los beneficios en los que la mayoría de la gente piensa cuando piensa en DevOps. Esto es especialmente cierto cuando se trata de la facilidad de empaquetado, implementación y administración. Para sus necesidades de flujo de trabajo de CI/CD, puede aprovechar herramientas populares como Jenkins. Consulte los siguientes artículos: ## Desarrollar en una plataforma administrada con App Engine En Google Cloud, la plataforma administrada como servicio (PaaS) se llama App Engine. Cuando crea su sitio web en App Engine, puede concentrarse en codificar sus funciones y dejar que Google se preocupe por administrar la infraestructura de soporte. App Engine ofrece una amplia gama de funciones que hacen que la escalabilidad, el equilibrio de carga, el registro, la supervisión y la seguridad sean mucho más fáciles que si tuviera que crearlos y administrarlos usted mismo. App Engine le permite codificar en una variedad de lenguajes de programación y puede usar una variedad de otros servicios de Google Cloud App Engine proporciona el entorno estándar, que le permite ejecutar aplicaciones en un entorno seguro y aislado. El entorno estándar de App Engine distribuye las solicitudes entre varios servidores y escala los servidores para satisfacer las demandas de tráfico. Su 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. Para brindarle más opciones, App Engine ofrece un entorno flexible. Cuando usa el entorno flexible, su aplicación se ejecuta en instancias configurables de Compute Engine, pero App Engine administra el entorno de alojamiento por usted. Esto significa que puede usar tiempos de ejecución adicionales, incluidos tiempos de ejecución personalizados, para obtener más opciones de lenguaje de programación. También puede aprovechar parte de 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 tiempos de ejecución predeterminados y el código fuente se escribe en versiones específicas de los lenguajes de programación admitidos. Con el entorno flexible, escribe el código fuente en una versión de cualquiera de los lenguajes de programación admitidos. Puede personalizar estos tiempos de ejecución o proporcionar su propio tiempo de ejecución con una imagen de Docker personalizada o un Dockerfile Si el lenguaje de programación que usa es una preocupación principal, debe decidir si los tiempos de ejecución proporcionados por el entorno estándar de App Engine cumplen con sus requisitos. Si no lo hacen, debería considerar usar el entorno flexible Para determinar qué entorno se adapta mejor a las necesidades de su aplicación, consulte Elegir un entorno de App Engine Tutoriales de introducción por idioma Los siguientes tutoriales pueden ayudarte a comenzar a usar el entorno estándar de App Engine: - Hola Mundo en Python - Hola Mundo en Java - Hola Mundo en PHP - Hola Mundo en Ruby - Hola Mundo en Go - Hola Mundo en Node.js Los siguientes tutoriales pueden ayudarlo a comenzar a usar el entorno flexible: - Comenzando con Python - Comenzando con Java - Comenzando con PHP - Primeros pasos con Go - Primeros pasos con Node.js - Primeros pasos con Rubí - Primeros pasos con .NET Almacenamiento de datos con App Engine App Engine te ofrece opciones para almacenar tus datos: |Nombre||Estructura||Coherencia| |Firestore||Scheless||Muy coherente.| |Cloud SQL||Relacional||Muy coherente.| |Almacenamiento en la nube||Archivos y sus metadatos asociados||Muy coherente, excepto cuando se realizan operaciones de lista que obtienen una lista de depósitos u objetos.| También puede utilizar varias bases de datos de terceros con el entorno estándar Para obtener más detalles sobre el almacenamiento en App Engine, consulte Elegir una opción de almacenamiento y luego seleccione su lenguaje de programación preferido. Cuando utiliza el entorno flexible, puede utilizar todas las mismas opciones de almacenamiento que con el entorno estándar y también una gama 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, consulte Uso de bases de datos de terceros Equilibrio de carga y ajuste de escala automático con App Engine De forma predeterminada, App Engine enruta automáticamente las solicitudes entrantes a las instancias de back-end adecuadas y equilibra la carga por ti. Sin embargo, si desea aprovechar las capacidades de equilibrio de carga HTTP(S) de nivel empresarial con todas las funciones de Google Cloud, puede usar grupos de puntos finales de red sin servidor Para escalar, App Engine puede crear y reducir instancias automáticamente a medida que fluctúa el tráfico, o puede especificar una cantidad de instancias para ejecutar independientemente de la cantidad de tráfico. Registro y supervisión con App Engine En App Engine, las solicitudes se registran automáticamente y puedes verlas inicia sesión en la consola de Google Cloud. App Engine también funciona con bibliotecas estándar específicas del idioma que proporcionan funcionalidad de registro y reenvía las entradas de registro a los registros en la consola de Google Cloud. Por ejemplo, en pitón puede usar el módulo de registro estándar de Python y en Java puede integrar el agregador de inicio de sesión o java.util.registro con registro en la nube. Este enfoque habilita todas las funciones de Cloud Logging y requiere solo unas pocas líneas de código específico de Google Cloud Cloud Monitoring proporciona funciones para monitorear sus aplicaciones de App Engine. A través de la consola de Google Cloud, puede monitorear incidentes, verificaciones de tiempo de actividad y otros detalles ## Construyendo sobre una plataforma sin servidor con Cloud Run La plataforma sin servidor de Google Cloud te permite escribir código a tu manera sin preocuparte por la infraestructura subyacente. Puede crear aplicaciones sin servidor de pila completa con el almacenamiento, las bases de datos, el aprendizaje automático y más de Google Cloud. Para sus sitios web en contenedores, también puede implementarlos en Cloud Run además de usar GKE. Cloud Run es una plataforma sin servidor completamente administrada que le permite ejecutar aplicaciones en contenedores altamente escalables en Google Cloud. Solo pagas por el tiempo que se ejecuta tu código Al usar contenedores con Cloud Run, puede aprovechar tecnologías maduras como Nginx, Express.js y Django para crear sus sitios web, acceder a su base de datos SQL en Cloud SQL y representar páginas HTML dinámicas. La documentación de Cloud Run incluye un inicio rápido para comenzar Almacenamiento de datos con Cloud Run Los contenedores de Cloud Run son efímeros y debe comprender sus cuotas y límites para sus casos de uso. Los archivos se pueden almacenar temporalmente para su procesamiento en una instancia de contenedor, pero este almacenamiento sale de la memoria disponible para el servicio como se describe en el contrato de tiempo de ejecución. Para el almacenamiento persistente, similar a App Engine, puede elegir los servicios de Google Cloud, como Cloud Storage, Firestore o Cloud SQL. Alternativamente, también puede usar una solución de almacenamiento de terceros Equilibrio de carga y escalado automático con Cloud Run De manera predeterminada, cuando crea en Cloud Run, enruta automáticamente las solicitudes entrantes a los contenedores de back-end apropiados y equilibra la carga por usted. Sin embargo, si desea aprovechar las capacidades de equilibrio de carga HTTP(S) de nivel empresarial con todas las funciones de Google Cloud, puede usar grupos de puntos finales de red sin servidor Con el balanceo de cargas HTTP(S), puede habilitar Cloud CDN o atender el tráfico de varias regiones. Además, puede usar middleware como API Gateway para mejorar su servicio Para Cloud Run, Google Cloud administra el escalado automático de instancias de contenedores para usted. Cada revisión se escala automáticamente a la cantidad de instancias de contenedor necesarias para manejar todas las solicitudes entrantes. Cuando una revisión no recibe ningún tráfico, por defecto se escala a cero instancias de contenedor. Sin embargo, si lo desea, puede cambie este valor predeterminado para especificar una instancia que se mantendrá inactiva o *caliente* usando la configuración mínima de instancias Registro y monitoreo con Cloud Run Cloud Run tiene dos tipos de registros, que se envían automáticamente a Cloud Logging: - Registros de solicitudes: registros de solicitudes enviadas a los servicios de Cloud Run. Estos registros se crean automáticamente. - Registros del contenedor: registros emitidos desde las instancias del contenedor, generalmente desde su propio código, escritos en ubicaciones admitidas como se describe en Escritura de registros del contenedor Puede ver los registros de su servicio de dos maneras: - Use la página de Cloud Run en la consola de Google Cloud - Use Cloud Logging Logs Explorer en la consola de Google Cloud Ambos métodos de visualización examinan los mismos registros almacenados en Cloud Logging, pero Logs Explorer proporciona más detalles y más capacidades de filtrado. Cloud Monitoring proporciona monitoreo de rendimiento, métricas y verificaciones de tiempo de actividad de Cloud Run, junto con alertas para enviar notificaciones cuando se superan ciertos umbrales de métricas. Se aplican los precios de la suite de operaciones de Google Cloud, lo que significa que no se aplican cargos por las métricas en la versión completamente administrada de Cloud Run. Tenga en cuenta que también puede usar métricas personalizadas de Cloud Monitoring Cloud Run está integrado con Cloud Monitoring *sin instalación o configuración requerida*. Esto significa que las métricas de su Los servicios de Cloud Run se capturan automáticamente cuando se están ejecutando ## Creación de sistemas de gestión de contenido Servir un sitio web significa administrar los activos de su sitio web. Cloud Storage proporciona un repositorio global para estos activos. Una arquitectura común implementa contenido estático en Cloud Storage y luego se sincroniza con Compute Engine para generar páginas dinámicas. Cloud Storage funciona con muchos sistemas de administración de contenido de terceros, como WordPress, Drupal y Joomla. Cloud Storage también ofrece una API compatible con Amazon S3, por lo que cualquier sistema que funcione con Amazon S3 puede funcionar con Cloud Storage El siguiente diagrama es una arquitectura de muestra para un sistema de administración de contenido ## Que sigue - Explore arquitecturas de referencia, diagramas, tutoriales y prácticas recomendadas sobre Google Cloud. Eche un vistazo a nuestro Centro de arquitectura en la nube.