Acerca de los servicios de GCP

En esta descripción general, se presentan algunos de los servicios de Google Cloud Platform (GCP) que se usan comúnmente. Consulta la página de productos y servicios para ver la lista completa.

En esta descripción, se abarcan los siguientes tipos de servicios:

Servicios de procesamiento y hosting

GCP ofrece diversas alternativas para el procesamiento y hosting. Puedes elegir las siguientes opciones:

  • Trabajar en un entorno sin servidores
  • Usar una plataforma de aplicación administrada
  • Aprovechar las tecnologías de contenedores para obtener una gran flexibilidad
  • Compilar tu propia infraestructura basada en la nube para tener el máximo control y flexibilidad

Imagina un espectro en el que en un extremo tienes la mayoría de las responsabilidades para la administración de recursos y, en el otro, Google maneja la mayoría de estas:

Opciones de hosting y procesamiento que ofrecen una variedad de requisitos operativos

Computación sin servidores

Google Cloud Functions, la oferta de funciones como un servicio (FaaS) de GCP, brinda un entorno de ejecución sin servidores para crear y conectar los servicios de la nube. Con Cloud Functions, puedes programar funciones simples de un solo propósito vinculadas a eventos emitidos desde tu infraestructura y servicios en la nube. Las funciones de Cloud Functions se ejecutan cuando se emite un evento bajo observación. El código se ejecuta en un entorno completamente administrado. No es necesario aprovisionar infraestructura ni preocuparse por administrar servidores.

Las funciones de Cloud Functions se programan en JavaScript y se ejecutan en un entorno Node.js v6.11.5 en GCP. Las funciones de Cloud Functions se pueden ejecutar en cualquier entorno Node.js estándar, por lo que es sencillo realizar pruebas locales y de portabilidad.

Cloud Functions es una buena elección para los siguientes casos prácticos:

  • Operaciones de ETL y procesamiento de datos para situaciones que implican transcodificación de videos y datos de transmisión de IoT

  • Webhooks para responder a activadores HTTP

  • API ligeras que constituyen la lógica de estructura flexible de las aplicaciones

  • Funciones de backend para dispositivos móviles

Plataforma de aplicaciones

Google App Engine es la plataforma como servicio (PaaS) de GCP. Con App Engine, Google controla la mayor parte de la administración de los recursos en tu nombre. Por ejemplo, si tu aplicación necesita más recursos de procesamiento debido al aumento del tráfico hacia tu sitio web, Google ajustará automáticamente la escala del sistema para proporcionar esos recursos. También administraremos por ti las actualizaciones de seguridad del software del sistema.

Si compilas tu aplicación en App Engine, podrás realizar las siguientes acciones:

  • Compilar tu aplicación en los entornos de ejecución estándar de App Engine en los lenguajes compatibles con el entorno estándar, como los siguientes: Python 2.7, Java 8, Java 7, PHP 5.5 y Go 1.8, 1.6

  • Compilar tu aplicación en los entornos de ejecución flexibles de App Engine en los lenguajes compatibles con el entorno flexible de App Engine, como los siguientes: Python 2.7/3.6, Java 8, Go 1.8, Node.js, PHP 5.6, 7, .NET y Ruby. O utilizar entornos de ejecución personalizados a fin de usar la implementación alternativa de un lenguaje compatible o cualquier otro lenguaje

  • Permitir que Google administre por ti el hosting, el escalamiento, la supervisión y la infraestructura de las aplicaciones

  • Usar el SDK de App Engine a fin de desarrollar y realizar pruebas en tu máquina local mediante un entorno que simula a App Engine en GCP

  • Usar con facilidad las tecnologías de almacenamiento compatibles por diseño con App Engine en entornos estándar y flexibles

    Google Cloud SQL es una base de datos SQL compatible con MySQL y PostgreSQL. Google Cloud Datastore es un almacén de datos NoSQL sin esquemas. Google Cloud Storage proporciona espacio para los archivos grandes.

    En el entorno estándar, también puedes elegir entre una variedad de bases de datos de terceros, como Redis, MongoDB, Cassandra y Hadoop, para usar con tus aplicaciones.

    En el entorno flexible, puedes usar cualquier base de datos de terceros que sea compatible con tu lenguaje, siempre y cuando se pueda acceder a esta desde la instancia de Google App Engine.

    En ambos entornos, las bases de datos de terceros pueden alojarse en Compute Engine, en otro proveedor de servicios en la nube o localmente, o estar bajo la administración de otro proveedor.

  • En el entorno estándar, puedes usar Cloud Endpoints para generar API y bibliotecas cliente que luego puedes aplicar a fin de simplificar el acceso a los datos desde otras aplicaciones. Con Endpoints, se simplifica la creación de un backend web para clientes móviles, como iOS y Android, y web

  • Usar servicios integrados y administrados para actividades como la administración de usuarios y correos electrónicos

  • Usar Cloud Security Scanner a fin de identificar vulnerabilidades de seguridad de forma complementaria a tus procesos existentes y seguros de diseño y desarrollo

  • Implementar tu aplicación mediante la aplicación de la GUI del iniciador de App Engine en macOS o Microsoft Windows o a través de la línea de comandos

  • En el caso del entorno estándar, ejecutar tu aplicación desde las regiones del centro de EE.UU. o Europa occidental

