jueves, 20 de junio de 2019

El mundo de posibilidades de Google Maps Platform


El lanzamiento de Google Maps Platform ha significado la integración de la gestión de las APIs de Google Maps en la Consola Cloud. Si bien todavía no todas las funcionalidades de la Consola Cloud están disponibles, se ha logrado una mejora sustancial para la gestión de múltiples aplicaciones que utilicen las APIs Google Maps, en especial para quienes utilizaban licencias del Premium Plan.

Aunque la gestión actual recuerda a la del antiguo Standard Plan, la consolidación de todos los costes en la cuenta de facturación permite una monitorización ágil e incluso con posibilidad de automatización, al tiempo que es posible otorgar accesos a los proyectos con gran precisión gracias a Google Cloud IAM (Cloud Identity and Access Management).

Para aprovechar estas nuevas posibilidades estas son las piezas fundamentales:

1- Estructura

Cuatro elementos que son los esenciales para la gestión: Organización, cuenta de facturación, proyectos y cuenta Google.

 
La organización está disponible en aquellos clientes que utilicen G Suite o Cloud Identity. Es el máximo nivel de la jerarquía que permite definir políticas globales de seguridad y acceso. No es imprescindible para Google Maps.

La cuenta de facturación es el nexo económico entre el cliente y Google Cloud. Por defecto los pagos se realizan mediante tarjeta de crédito y/o cuenta bancaria. Si se trabaja con un partner de Google, esta cuenta está provista con el mismo que gestiona los pagos a Google. La Cuenta de Facturación “paga” los consumos que realizan los recursos asignados a los proyectos. En una Cuenta de Facturación se pueden consolidar varios proyectos. Se pueden conceder diferentes privilegios de acceso.

El proyecto es el elemento básico de la organización de Cloud Platform en el cual se provisionan los recursos que necesitará la aplicación para funcionar. Un proyecto se vincula exclusivamente a una cuenta de facturación. Los proyectos también permiten diferentes niveles de acceso, desde propietarios con control absoluto hasta simples lectores. Es un entorno de gestión técnica.

Finalmente, la Cuenta Google es la identidad del usuario en el sistema. Puede ser una cuenta de G Suite, de Gmail, un usuario de Cloud Identity o una cuenta corporativa registrada en https://accounts.google.com/signupwithoutgmail?. Nuestra recomendación es utilizar G Suite o Cloud Identity, dado que a veces las otras alternativas tienen una gestión menos robusta por parte de la organización.

2- Monitorización

Por lo general las preguntas más frecuentes son: ¿Cuánto cuestan mis aplicaciones? ¿Cómo asigno los costes a las diferentes unidades/clientes/etc.? ¿Los consumos son razonables para los objetivos de las aplicaciones?

Una de las principales consecuencias del nuevo plan es que, al ser pago por uso, tiene más sentido optimizar el consumo, dado que los resultados impactan inmediatamente en la factura.

Nuestra recomendación es crear un proyecto por cada unidad mínima que quiero controlar. Es importante tener en cuenta que no es posible controlar de forma práctica el consumo que se realiza por cada APIKey. Por lo general, esto implica un proyecto para cada aplicación, aunque si se necesita conocer cuánto se consume en el entorno web y en el móvil, se podría llegar a crear un proyecto para cada entorno.  

En cada proyecto puedo:
  1. Controlar programáticamente el consumo de cada aplicación (a través de la cuenta de facturación).
  2. Limitar el consumo diario para cada API habilitado en el proyecto. Es un “hard limit” que corta el servicio una vez alcanzado el límite. Recomendable crear un proyecto “capado” para los entornos de desarrollo que pueden darnos una sorpresa desagradable.
  3. Otorgar permisos de acceso exclusivamente para dicho proyecto. Ideal para equipos complejos o en el caso de trabajar con colaboradores externos. No obstante, no toda la actividad de la consola queda registrada.

