Curso Application Development with Cloud Run

 

Calendario

Estamos preparando nuevas convocatorias, déjanos tus datos a través del formulario y te avisaremos en cuanto estén disponibles.

Acerca del curso

El curso Application Development with Cloud Run presenta los conceptos básicos, las prácticas, las capacidades y las herramientas aplicables al desarrollo moderno de aplicaciones nativas de la nube con Google Cloud Run. A través de una combinación de conferencias, laboratorios prácticos y materiales complementarios, aprenderás a diseñar, implementar, proteger, administrar y escalar aplicaciones en Google Cloud mediante Cloud Run.

Desarrolladores de la nube, desarrolladores de API, clientes y socios.

  • Obtener un conocimiento detallado de Cloud Run, la plataforma informática completamente administrada de Google Cloud para implementar y escalar aplicaciones en contenedores de forma rápida y segura.
  • Escribir y migrar código utilizando tus lenguajes favoritos (Go, Python, Java, Ruby, Node.js y más).
  • Comunicación segura de servicio a servicio basada en identidades de servicio y otorgar a las aplicaciones solo los permisos que necesitan.
  • Aprender a crear aplicaciones de alta disponibilidad con baja latencia para el usuario final, a nivel mundial.
  • Obtener información sobre cómo conectarse y conservar datos en las ofertas de bases de datos administradas en Google Cloud.
  • Comprender cómo la abstracción de toda la gestión de la infraestructura crea una experiencia de desarrollador sencilla.

  • Estar familiarizado con los comandos de Linux y la interfaz de línea de comandos.
  • Tener un conocimiento básico de Google Cloud.
  • Tener un conocimiento básico de redes.
  • Tener un conocimiento básico de uno o más lenguajes de programación como Go, Python, Java, Ruby o Node.js.
  • Tener un conocimiento básico de shell scripts, YAML, JSON, HTTP y TLS.

Módulo 1: Introducing Application Development with Cloud Run

Temas:

This module gives a general overview of Cloud Run. If you’re new to Cloud Run (or even to Google Cloud), this will be a great introduction.

Objetivos:

  • A general understanding of Cloud Run
  • Understand how how high availability, low end-user latency and developer productivity are important architectural drivers for web based applications today
  • Understand the advantages of serverless on Google Cloud.

Módulo 2: Understanding Cloud Run

Temas:

  • You can use any language, any library and any binary. Cloud Run expects your app (in a container image) to listen on a port and respond to HTTP requests.
  • Use a docker repository on Artifact Registry to store your images: Cloud Run only deploys from there.
  • Cloud Run uses autoscaling to handle all incoming requests
  • Pay for use pricing model
  • No background tasks: Container lifetime is only guaranteed while handling requests
  • There is no persistent storage: Store data downstream
  • Cloud Run is portable (containers and Knative)

Objetivos:

  • Understand Container Images and Containers
  • Understand how Cloud Run is different from an always-on server
  • Implement the deployment of a container image to Cloud Run (hands-on lab)
  • Understand auto-scaling and on-demand containers

Módulo 3: Building Container Images

Temas:

  • The contents of a container image (deep dive)
  • There are two ways to build container images
    • Buildpacks (hands-off)
    • Docker (you’re in control)
  • Cloud Run supports both source-based and a container image based workflow
  • The most important considerations of building a secure container image

Objetivos:

  • Deeply understand what is inside a container image
  • Package an application into a container image with Buildpacks (hands-on lab activity)
  • Understand that Dockerfiles are a lower-level and more transparent alternative to Buildpacks

Módulo 4: Building Container Images

Temas:

  • Container lifecycle
    • Idle vs serving
    • Shutdown lifecycle hook
  • Cold starts
    • Min instances
  • Container readiness
  • The service resource and what it describes
  • Configuring memory limits and CPU allocation
  • Deploying a new revision
  • Traffic steering (tagging, gradual rollouts)

Objetivos:

  • Understand the advantages of the shutdown lifecycle hook
  • Understand how to avoid request queuing
  • Implement new versions of an application (hands-on lab activity)
  • Implement gradual traffic migration (hands-on lab activity)