Consulta la documentación de App Engine para ver una lista y una descripción completas de las funciones de App Engine.

Contenedores

La computación basada en contenedores te permite centrarte en el código de tu aplicación, en lugar de las implementaciones y la integración en entornos de hosting. Google Kubernetes Engine, la oferta de contenedores como servicio (CaaS) de GCP, se basa en el sistema Kubernetes de código abierto y brinda la flexibilidad de los sistemas locales o de nube híbrida, además de la infraestructura de nube pública de GCP.

Si compilas con Kubernetes Engine, podrás realizar las siguientes acciones:

  • Crear y administrar grupos de instancias de Compute Engine que se ejecutan en Kubernetes, también conocidos como clústeres. Kubernetes Engine usa instancias de Compute Engine como nodos en un clúster. Cada nodo usa el entorno de ejecución Docker, un agente de nodo de Kubernetes que supervisa el estado del nodo y un proxy de red sencillo

  • Declarar los requisitos de tus contenedores Docker mediante un archivo de configuración JSON simple

  • Usar Google Container Registry para almacenar las imágenes de Docker de forma segura y privada. Puedes enviar imágenes directamente al registro y luego extraerlas en cualquier instancia de Compute Engine o tu propio hardware mediante un extremo HTTP

  • Crear pods de uno o varios contenedores. Cada pod representa un host lógico que puede incluir uno o más contenedores. Los contenedores de un pod comparten recursos, como los de herramientas de redes, para funcionar en conjunto. Combinado, un conjunto de pods podría constituir una aplicación completa, un microservicio o una capa en una aplicación de varios niveles

  • Crear y administrar _controladores de replicación_, que controlan la creación y eliminación de las réplicas de pods en función de una plantilla. Los controladores de replicación ayudan a garantizar que la aplicación cuente con los recursos necesarios para realizar ejecuciones de manera confiable y ajustar la escala de manera adecuada

  • Crear y administrar _servicios_. Estos crean una capa de abstracción que separa a los clientes de frontend de los pods que proporcionan las funciones de backend. De esta manera, los clientes pueden funcionar sin tener que preocuparse por pods que se crean y borran en un momento determinado

  • Crear un balanceador de cargas de red externo

Máquinas virtuales

Google Compute Engine es el servicio de procesamiento no administrado de GCP. Se lo puede considerar infraestructura como un servicio (IaaS), porque el sistema proporciona una infraestructura de procesamiento completa, pero se deben elegir los componentes de la plataforma que se quieren usar y además configurarlos. Con Compute Engine, configurar, administrar y supervisar los sistemas es tu responsabilidad. Google se asegurará 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.

