Administración en Google Cloud para profesionales de centros de datos

En este artículo, se analizan las ofertas de operaciones y administración de Google Cloud, y cómo se comparan con las tecnologías de los centros de datos tradicionales. En este artículo, se destacan los siguientes tipos de servicios:

  • Administración de identidades y accesos
  • Registro (incluido el registro de auditoría)
  • Supervisión
  • Aprovisionamiento de recursos

Administración de identidades y accesos

Cuando transfieres tus cargas de trabajo a Google Cloud, puedes continuar administrando tus usuarios finales mediante servicios y herramientas de administración de usuarios comunes, como LDAP, Active Directory o el servicio de administrador de Google Workspace. Sin embargo, la forma en que administras el acceso a los recursos en red difiere un poco de lo que podrías estar acostumbrado.

En Google Cloud, configura el acceso a tus recursos virtuales mediante la administración de identidades y accesos (IAM). IAM no administra identidades directamente. En su lugar, te permite asignar funciones, que son colecciones de permisos de acceso definidas por el usuario, a varios tipos de identidades de Google. Entre los tipos que se admiten, se incluyen los siguientes:

También puedes asignar funciones a tipos de identidades que no sean de Google. Para hacerlo, debes vincular el tipo que no es de Google a un tipo de identidad de Google y, luego, asignar la función a este último. Consulta Prácticas recomendadas para organizaciones empresariales con el fin de obtener más información.

Cuentas de servicio

Cuando ejecutas una aplicación en un centro de datos tradicional, sueles creas una identidad distinta para que tu aplicación use mientras se ejecuta. Luego, la aplicación realiza operaciones que requieren autenticación, como llamadas a la API, bajo esa identidad.

Puedes usar el mismo modelo en Google Cloud con cuentas de servicio. Las cuentas de servicio son cuentas especiales que pertenecen a tu aplicación o a una instancia de máquina virtual (VM) de Compute Engine en lugar de pertenecer a un usuario final individual. La aplicación usa la cuenta de servicio para llamar a las API de los servicios de Google. Puedes crear cuentas de servicio personalizadas para tu proyecto de Google Cloud con Google Cloud Console, la API de IAM o el SDK de Cloud.

Para obtener más información sobre las cuentas de servicio, consulta Cuentas de servicio.

Grupos de Google

Puedes usar Grupos de Google para asignar una función a una colección de usuarios. Solo debes crear un Grupo de Google, agregar tus Cuentas de Google o de servicio al grupo y aplicar tu función de IAM al grupo.

Si deseas obtener más información sobre los Grupos de Google, consulta el Centro de ayuda de Grupos de Google.

Registro

El registro en Google Cloud es casi idéntico al registro en un entorno de centro de datos tradicional. Para recopilar registros, debes instalar un agente de registro en cada máquina virtual. Este registra información sobre la máquina y sus aplicaciones, y envía los registros a una ubicación centralizada para que se indexen. Una vez que se agregaron y se indexaron los registros, se pueden procesar, analizar o visualizar.

Google Cloud ofrece un potente paquete integrado de servicios orientados al registro. En la pila de Google Cloud, Cloud Logging actúa como el servicio centralizado de indexación y recopilación, ya que agrega registros desde tus instancias de VM de Compute Engine y tus otros recursos de Google Cloud. Puedes buscar y filtrar tus registros en el visor de registros integrado de Cloud Console o transmitirlos a otros extremos de Google Cloud, como Cloud Storage, BigQuery y Pub/Sub para procesamiento y procesamiento adicionales.

Recopila registros

Para recopilar los registros de tus instancias de VM de Compute Engine, instala el agente de Cloud Logging en cada instancia. Los agentes comenzarán a enviar sus datos de registro a Cloud Logging automáticamente.

Si planeas mantener una arquitectura híbrida en la que tendrás algunos recursos en Google Cloud y otros en diferentes lugares, aún puedes aprovechar los servicios relacionados con el registro de Google Cloud. Por ejemplo, la página de complementos de la comunidad de Fluentd incluye un conjunto de complementos para transmitir registros agregados a la API de Cloud Logging, BigQuery, Cloud Storage y Pub/Sub. De manera similar, la página de complementos de resultado de Logstash contiene complementos para transmitir registros a BigQuery y Cloud Storage.

También puedes usar Cloud Logging si tu arquitectura híbrida incluye máquinas virtuales en otras nubes. En particular, el agente de Cloud Logging se puede instalar directamente en las instancias de Amazon EC2.

Indexa y almacena registros