Módulo 5: Configuring Service Identity and Authorization

Temas:

  • Cloud IAM
    • Service account, policy binding, roles, types of members, resource hierarchy (in practice)
    • Service accounts
    • Cloud Run IAM roles
  • Cloud Run
    • Default service account
    • Risks of using the default service account

Objetivos:

  • Understand that every action on a Cloud resource is actually an API call
  • Understand how and why to limit the permissions in your Cloud Run service to only specific and necessary API calls
  • Understand the process needed to make the default permissions of a Cloud API more secure
  • Use the client libraries to call other Google Cloud services (hands-on lab activity)

Módulo 6: Serving Requests

Temas:

  • Custom Domains
  • Global Load Balancer
    • URL Map
    • Frontend
    • Backend services
  • Benefits and drawbacks of GLB over custom domain
  • Types of GLB Backends
  • Multi-region load balancing
  • Multi-regional applications challenges
  • Cloud CDN

Objetivos:

  • Use Cloud CDN to improve the reliability and performance of an application
  • Use path-based routing to combine multiple applications on one domain
  • Route incoming requests to the Cloud Run service closest to clients

Módulo 7: Using Inbound and Outbound Access Control

Temas:

  • Ingress settings
  • Cloud Armor
  • Using Cloud IAM to protect services
    • Understand how authenticated requests (IAM + OIDC tokens) work (builds on Module 5)
  • VPC, VPC Access Connector
  • Egress settings

Objetivos:

  • Connecting your project to resources with a private IP
  • Implementing controls to prevent outbound traffic to dangerous or unwanted hosts
  • Implementing filters for inbound traffic using content-based rules
  • Implementing controlled access to only specific service accounts

Módulo 8: Persisting Data

Temas:

  • Understanding why you need to store data externally when running a workload on Cloud Run.
  • Connect with Cloud SQL from Cloud Run
    • Understand how it works (managed Cloud SQL Proxy)
  • Managing concurrency as a way to safeguard performance (understand why and when)
  • Connecting with Memorystore
  • VPC Connector
    • Challenges with scaling Memorystore (throughput)
  • Briefly introduce Cloud Storage, Firestore and Cloud Spanner, while reinforcing how the client libraries use the built-in service account to connect (Module 5 is prerequisite knowledge).
  • Multi-region data storage (and what Spanner and Firestore can do for you)

Objetivos:

  • Understand how to connect your application with Cloud SQL to store relational data
  • Use a VPC Connector to reach a private Memorystore instance
  • Understand how to connect with Cloud Storage, Spanner and Firestore

Módulo 9: Implementing Service-to-Service Communication

Temas:

  • Understanding Cloud Pub/Sub
    • Understanding topics, push subscriptions
    • Idempotency (Handling retries and at-least-once invocation)
      • Event ID, design for resume, or use a lease
    • Handling undeliverable messages
  • How to asynchronously schedule a background task on a different service
  • Cloud Tasks, and when to choose it over Cloud Pub/Sub
  • Benefits of using Pub/Sub to pass messages over making sync RPC requests
  • Learn about services in Google Cloud with a built-in integration to push events to Pub/Sub (Cloud Build, Artifact Registry, Cloud Storage, IOT
  • Core, BigQuery)
  • Cloud Scheduler to invoke services on a schedule.
  • CloudEvents
  • EventArc, and how to consume Audit logs
    • What to expect now, and how EventArc will develop over time

Objetivos:

  • Using Cloud Pub/Sub to send messages between services
  • Discovering the URL of other Cloud Run services
  • Receiving events from other Google Cloud services
  • Processing background tasks asynchronously

Módulo 10: Orchestrating and Automating Serverless Workflows

Temas:

  • Conceptual overview of Cloud Workflows
  • Invoking and passing parameters
  • Understand steps and jumps
  • Defining, using and passing values with variables
  • Using the switch statement to add logic
  • Workflow visualization
  • Calling HTTPS endpoints
  • Calling an authenticated Cloud Run service
  • Example: polling API for completion