Si compilas con Compute Engine, podrás realizar las siguientes acciones:

  • 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. Puedes elegir entre una variedad de tipos de instancia a fin de personalizar tu configuración para que se ajuste a tu presupuesto y tus necesidades

  • Elegir en qué regiones y zonas globales implementar tus recursos, lo que te permite controlar dónde se almacenan y usan tus datos

  • Elegir los sistemas operativos, pilas de desarrollo, lenguajes, marcos de trabajo, servicios y otras tecnologías de software que prefieras

  • Crear instancias a partir de imágenes públicas o privadas

  • Usar las tecnologías de almacenamiento de GCP o las tecnologías de terceros que prefieras

  • Usar Google Cloud Launcher para implementar con rapidez paquetes de software preconfigurados. Por ejemplo, puedes implementar una pila LAMP o MEAN con unos pocos clics

  • Crear grupos de instancias para facilitar la administración de varias instancias a la vez

  • Usar el ajuste de escala automático en un grupo de instancias a fin de agregar y quitar capacidad automáticamente

  • Conectar y desconectar discos según necesidad

  • Usar SSH para conectarte directamente a las instancias

Combinar las opciones de procesamiento y hosting

No es necesario que te ciñas a un solo tipo de servicio de procesamiento. Por ejemplo, puedes combinar App Engine y Compute Engine para aprovechar las funciones y los beneficios de cada uno. Consulta Programación confiable de tareas en Google Compute Engine para ver ejemplos del uso en conjunto de los dos servicios.

Consulta Entrega de sitios web para ver ejemplos detallados de estas opciones.

Servicios de almacenamiento

Es probable que tengas que almacenar datos sin importar cuál sea tu aplicación. Los siguientes son algunos de los servicios de almacenamiento que ofrece GCP:

  • Una base de datos SQL en Cloud SQL, que proporciona bases de datos MySQL o PostgreSQL

  • Un servicio de base de datos relacional, esencial y completamente administrado en Cloud Spanner que ofrece coherencia transaccional a escala global, esquemas, consulta de SQL y replicación síncrona y automática a fin de lograr una alta disponibilidad

  • Dos opciones de almacenamiento de datos NoSQL: Cloud Datastore y Cloud Bigtable

  • Almacenamiento de datos coherente, escalable y de gran capacidad en Cloud Storage. Cloud Storage ofrece las siguientes modalidades:

    • Multi-Regional, que ofrece el máximo nivel de redundancia geográfica y disponibilidad
    • Regional, que ofrece una alta disponibilidad y una ubicación de almacenamiento localizada
    • Nearline, que ofrece almacenamiento de archivo de bajo costo ideal para los datos a los que se accede menos de una vez por mes
    • Coldline, que ofrece el almacenamiento de archivo de menor costo para las copias de seguridad y la recuperación ante desastres
  • Discos persistentes en Compute Engine, para usar como el 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 para Compute Engine. Por ejemplo, puedes usar MongoDB como almacenamiento NoSQL.

Consulta Elegir una opción de almacenamiento si deseas conocer todos los beneficios y la variedad completa de los servicios de almacenamiento de GCP.

Servicios de herramientas de redes

Mientras App Engine administra las herramientas de redes por ti y Kubernetes Engine usa el modelo Kubernetes, Compute Engine proporciona un conjunto de servicios de herramientas de redes. Estos servicios ayudan a balancear la carga del tráfico entre los recursos, crear registros DNS y conectar a tu red existente con la de Google.

Redes, firewalls y rutas

La nube privada virtual (VPC) proporciona un conjunto de servicios de herramientas de redes que usan tus instancias de VM. Cada una de las instancias solo se puede conectar a una red. Cada proyecto de VPC tiene una red predeterminada. Puedes crear redes adicionales en tu proyecto, pero estas no se pueden compartir entre los proyectos.

Las reglas de Firewall rigen el tráfico que entra a las instancias de una red. La red predeterminada tiene un conjunto predefinido de reglas de firewall, además puedes crear tus propias reglas.

Las rutas permiten implementar funciones de red más avanzadas en las instancias, como crear VPN. Las rutas especifican cómo se deben dirigir los paquetes que salen de una instancia. Por ejemplo, una ruta podría especificar que los paquetes destinados a un rango de red específico se deberían controlar mediante una instancia de máquina virtual con puerta de enlace que tú configuras y operas.

Balanceo de cargas

