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 general, se abarcan los siguientes tipos de servicios:

Servicios de procesamiento y hosting

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

  • 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 procesamiento y hosting que ofrecen una variedad de requisitos operativos

Procesamiento sin servidores

Cloud Functions, la oferta de funciones como servicio (FaaS) de GCP, brinda un entorno de ejecución sin servidores para compilar y conectar los servicios de la nube. Con Cloud Functions, puedes escribir 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 de Node.js v6.11.5 en GCP. También, se pueden ejecutar en cualquier entorno de ejecución de Node.js estándar, por lo que es sencillo realizar pruebas locales y de portabilidad.

Cloud Functions es una buena opción para los casos prácticos que tienen las siguientes características:

  • 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

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 por ti. 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 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

    Cloud SQL es una base de datos SQL que admite MySQL, SQL Server y PostgreSQL. Cloud Datastore es un almacén de datos NoSQL sin esquemas. Cloud Storage proporciona espacio para tus archivos grandes.

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

    En el entorno flexible, puedes usar fácilmente cualquier base de datos de terceros compatible con tu lenguaje, si se puede acceder a la base de datos desde la instancia de 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 de forma local, 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 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 de dispositivos móviles, como iOS o Android

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

  • Usar la API de 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 sus funciones.

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 (GKE), 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 GKE, 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. GKE 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 de Docker mediante un archivo de configuración JSON simple

  • Usar Container Registry para obtener almacenamiento privado y seguro de las imágenes de Docker. Puedes enviar imágenes 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 el escalamiento 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

El servicio de procesamiento no administrado de GCP es Compute Engine. Se lo puede considerar infraestructura como 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, se los debe configurar. Con Compute Engine, tú eres responsable de configurar, administrar y supervisar los sistemas. Google se asegurará de que los recursos estén disponibles, que sean confiables y que estén listos para usar, pero depende de ti aprovisionarlos y administrarlos. La ventaja es que tienes un control total sobre los sistemas, además de flexibilidad sin límites.

Cuando compilas en 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 GCP Marketplace para implementar rápidamente 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 sea necesario

  • Usar SSH para conectarte directamente a las instancias

Combinar las opciones de procesamiento y hosting

No es necesario que te limites 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. Para ver un ejemplo del uso de App Engine y Compute Engine, consulta Programación confiable de tareas en Compute Engine.

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

Servicios de almacenamiento

Cualquiera que sea tu aplicación, es posible que debas almacenar algunos archivos multimedia, copias de seguridad o, también, otros objetos similares a archivos. Los siguientes son algunos de los servicios de almacenamiento que ofrece GCP:

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

    • Multirregional, 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 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

  • Servidores de archivos NFS completamente administrados en Cloud Filestore. Puedes usar instancias de Cloud Filestore para almacenar datos de aplicaciones que se ejecutan en instancias de VM de Compute Engine o clústeres de GKE

    Para comprender la gama completa y los beneficios de los servicios de almacenamiento en GCP, obtén más información sobre nuestras opciones de almacenamiento.

Servicios de base de datos

GCP proporciona una variedad de servicios de base de datos SQL y NoSQL:

  • 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

  • Existen dos opciones para el almacenamiento de datos NoSQL: Cloud Firestore, para datos similares a documentos, y Cloud Bigtable, para datos tabulares.

También puedes configurar tu tecnología de base de datos preferida en Compute Engine mediante el uso de discos persistentes. Por ejemplo, puedes configurar MongoDB para el almacenamiento de documentos NoSQL.

Para obtener información sobre las diferencias entre nuestros servicios de base de datos, obtén más información sobre las bases de datos de GCP.

Servicios de Herramientas de redes

Si bien App Engine administra las redes por ti y GKE usa el modelo de 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 controlan el tráfico que entra a las instancias de una red. La red predeterminada tiene un conjunto predefinido de reglas de firewall y, además, puedes crear tus propias reglas.

Una ruta permiten implementar funciones de herramientas de redes 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 tengas que distribuir la carga de trabajo en varias instancias con el tiempo. Las funciones de balanceo de cargas del servidor brindan las siguientes opciones:

  • El balanceo de cargas de red 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(S), 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 de 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(S) para 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 sistema de nombres de dominio (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 el 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 conjuntos de datos 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 cómo programar tareas de manera confiable con Compute Engine si quieres obtener información sobre cómo Cloud Pub/Sub puede coordinar App Engine y Compute Engine.

Servicios de aprendizaje automático

AI Platform ofrece una variedad de servicios de aprendizaje automático (AA) potentes. 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 aprendizaje automático

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 Cloud Video Intelligence te permite utilizar la tecnología de análisis de videos que proporciona detección de etiquetas, contenido explícito, cambio de toma y características de regionalización.

  • Cloud Speech-to-Text te permite convertir audio en texto y reconoce más de 110 idiomas y variantes para admitir tu base de usuarios global. 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.

  • Cloud Vision te permite integrar fácilmente funciones de detección de visión, 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 Cloud 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 Translation te permite traducir rápidamente el texto de origen a cualquiera de los cien idiomas admitidos. La detección de idiomas resulta útil en los casos en que se desconoce el idioma de origen.

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

AI Platform

AI Platform combina la infraestructura administrada de GCP con la potencia y la flexibilidad de TensorFlow. Puedes usarla 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.

AI Platform te permite entrenar modelos de aprendizaje automático mediante la ejecución de aplicaciones de entrenamiento de TensorFlow en GCP, y aloja esos modelos entrenados para que puedas usarlos a fin de obtener predicciones sobre nuevos datos. AI Platform 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.

Para probar AI Platform, consulta Primeros pasos: entrenamiento y predicción con Keras.

Siguiente: Aprende sobre las Herramientas para desarrolladores y administradores