A medida que Cloud Logging recopila registros de tus instancias de Compute Engine, los almacena y, luego, los indexa. Cloud Logging conserva los registros durante 30 días. Si quieres almacenar tus registros para su posterior procesamiento, análisis o auditoría, puedes configurar Cloud Logging a fin de que exporte los registros automáticamente a otros servicios de Google Cloud, incluidos los siguientes:

  • Cloud Storage, el servicio de almacenamiento de objetos distribuidos de Google Cloud. Cloud Storage es un servicio de almacenamiento global con alta disponibilidad y redundancia. Google Cloud también proporciona clases de almacenamiento adicionales a largo plazo para optimizar los costos de los datos a los que se accede con poca frecuencia. Para obtener más detalles, consulta el artículo sobre Cloud Storage.
  • BigQuery, el servicio de almacén de datos de Google Cloud. BigQuery es una base de datos completamente administrada que solo permite anexar y que puede realizar consultas complejas en miles de millones de filas de datos en segundos.
  • Pub/Sub, el servicio de mensajería basado en publicador y suscriptor de Google Cloud. Puedes usar Pub/Sub para transmitir tus registros a servicios de terceros o a tus propios extremos personalizados.

Analiza y procesa registros

En los centros de datos tradicionales, las tareas intensivas de análisis y procesamiento deben competir con otras tareas por los recursos y están sujetas a las mismas restricciones iniciales de inversión de capital y capacidad. En Cloud Platform, estos problemas desaparecen. Aprovisionas y pagas por lo que necesitas cuando lo necesitas. No tienes que preocuparte por reservar tiempo, núcleos o recursos de almacenamiento.

El análisis y procesamiento de registros en Google Cloud están diseñados para ser flexibles. Puedes usar la pila de herramientas de análisis y procesamiento de registros de Google Cloud, que incluye lo siguiente:

  • El visor de registros de Cloud Logging
  • BigQuery
  • Dataproc
  • Dataflow

Si prefieres usar tus herramientas de análisis y procesamiento actuales, puedes hacerlo si las configuras en instancias de VM de Compute Engine. También puedes integrar la pila de Cloud Logging en tus canalizaciones de análisis y procesamiento actuales.

Análisis de registros con BigQuery y el visor de registros de Cloud Logging

Cloud Console proporciona un visor de registros de Cloud Logging integrado, que puedes usar para buscar y filtrar tus datos registrados. Para el análisis a gran escala de un conjunto de datos masivo, puedes transmitir o exportar los registros a BigQuery. A diferencia de un trabajo voluminoso de MapReduce, que puede tardar minutos o hasta horas, BigQuery es capaz de realizar consultas a terabytes de registros en decenas de segundos, lo que te permite identificar con rapidez las anomalías de las aplicaciones, realizar análisis de registros de auditoría y realizar análisis de tendencias en tus registros, entre otros.

Procesamiento de registros con Dataproc y Dataflow

Si necesitas procesar tus registros antes del análisis, puedes exportarlos a Pub/Sub o Cloud Storage y, luego, usar Dataproc o Dataflow para procesarlos. Después de procesar tus registros con Dataproc o Dataflow, puedes enviar los resultados a BigQuery para realizar un análisis interactivo o por lotes.

Dataproc es el servicio administrado de Apache Hadoop y Apache Spark de Google Cloud. Si ya usas Hadoop y Spark, puedes volver a usar tus trabajos existentes en Dataproc sin preocuparte por adquirir recursos de hardware con anticipación. Puedes almacenar los registros originales y los procesados en Cloud Storage, y, además, cerrar tu clúster de Dataproc cuando no esté en uso. En cuanto a los clústeres de Dataproc, solo se te cobrará por los recursos de CPU virtual que uses y solo por el tiempo que los uses.

También deberías considerar Dataflow, un servicio de procesamiento por lotes y de transmisión completamente administrado. Dataflow es una solución sin servidores efectiva basada en Apache Beam. Dataflow aprovisiona y asigna recursos a pedido de forma dinámica, minimiza la latencia y mantiene una alta eficiencia de uso. Para obtener más información acerca de cómo integrar Dataflow en la canalización de procesamiento de registros, consulta la sección sobre cómo procesar registros a gran escala con Dataflow.

Visualiza registros

Google proporciona dos servicios administrados que puedes usar para visualizar los datos de registro:

  • Datalab, compilado a partir del modelo de notebook de Jupyter, te permite consultar y visualizar datos almacenados en BigQuery y Cloud Storage. Como beneficio adicional, dado que Datalab se basa en notebooks de Jupyter, ya existe un gran ecosistema que puede ayudarte a dar los primeros pasos.
  • Google Data Studio 360 admite la creación de informes personalizables que se pueden compartir y está respaldado por BigQuery.

Además, varios servicios de visualización de Google Cloud Partner proporcionan conectores nativos a BigQuery, incluidos Tableau, BIME y re:dash. Consulta Socios de BigQuery para obtener más información.