Si tu sitio web o aplicación se ejecuta en Compute Engine, puede que con el tiempo tengas que distribuir la carga de trabajo en varias instancias. Las funciones de balanceo de cargas del servidor brindan las siguientes opciones:

  • Balanceo de cargas de red, que te permite distribuir el tráfico entre las instancias del servidor que se encuentren en la misma región, en función de los datos entrantes de protocolo IP, como la dirección, el puerto y el protocolo. El balanceo de cargas de red es una gran solución si, por ejemplo, necesitas satisfacer la demanda del aumento de tráfico hacia tu sitio web.

  • Con el balanceo de cargas HTTP/HTTPS puedes distribuir el tráfico entre las regiones a fin de asegurarte de que las solicitudes se enruten a la región más cercana o, en caso de fallas o que se excedan los límites de capacidad, a una instancia en buen estado de la próxima región más cercana. También puedes usar el balanceo de cargas HTTP/HTTPS a fin de distribuir el tráfico en función del tipo de contenido. Por ejemplo, puedes configurar tu sistema para que entregue contenido estático, como imágenes y CSS, desde un servidor y contenido dinámico, como páginas PHP, desde otro. El balanceador de cargas puede dirigir cada solicitud al servidor que entrega el tipo de contenido requerido.

Cloud DNS

Puedes publicar y mantener registros de sistemas de nombres de dominios (DNS) mediante la misma infraestructura que usa Google. Para trabajar con zonas administradas y registros DNS, puedes usar Google Cloud Platform Console, la línea de comandos o una API de REST.

Conectividad avanzada

Cuentas con las siguientes opciones de conectividad avanzada, si quieres conectar una red existente con los recursos de GCP:

  • Cloud Interconnect te permite realizar una conexión de grado empresarial, baja latencia y alta disponibilidad entre una red existente y una de VPC. Podrás conectarte directamente a Google con la interconexión dedicada o también puedes hacerlo a través de un proveedor de servicios admitido mediante la interconexión de socio.

  • Cloud VPN te permite conectar una red existente a una de VPC mediante una conexión IPSec. También puedes usar una VPN para conectar dos puertas de enlace de Cloud VPN entre sí.

  • El intercambio de tráfico directo te permite intercambiar el tráfico de Internet entre la red de tu negocio y la de Google en una de las ubicaciones de red perimetral de gran alcance de Google. Consulta Sitio de intercambio de tráfico de Google para obtener más información sobre las ubicaciones perimetrales.

  • El intercambio de tráfico por proveedores te permite conectar la infraestructura a la red perimetral de Google mediante las conexiones de baja latencia y alta disponibilidad que ofrecen los proveedores de servicios. También puedes extender la red privada hacia la red de nube privada virtual mediante vínculos de intercambio de tráfico por proveedores a través de un túnel de VPN entre las redes.

Servicios de macrodatos

Estos te permiten procesar y consultar macrodatos en la nube a fin de obtener respuestas a preguntas complicadas con rapidez.

Análisis de datos

BigQuery ofrece servicios de análisis de datos. Con este servicio, puedes realizar las siguientes acciones:

  • Crear esquemas personalizados para organizar los datos en conjuntos y tablas

  • Cargar datos desde diversas fuentes, como datos de transmisión

  • Usar comandos similares a los de SQL para consultar conjuntos de datos masivos de forma muy rápida. BigQuery está diseñado y optimizado para proporcionar velocidad

  • Usar la IU web, la interfaz de línea de comandos o la API

  • Usar trabajos para cargar, consultar, exportar y copiar datos

  • Administrar datos y protegerlos mediante permisos

Si quieres probar BigQuery con rapidez y de manera sencilla, usa la Guía de inicio rápido de IU web para consultar un conjunto de datos públicos.

Procesamiento de datos por lotes y transmisiones

Cloud Dataflow ofrece un servicio administrado y un conjunto de SDK que puedes usar para realizar tareas de procesamiento de datos de transmisión y datos por lotes. Dataflow es ideal para el procesamiento de volúmenes altos, en especial cuando las tareas de procesamiento se pueden dividir de manera clara y sencilla en cargas de trabajo paralelas. Además, es idóneo para las tareas de extracción, transformación y carga (ETL), que resultan útiles en la transferencia de datos entre distintos medios de almacenamiento, la transformación de datos a un formato más conveniente o la carga de datos en un sistema de almacenamiento nuevo.

