Clientes de distintas industrias y verticales han adoptado satisfactoriamente Cloud Spanner desde su lanzamiento en 2017. Con este crecimiento, hemos construido una gran comunidad de desarrolladores de aplicaciones que utilizan Cloud Spanner. A fin de hacer que el servicio sea más accesible y abierto a la comunidad de desarrolladores en general, presentamos un emulador para Cloud Spanner que no requiere conexión a Internet. El objetivo del emulador de Cloud Spanner es reducir los costos del desarrollo de aplicaciones y mejorar la productividad de los desarrolladores para los clientes.
El emulador de Cloud Spanner proporciona a los desarrolladores de aplicaciones un conjunto completo de API, incluida una amplia variedad de funciones de SQL y DDL que podrían ejecutarse localmente para los procesos de prototipado, desarrollo y pruebas. Este emulador de código abierto proporcionará a los desarrolladores de aplicaciones la transparencia y la agilidad necesarias a fin de personalizar la herramienta para el uso de sus aplicaciones.
En esta entrada de blog, se presentará el emulador de Cloud Spanner y se describirá el proceso de instalación y uso con la CLI y las bibliotecas cliente actuales de Cloud Spanner.
¿Qué es el emulador de Cloud Spanner?
Es una herramienta que proporciona un emulador local, dentro de la memoria y de alta fidelidad del servicio Cloud Spanner. Puedes utilizar el emulador para prototipar, desarrollar y probar herméticamente tu aplicación de forma local y en entornos de prueba de integración.
Debido a que el emulador almacena datos en la memoria, estos no persistirán tras las ejecuciones. El emulador está pensado para ayudarte a utilizar Cloud Spanner durante los procesos de desarrollo y pruebas locales (no para implementaciones de producción). Sin embargo, una vez que tu aplicación funcione con el emulador, podrás proceder a la prueba de extremo a extremo simplemente cambiando la configuración del extremo de Cloud Spanner.
Funciones admitidas
Como el emulador no está compilado para la escala de producción y rendimiento, no debe utilizarse para pruebas de carga o tráfico de producción. Los desarrolladores de aplicaciones pueden utilizar el emulador para el desarrollo iterativo y para implementar y ejecutar pruebas de unidad e integración.
En el archivo README del emulador, se ofrece una lista detallada de las funciones y limitaciones. Actualmente (en abril de 2020), el emulador se encuentra en versión Beta y el plan es mejorarlo continuamente para lograr una paridad entre funciones y API con el servicio Cloud Spanner.
Cómo usar el emulador de Cloud Spanner
Esta sección describe el uso de la CLI y las bibliotecas cliente actuales de Cloud Spanner para interactuar con el emulador.
Antes de comenzar
- Instala el SDK de Cloud.
- Configura las credenciales de gcloud.
Cómo iniciar el emulador localmente
Se puede iniciar el emulador usando Docker o la CLI del SDK de Cloud en Linux, macOS y Windows. En cualquier caso, macOS y Windows requieren que se instale Docker.
Docker
CLI del SDK de Cloud
Aquí encontrarás otras alternativas para iniciar el emulador, incluidos los objetos binarios precompilados de linux.
Configura el proyecto y la instancia de Cloud Spanner
Configura el extremo y el proyecto de Cloud Spanner, e inhabilita la autenticación:
Nota:
Para revertir la configuración predeterminada:
`$ gcloud config configurations activate default`
Para revertir la configuración del emulador:
`$ gcloud config configurations activate emulator`
Crea una instancia de Cloud Spanner
Cómo usar las bibliotecas cliente de Cloud Spanner
Con el lanzamiento Beta, las últimas versiones de las bibliotecas cliente de Java, Go y C++ para Cloud Spanner son compatibles con el emulador. Usa la Guía de introducción para probar el emulador.
Requisito previo: Configura el proyecto y la instancia de Cloud Spanner desde el paso anterior.
Sigue el resto del ejemplo de la biblioteca cliente de Java usando la Guía de introducción.
Cómo usar la CLI del SDK de Cloud
Requisito previo: Configura el proyecto y la instancia de Cloud Spanner desde el paso anterior.
Configura el extremo del emulador
Crea una base de datos
Escribe en la base de datos
Lee desde la base de datos
Cómo usar la herramienta de línea de comandos de código abierto spanner-cli
Requisito previo: Configura la base de datos, la instancia y el proyecto de Cloud Spanner desde el paso anterior.
Sigue los ejemplos para ver una ventana de terminal interactiva en la base de datos de Cloud Spanner con spanner-cli.
Conclusión
El emulador de Cloud Spanner reduce el costo del desarrollo de aplicaciones y mejora la productividad de los desarrolladores para los clientes de Cloud Spanner. Tenemos pensado continuar creando y agregando funciones que soliciten los clientes, y puedes seguir el emulador de Cloud Spanner en GitHub para ver más novedades.
Por Sneha Shah, Google Open Source
Source: Google Dev