Por último, para obtener la máxima personalización, puedes compilar un panel basado en BigQuery con la API de BigQuery y una biblioteca de gráficos de JavaScript de tu elección. Consulta Creación de un panel de BigQuery para obtener más información.

Costos

Cloud Logging ofrece un nivel Básico, gratuito hasta 5 GB por mes, y un nivel Premium. El nivel Premium se cobra por recurso supervisado por mes, prorrateado por hora.

Si exportas registros a Cloud Storage, BigQuery o Pub/Sub, también se te cobrará por el uso de esos servicios. Si exportas tus registros a BigQuery, se te cobrará una pequeña tarifa de transmisión de datos. Consulta Precios de BigQuery para obtener más información.

Auditoría

Google Cloud proporciona un registro de auditoría integrado y facilita la integración de tus soluciones de registro de auditoría actuales. Para obtener información sobre qué servicios generan registros de auditoría en este momento, consulta Cloud Audit Logging.

Registro de instancias de VM

Si usas soluciones estándar de registro de auditoría nativas del SO, como syslog en Linux o Windows Event Log en Windows, puedes configurarlas mediante la creación de una instancia de VM de Linux o Windows en Compute Engine. También puedes implementar tus soluciones de terceros preferidas en instancias de Compute Engine.

Registro de recursos de Google Cloud

Google Cloud también proporciona recursos integrados para el registro de auditoría. Google Cloud proporciona los siguientes dos tipos de registro de auditoría:

  • Los registros de auditoría de la actividad del administrador, que contienen una entrada para cada llamada a la API o acción administrativa que modifica la configuración o los metadatos de un servicio o proyecto. Este tipo de registro siempre está habilitado.
  • Los registros de auditoría del acceso de datos, que contienen una entrada para cada instancia de los siguientes eventos:

    • Una llamada a la API o una acción administrativa que lee la configuración o los metadatos de un servicio o proyecto.
    • Una llamada a la API o una acción administrativa que crea, modifica o lee datos proporcionados por el usuario y administrados por un servicio, como los datos almacenados en un servicio de base de datos.

En la mayoría de los servicios de Google Cloud, los registros de auditoría de acceso a los datos no están habilitados de forma predeterminada, ya que pueden tener un volumen mucho mayor que los registros de la actividad del administrador. Los registros del acceso de datos poseen más restricciones que los registros de la actividad del administrador. De forma predeterminada, solo los propietarios de proyectos y los usuarios con la función Visor de registros privados pueden acceder a los registros del acceso de datos. Los registros de la actividad del administrador son visibles para todos los miembros del proyecto.

Cloud Logging te permite administrar el acceso a tus registros de auditoría a través de IAM, la capa de administración de identidades y accesos de Google Cloud. Si quieres obtener más información, consulta la sección Administración de identidades y accesos.

Al igual que con otros registros de Cloud Logging, los registros de auditoría se conservan durante 30 días de forma predeterminada. Puedes exportar tus registros de auditoría a BigQuery, Cloud Storage y Pub/Sub si deseas conservarlos durante un período más prolongado.

Integración en servicios de terceros

Varias soluciones de registro de terceros, como Splunk, proporcionan complementos que se integran en el servicio de registro de auditoría de Google Cloud.

Supervisión

Al igual que con el registro, la supervisión en un entorno de nube usa un modelo común en los entornos de centros de datos. Debes instalar un agente de supervisión en las máquinas virtuales que quieras supervisar. Este agente de supervisión luego envía las métricas a una ubicación centralizada. Desde allí, puedes definir una configuración de alertas y crear paneles para visualizar las métricas en tiempo real.

Para las tareas de supervisión, Google Cloud proporciona Cloud Monitoring, un framework de supervisión con todas las funciones. Al igual que con el registro, también puedes usar tus herramientas y servicios de supervisión actuales, como Splunk, DataDog, la pila Elastic/ELK, Sensu o Nagios.

Recopilación de métricas

Para recopilar las métricas de tus instancias de VM de Compute Engine, instala el agente de Cloud Monitoring en cada una de ellas. Los agentes comenzarán a enviar métricas a Cloud Monitoring de forma automática.

De forma predeterminada, Cloud Monitoring supervisa los recursos de la máquina para cada instancia, como la carga de la CPU y la E/S de red. Sin embargo, con unos ajustes adicionales en la configuración, Cloud Monitoring también puede supervisar una cantidad de aplicaciones de terceros comunes, como Apache Web Server, MongoDB, NGINX, Redis y Varnish. Consulta Supervisión de aplicaciones de terceros para obtener más información.