Objetivos:

  • Understand the capabilities of Cloud Workflows
  • Learn how to model a simple workflow with steps and conditional jumps
  • Integrating Cloud Run with Cloud Workflows
  • Understand how to invoke workflows

Documentación oficial para el curso Application Development with Cloud Run.

  • Formador certificado por Google Cloud.
  • Más de 5 años de experiencia profesional.
  • Más de 4 años de experiencia docente.
  • Profesional activo en empresas del sector IT.

Solicita información


Descarga el programa del curso
Descargar programa
Hoja de Matriculación:
Descargar matrícula

Si no has encontrado lo que buscabas, prueba buscar tu curso o certificación aquí

Compartir:

Acerca del curso

Con el curso Developing Applications with Google Cloud aprenderás a diseñar, desarrollar e implementar aplicaciones que integren a la perfección componentes del ecosistema de Google Cloud. Este curso utiliza conferencias, demostraciones y laboratorios prácticos para mostrarte cómo usar los servicios de Google Cloud y las APIs de aprendizaje automático (machine learning) pre-entrenadas para crear aplicaciones nativas de la nube seguras, escalables e inteligentes.

Desarrolladores de aplicaciones que deseen crear aplicaciones nativas de la nube o rediseñar aplicaciones existentes que sean ejecutadas en Google Cloud.

  • Utilizar las mejores prácticas para el desarrollo de aplicaciones.
  • Seleccionar la opción de almacenamiento de datos adecuada para los datos de la aplicación.
  • Implementar la gestión de identidades federadas.
  • Desarrollar microservicios o componentes de aplicación poco acoplados.
  • Integrar componentes de aplicaciones y fuentes de datos.
  • Depurar, rastrear y monitorear aplicaciones.
  • Realizar implementaciones repetibles con contenedores y servicios de implementación.
  • Seleccionar el entorno de tiempo de ejecución de la aplicación adecuado.

Módulo 1: Best Practices for Application Development

Temas:

  • Code and environment management
  • Design and development of secure, scalable, reliable, loosely coupled application components and microservices
  • Continuous integration and delivery
  • Re-architecting applications for the cloud

Objetivos:

  • Design and develop secure, scalable, reliable, loosely coupled application components and microservices.
  • Understand how to rearchitect applications for the cloud.

Módulo 2: Getting Started with Google Cloud Development

Temas:

  • Overview of Google Cloud services for apps and scripts:
    • Google Cloud APIs
    • Cloud SDK
    • Cloud Client Libraries
    • Cloud Shell
    • Cloud Code
  • Demo: Google APIs Explorer
  • Lab: Setting up a Development Environment

Objetivos:

Identify different Google Cloud services for hosting applications and scripts.

Módulo 3: Overview of Data Storage Options

Temas:

  • Overview of options to store application data
  • Use cases for Cloud Storage, Firestore, Cloud Bigtable, Cloud SQL, and Cloud Spanner
  • Demo: Connecting Securely to a Cloud SQL Database

Objetivos:

Choose the appropriate data storage option for application data.

Módulo 4: Best Practices for Using Datastore

Temas:

  • Best practices related to using Firestore in Datastore mode for:
    • Queries
    • Built-in and composite indexes
    • Inserting and deleting data (batch operations)
    • Transactions
    • Error handling
  • Demo: Explore Datastore
  • Demo: Use Dataflow to Bulk-load Data into Datastore
  • Lab: Storing Application Data in Datastore

Objetivos:

  • Bulk-load data into Firestore by using Dataflow.
  • Understand best practices related to queries, built in and composite indexes, inserting and deleting data (batch operations), and transactions error handling.

Módulo 5: Performing Operations on Buckets and Objects

Temas:

  • Cloud Storage concepts
  • Consistency model
  • Demo: Explore Cloud Storage
  • Request endpoints
  • Composite objects and parallel uploads
  • Truncated exponential backoff
  • Demo: Enable CORS Configuration in Cloud Storage