El proyecto se vincula a la cuenta de facturación, en la cual podremos:
  1. Definir presupuestos y alertas de consumo. Importante: los datos de facturación tienen una demora de varias horas respecto al consumo real.
  2. Otorgar permisos a personas específicas para poder vincular proyectos y acceso a quienes necesiten solo ver la parte económica. Los propietarios de un proyecto siempre tienen acceso a los datos económicos de su proyecto.
  3. Extraer programáticamente la información para su análisis en otras plataformas. Por ejemplo, con esto hache2i ofrece Maps BI, dashboards en los cuales se puede seguir el consumo.




3- Protección

En Google Maps Platform, cuando se crea un proyecto, este no tiene ningún tipo de recurso asignado, de manera que habrá que habilitar las APIs que se requieran. Y al crear las APIKeys, éstas no tienen ningún tipo de restricción, con lo cual es crítico configurar URLs, IPs o cualquier otro tipo de limitación para evitar su uso indiscriminado.  Por lo tanto, es vital:
  1. Configurar límites de uso diarios en las APIs de un proyecto (peticiones/elementos por día). Imprescindible en entornos de desarrollo.
  2. Restringir el uso de APIKeys por dominio, IP; paquete de aplicación (iOS/Android), y también por API.
  3. Configurar presupuestos en la cuenta de facturación, sabiendo que son simplemente alertas y que tiene unas horas de decalaje respecto al consumo real.

4- Recomendaciones finales

  • Principio de menor privilegio: Delega el control a los usuarios apropiados.
  • Crear una organización para gestionar usuarios y proyectos: Aprovechar permisos a nivel org/carpetas.
  • Restringe el rol de Billing Account Creator.
  • Asigna múltiples administradores: Comunica a la organización quiénes son.
  • Utiliza una única Billing Account: En Google Maps Platform forma parte de los ToS.
  • Crea nombres de proyecto con sentido: No más “API Proyect”, “My Project”, “Test”.
  • Protege los proyectos críticos y los APIs: Evita el mal uso de los recursos.
  • Habilita la exportación a BigQuery el primer día.
  • Usa los informes, no las facturas, para controlar los costes.
  • Da acceso a los informes de costes a quienes lo necesitan: Utiliza el rol de Billing Account Viewer.
  • Considera la creación de “Budgets” para control
  • Crea una cultura de “showback”: Que los responsables de proyecto entiendan y se responsabilicen de los costes.

martes, 11 de junio de 2019

Data Studio


Data Studio, la herramienta gratuita de Google para visualizar datos y BI, está cogiendo fuerza con cada nueva actualización.

Salido de la beta en octubre de 2018, ofrece la capacidad de realizar informes interactivos, utilizando datos extraídos de diversas y múltiples fuentes simultáneamente.

Data Studio puede conectarse, entre otras, a BigQuery, Google Analytics, Google Ads y Google Sheets. También a fuentes de terceros, incluyendo Facebook, Twitter, Mailchimp y Salesforce.

Es por ello una potente herramienta para presentar informes. Los reportes realizados con Data Studio tienen la ventaja de poder ir actualizándose junto con la base de datos, por lo que solo necesitas realizar el reporte una vez, de la forma que mejor transmita la información, y este estará siempre actualizado.

Además gracias a una actualización reciente, dispone de una opción que permite enviar los reportes a clientes o equipos automáticamente en las fechas indicadas.

Todo esto, unido a la interactividad de Data Studio con sus filtros y rangos de fechas, ofrece una gran capacidad de control de la información.


La última actualización nos trae:

  • Comparaciones avanzadas de rangos de fechas.
  • Posibilidad de filtrar usando visualizaciones de la comunidad.
  • Esconde páginas del modo lectura. Por ejemplo, si está todavía en construcción o contiene información solo para los editores.

Sin duda alguna, con estas últimas actualizaciones, la herramienta puede llegar a convertirse en un elemento clave del sector.