Mensajería asíncrona

Cloud Pub/Sub es un servicio de mensajería asíncrona. Este servicio permite que tu aplicación envíe mensajes, como estructuras de datos JSON, hacia una unidad de publicación, conocida como tema. Debido a que los temas de Cloud Pub/Sub son un recurso global, las demás aplicaciones de tus proyectos se pueden suscribir a ellos a fin de recibir los mensajes mediante solicitudes HTTP o cuerpos de respuesta. Consulta la Guía de inicio rápido de Cloud Pub/Sub si quieres familiarizarte con el sistema.

La utilidad de Cloud Pub/Sub no solo abarca los macrodatos. Se puede utilizar en muchas circunstancias en las que se necesita un servicio de mensajería asíncrona. Consulta Programación confiable de tareas en Compute Engine si quieres conocer cómo puede Cloud Pub/Sub coordinar App Engine y Compute Engine.

Servicios de aprendizaje automático

Con la IA de GCP Cloud descubrirás una variedad de servicios poderosos para el aprendizaje automático (AA). Puedes usar API con modelos previamente entrenados que se optimizaron para aplicaciones específicas, o bien compilar y entrenar tus propios modelos sofisticados y a gran escala, mediante un marco de trabajo administrado de TensorFlow.

API de AA

GCP ofrece una variedad de API que permiten aprovechar el AA de Google sin tener que crear y entrenar tus propios modelos.

  • La API de Google Cloud Video Intelligence te permite usar tecnología de análisis de videos con funciones de detección de etiquetas, detección de contenido explícito, detección del cambio de tomas y regionalización.

  • La API de Google Cloud Speech te permite convertir audio en texto y reconoce más de 110 idiomas y dialectos, por lo que puedes usarla con tu base de usuarios mundial. Puedes transcribir el texto que dicten los usuarios al micrófono de una aplicación, habilitar el uso de comandos de voz o transcribir archivos de audio, entre muchos otros casos prácticos.

  • La API de Google Cloud Vision te permite integrar funciones de detección de visión fácilmente, como etiquetado de imágenes, detección de rostros y puntos de referencia, reconocimiento óptico de caracteres (OCR) y etiquetado de contenido explícito.

  • La API de Google Natural Language te permite agregar análisis de opiniones, análisis de entidades, análisis de opiniones por entidad, clasificación de contenido y análisis de sintaxis.

  • La API de Google Cloud Translation te permite traducir texto fuente rápidamente hacia cualquiera de los más de cien idiomas admitidos. La detección de idiomas resulta útil en los casos en que se desconoce el de origen.

  • Dialogflow Enterprise Edition te permite compilar interfaces de conversación para sitios web, aplicaciones para dispositivos móviles, plataformas de mensajería populares y dispositivos de IoT. Puedes usarlo para compilar interfaces, como chatbots, que son capaces de interactuar de forma natural y elaborada con los humanos.

Cloud ML Engine

Cloud Machine Learning Engine combina la infraestructura administrada de GCP con el poder y la flexibilidad de TensorFlow. Puedes usarlo para entrenar tus modelos de aprendizaje automático a gran escala y alojar modelos entrenados a fin de realizar predicciones sobre los datos nuevos de la nube.

Cloud ML Engine te permite entrenar modelos de aprendizaje automático mediante la ejecución de aplicaciones de entrenamiento de TensorFlow en GCP y además aloja los modelos que entrenaste, a fin de que puedas usarlos para obtener predicciones sobre los datos nuevos. Cloud ML Engine administra los recursos de procesamiento que necesita tu trabajo de entrenamiento para ejecutarse, de forma que te puedas enfocar más en tu modelo que en la configuración de hardware o la administración de recursos.

Si quieres probar Cloud ML Engine, consulta Clasificación de imágenes con el conjunto de datos de flores.

Siguiente: Aprende sobre las herramientas para desarrolladores y administradores

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Descripción general