Objetivos:

  • Understand Cloud Storage concepts.
  • Differentiate between strongly consistent and eventually consistent operations.
  • Access Cloud Storage through request endpoints.
  • Use object composition to upload an object in parallel.
  • Use truncated exponential backoff to deal with network failures.

Módulo 6: Best Practices for Using Cloud Storage

Temas:

  • Naming buckets for static websites and other uses
  • Naming objects (from an access distribution perspective)
  • Performance considerations
  • Lab: Storing Image and Video Files in Cloud Storage

Objetivos:

Understand how to name buckets for static websites and other uses, how to name objects (from an access distribution perspective, and performance considerations.

Módulo 7: Handling Authentication and Authorization

Temas:

  • Identity and Access Management (IAM) roles and service accounts
  • User authentication by using Firebase Authentication
  • User authentication and authorization by using Identity-Aware Proxy
  • Lab: Adding User Authentication to your Application

Objetivos:

Implement federated identity management.

Módulo 8: Using Pub/Sub to Integrate Components of Your Application

Temas:

  • Topics, publishers, and subscribers
  • Pull and push subscriptions
  • Use cases for Pub/Sub
  • Lab: Developing a Backend Service

Objetivos:

  • Understand Pub/Sub topics, publishers, and subscribers.
  • Understand pull and push subscriptions.
  • Explore use cases for Pub/Sub.

Módulo 9: Adding Intelligence to Your Application

Temas:

Overview of pre-trained machine learning APIs such as the Vision API and the Cloud Natural Language Processing API.

Objetivos:

Explore pre-trained machine learning APIs such as Cloud Vision API and Cloud Natural Language API.

Módulo 10: Using Cloud Functions for Event-Driven Processing

Temas:

  • Key concepts such as triggers, background functions, HTTP functions
  • Use cases
  • Developing and deploying functions
  • Logging, error reporting, and monitoring
  • Demo: Invoke Cloud Functions Through Direct Request-response
  • Lab: Processing Pub/Sub Data using Cloud Functions

Objetivos:

Use Cloud Functions for event-driven processing.

Módulo 11: Managing APIs with Cloud Endpoints

Temas:

  • Open API deployment configuration
  • Lab: Deploying an API for the Quiz Application

Objetivos:

Understand OpenAPI deployment configuration.

Módulo 12: Deploying Applications

Temas:

  • Creating and storing container images
  • Repeatable deployments with deployment configuration and templates
  • Demo: Exploring Cloud Build and Cloud Container Registry
  • Lab: Deploying the Application into Kubernetes Engine

Objetivos:

  • Understand how to create and store container images.
  • Create repeatable deployments with deployment configuration and templates.

Módulo 13: Compute Options for Your Application

Temas:

  • Considerations for choosing a compute option for your application or service:
    • Compute Engine
    • Google Kubernetes Engine (GKE)
    • Cloud Run
    • Cloud Functions
  • Platform comparisons.
    • Comparing App Engine and Cloud Run

Objetivos:

Explore considerations for choosing a compute option for your application or service.

Módulo 14: Debugging, Monitoring, and Tuning Performance

Temas:

  • Google Cloud’s operations suite
  • Managing performance
  • Lab: Debugging Application Errors
  • Logging
  • Monitoring and tuning performance
  • Identifying and troubleshooting performance issues
  • Lab: Harnessing Cloud Trace and Cloud Monitoring

Objetivos:

  • Debug an application error by using Cloud Debugger and Error Reporting.
  • Use Cloud Monitoring and Cloud Trace to trace a request across services, observe, and optimize performance.

Documentación oficial para el curso Developing Applications with Google Cloud.

  • Formador certificado por Google Cloud.
  • Más de 5 años de experiencia profesional.
  • Más de 4 años de experiencia docente.
  • Profesional activo en empresas del sector IT.

Solicita información


Descarga el programa del curso
Descargar programa
Hoja de Matriculación:
Descargar matrícula

Si no has encontrado lo que buscabas, prueba buscar tu curso o certificación aquí

Compartir: