everythingpossible - Fotolia
Identifique las herramientas de desarrollo de Google Cloud que necesita
Los desarrolladores quieren más de su nube que API y servicios; quieren herramientas para acelerar y mejorar el ciclo de vida del desarrollo de aplicaciones. Use este resumen para evaluar el conjunto de herramientas para desarrolladores de Google Cloud.
La nube pública puede ser sinónimo de infraestructura como servicio, pero los principales proveedores continúan avanzando en la pila con una gama cada vez mayor de herramientas para desarrolladores. Y Google no es la excepción, aunque tomó una ruta un tanto tortuosa para llegar allí.
El gigante de los motores de búsqueda hizo su primera entrada notable en el mercado de la nube pública con App Engine, un entorno de espacio aislado de PaaS que los desarrolladores podrían usar para crear aplicaciones sin preocuparse por el mantenimiento del servidor. Google luego agregó su oferta de infraestructura en la nube y se solidificó como el tercer proveedor llamado de hiperescala, detrás de AWS y Microsoft Azure.
Aún así, la mayoría de las herramientas de desarrollo de Google Cloud no llegaron al mercado hasta después del empuje hacia la infraestructura. Google continúa agregando herramientas en un intento por mejorar el deseo de los desarrolladores de estructuras en sus entornos y mantener el ritmo con AWS y Azure en sus ofertas para convertirse en plataformas de nube que lo abarquen todo.
Aquí hay una breve sinopsis de las principales herramientas para desarrolladores de Google Cloud.
Artifact Registry. Este servicio de registro se puede usar para almacenar y administrar imágenes de contenedores y paquetes de idiomas para admitir canalizaciones de CI/CD. Artifact Registry todavía está en vista previa, pero admite imágenes de Docker, así como paquetes de Maven y npm. El código puede comprometerse a los repositorios de Cloud Source, GitHub o Bitbucket. Los desarrolladores pueden implementar ese código a través de Cloud Build, Google Kubernetes Engine, App Engine y Cloud Functions.
Artifact Registry admite roles y permisos para imponer controles de acceso. Google planea agregar herramientas para escaneos de vulnerabilidad y reglas de políticas de implementación.
Cloud Build. Google agregó esta plataforma CI/CD administrada en 2018 para capitalizar la creciente popularidad de DevOps. Con Code Build, los desarrolladores pueden construir, probar e implementar flujos de trabajo personalizados en cualquier lenguaje de programación. El código confirma el trabajo para los artefactos basados en contenedores o no, que se pueden enviar a GitHub, Google Cloud Source Repositories o Bitbucket.
Los desarrolladores pueden construir y depurar software localmente antes de enviarlo a la nube, y se pueden crear secuencias en la fase de construcción para una mayor automatización.
Cloud Code. Diseñado para las cargas de trabajo de Kubernetes, este servicio incluye un conjunto de herramientas para escribir, ejecutar y depurar aplicaciones. El entorno de desarrollo integrado (IDE) proporciona verificación de errores durante todo el ciclo de vida de desarrollo y presenta herramientas de línea de comandos como Skaffold, Jib y Kubectl.
Cloud Code tiene extensiones para Visual Studio Code e IntelliJ.
Cloud Deployment Manager. Este servicio está diseñado para administrar recursos, pero también puede ser una herramienta importante para los desarrolladores. Utilizando plantillas, los desarrolladores especifican sus parámetros, ya sea en formato declarativo con YAML, o mediante plantillas Python o Jinja2. Los desarrolladores adoptan un enfoque declarativo para crear archivos de configuración y agilizar la asignación de recursos para tareas repetibles.
Container Registry. Precursora de Artifact Registry, esta herramienta está diseñada específicamente para imágenes Docker. Los desarrolladores pueden almacenar imágenes regionalmente, asignar y restringir el acceso, definir políticas, verificar vulnerabilidades e integrarse con canalizaciones de CI/CD. Funciona con varios servicios de Google Cloud:
- Cloud Build
- App Engine
- GKE
- Cloud Functions
- Firebase
Cloud Source Repositories. Esta es la versión de Google de un repositorio privado de Git. Los desarrolladores pueden organizar, buscar y colaborar en el código en un número ilimitado de repositorios. Pueden implementar cambios directamente en App Engine o configurar activadores en Cloud Build para crear y probar imágenes automáticamente. También se puede conectar a otras herramientas y servicios para desarrolladores de Google Cloud a través de Pub/Sub.
Cloud Scheduler. Este servicio administrado maneja trabajos cron, ya sea a través de Google Cloud Console o la CLI de gcloud. Los usuarios crean y configuran unidades de trabajo programadas, y Cloud Scheduler se encarga de ellas una por una. Esta herramienta está destinada a reducir las tareas manuales y repetidas para los desarrolladores, como los trabajos por lotes que deben ejecutarse regularmente o apagar la infraestructura al final de la jornada laboral.
Cloud SDK. Los desarrolladores usan este conjunto de herramientas para acceder a la línea de comandos a los servicios de Google Cloud, en lugar de hacerlo a través de la consola de nube basada en navegador. Los desarrolladores pueden acceder a las API a través de bibliotecas cliente para Java, Python, NodeJS, Ruby, Go, .NET y PHP. Con Cloud SDK, los usuarios pueden emular varios servicios de Google Cloud localmente o instalar funciones adicionales de CLI, que incluyen bq para BigQuery, gsutil para Cloud Storage y kubectl para clústeres de Kubernetes.
Cloud Tasks. Use este servicio de colas para entregar y ejecutar tareas asincrónicas y distribuidas a escala. Cloud Tasks puede aumentar la capacidad de respuesta de la aplicación al organizar solicitudes, seguir políticas de ejecución y administrar la carga de mensajes a través de la limitación de velocidad. Es particularmente adecuado para arquitecturas basadas en microservicios que dependen de servicios desacoplados de Google Cloud.
Firebase Test Lab. Firebase es la plataforma en la nube de Google para el desarrollo de aplicaciones móviles y web. Con este servicio, los desarrolladores pueden cargar y probar una aplicación en Android e iOS y en los dispositivos físicos que usan esos sistemas operativos. Las pruebas se pueden manejar a través de la consola Firebase o Android Studio, así como la CLI de gcloud para compilaciones de integración continua.
Firebase Crashlytics. Otra herramienta de Firebase, los desarrolladores utilizan este servicio para identificar y corregir errores en sus aplicaciones. Específicamente, puede identificar bloqueos y ralentizaciones y priorizar problemas específicos que deben abordarse para que la aplicación funcione mejor.
Integraciones de terceros de Google Cloud
Además de sus herramientas nativas para desarrolladores en la nube, Google tiene integraciones con varios servicios notables de terceros y proyectos de código abierto. App Engine tiene complementos para herramientas de compilación de código abierto Gradle y Apache Maven. Google Cloud Platform (GCP) también tiene IDE para Eclipse y Visual Studio, y soporte para PowerShell.
Google también abrió una herramienta llamada Tekton, un marco basado en Kubernetes para cargas de trabajo de CI/CD. Aunque Tekton se puede usar en las instalaciones o en otras nubes, está específicamente diseñado para integrarse con las herramientas de Kubernetes disponibles en GCP.