Además de recopilar las métricas de las instancias de VM de Compute Engine, Cloud Monitoring recopila las métricas de otros servicios de Google Cloud de forma automática. El agente de Cloud Monitoring también se puede instalar directamente en instancias de Amazon EC2. Cloud Monitoring también se puede configurar para recopilar métricas de muchos servicios de Amazon Web Services (AWS). Para obtener una lista completa de las métricas disponibles en Cloud Monitoring, consulta Lista de métricas.

También puedes crear métricas personalizadas y, luego, instrumentar tus aplicaciones para enviarlas a Cloud Monitoring a través de la API de Monitoring.

Cloud Monitoring conserva las métricas durante seis semanas.

Alertas

Cloud Monitoring se puede configurar para enviar alertas a varios extremos. De forma predeterminada, los extremos de alerta admitidos incluyen lo siguiente:

Si deseas apuntar a un extremo que Cloud Monitoring no admite de forma nativa, también puedes configurar un webhook. Consulta la sección sobre cómo configurar webhook para obtener más información.

Visualización

Al igual que la mayoría de los frameworks de supervisión, Cloud Monitoring proporciona una IU de panel personalizable que te permite visualizar eventos de manera significativa y práctica. Puedes crear gráficos que muestren métricas específicas para un tipo de recurso dado, métricas agregadas, métricas para un ID de recurso dado y más. Además, puedes ver los registros de eventos indexados y las listas de incidentes.

Cloud Console también proporciona visualizaciones por servicio para métricas comunes, como el uso de CPU y del disco, y el tráfico de red. Al igual que con Cloud Logging, también puedes usar Datalab para visualizar y manipular tus datos de métricas.

Costos

Cloud Monitoring ofrece un nivel Básico, gratuito hasta 5 GB por mes, y un nivel Premium. El nivel Premium se cobra por recurso supervisado por mes, prorrateado por hora.

Aprovisionamiento de recursos

En esta sección, se explican las formas en que puedes aprovisionar tus recursos virtuales en Google Cloud y, además, la función del control de versiones en el proceso de aprovisionamiento.

Aprovisionamiento de instancias de VM

Compute Engine incluye algunas características integradas que optimizan el aprovisionamiento de instancias. Puedes crear perfiles de máquina llamados plantillas de instancias y, luego, asignarlos a grupos de instancias para crear decenas o cientos de instancias idénticas según sea necesario.

Puedes realizar un ajuste de escala automático del número de instancias de VM dentro de estos grupos con el escalador automático incorporado de Compute Engine. Para usar el escalador automático, debes definir el número mínimo y máximo de instancias que quieres que se ejecuten en un momento dado y, luego, definir las métricas según las cuales el escalador automático creará o destruirá las instancias. Puedes configurar el escalador automático para que funcione según el uso de CPU, la capacidad del balanceador de cargas o tus propias métricas personalizadas. Si quieres obtener más información, consulta Ajuste de escala automático para grupos de instancias.

Aprovisionamiento general de recursos

Puedes automatizar la implementación de todos tus recursos de Google Cloud con Cloud Deployment Manager. Al igual que con otras herramientas de administración de configuración, como Puppet y Chef, puedes especificar tus recursos en una plantilla de implementación y, luego, Cloud Deployment Manager usará esta plantilla para crear instancias y administrar los recursos. Puedes especificar tu plantilla de implementación en varios formatos, incluidos YAML, Python y Jinja2.

Cloud Deployment Manager también se puede usar junto con las herramientas que utilizas para automatizar la configuración de tu máquina en la actualidad, como Chef, Puppet, Ansible o Terraform. Para ver una configuración de ejemplo con Puppet, consulta la sección sobre cómo automatizar la administración de configuración con Cloud Deployment Manager y Puppet.

Control de versiones y repositorios de código fuente

Si prefieres usar tus soluciones de control de versión actuales, puedes hacerlo en Google Cloud si las alojas y las ejecutas en el servicio o si te conectas a un servicio administrado o alojado de forma externa, como GitHub o Bitbucket.

Para los usuarios familiarizados con Git, Google también ofrece Cloud Source Repositories, que son repositorios de Git privados con todas las funciones, alojados en Google Cloud. Se puede agregar Cloud Source Repositories a un repositorio de Git local como repositorio remoto o alojado en GitHub o Bitbucket. Cloud Source Repositories también proporciona un editor de código fuente que puedes usar para navegar, ver, editar y confirmar cambios en los archivos del repositorio desde Cloud Console.

Costos

Cloud Deployment Manager no se cobra por su uso, pero todos los recursos facturables que implementes con este servicio generarán cargos.

Cloud Source Repositories está disponible sin costo durante su lanzamiento en versión beta.

¿Qué sigue?

Consulta los demás artículos de Google Cloud para profesionales de centros de datos: