No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

App Engine

7/24
Recursos

Google tiene una gran oferta de servicios de cómputo. Con App Engine por ejemplo tenemos una plataforma como servicio, en la que podemos construir nuestras aplicaciones. App Engine nos ayuda con los problemas de escalamiento. Cuando queremos concentrarnos en lo que
más valor le da a nuestro trabajo, como lo es la implementación de nuevas características.

Google y su equipo se encargan de estos temas como escalamiento, versionamiento etc.

App Engine viene en dos sabores: estándar y flexible.

Estándar: Python, Java, Go, PHP5. Versiones de lenguajes populares. App Engine Standard es uno de los primeros servicios que Google lanzó.

  • ¿Qué pasa si quiero trabajar con lenguajes más modernos o versiones más actuales?
  • En este caso vamos a trabajar con App Engine Flexible, aquí contamos con Node.js. .Net Core, Java, PHP7, Go, Ruby.
  • ¿Qué pasa si no encuentro mi runtime disponible en las opciones?
  • Cualquier otra cosa que puedas poner en un contenedor Docker puedes subirlo a App Engine.

Aportes 52

Preguntas 10

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Hola, para quienes estén haciendo esto en octubre de 2020 o más adelante.

  1. Los pasos que sigue el profesor está en la rama steps

  2. Aunque el repositorio se ha actualizado y ahora debería utilizarce la rama master.

  3. Esta es la documentación oficial de este ejemplo actualizado.

  4. El único paso que en lo personal no pude seguir fue la creación del bucket como está en el ejemplo (PROJECT_ID_bucket), así que cree un bucket con un nombre diferente y para que el proyecto lo tomará actualice el archivo storage.py

bucketname = 'nombre_bucket' or os.getenv(...) or os.getenv(...) + '_bucket'

Luego de esto solo tuve que volver a desplegar y listo, imágenes de portada actualizadas.

Para quienes quieran utilizar el Google SDK en sus máquinas locales, aquí pueden encontrar como hacerlo: https://cloud.google.com/sdk/docs/install

  • AppEngine
    • construye Web apps, se puede implementar microservicios.
    • Escalables automaticamente
    • Dos versiones (Standard, Flexible)
      Standard.- viene con algunas verisiones antiguas
      Flexible.- se puede trabajar con varias versiones más modernas, no existe restricciones.
Me hubiera gustado que hable sobre los precios estimados al usar este servicio. Es complicado hacer una estimación sin conocer.

Para los usuarios de Windows, el SDK de GCP puede instalarse desde el archivo .exe de su página web. Al finalizar la instalación abrirá CMD para configurar su cuenta. Para ello, abrirá una ventana del navegador donde pedira que seleccionen su cuenta de GCP. Posteriormente en la consola deberán especificar el Project ID donde desean trabajar (Si no lo hicieron, puede modificarse posteriormente).

En mi caso, para clonar el repositorio tuve que instalar git. Lo hice mediante Visual Studio Code con Python 3.7.1 de Anaconda.

conda install -c anaconda git
git clone https://github.com/GoogleCloudPlatform/getting-started-python.git

Habrá que recordar que para crear un entorno virtual en Windows se especifica el comando virtualenv y el nombre del ambiente virtual para después activarse. En mi caso:

virtualenv venv
venv/Scripts/activate
pip install -r requirements.txt

Si al realizar el deploy manda un error que indica que no se ha especificado el ambiente de trabajo, deberá incluirse en la configuración de GCP por medio de Google Cloud SDK Shell, el cual ubicarán en su menú inicio después de la instalación del SDK. La instrucción es la siguiente acompañada del Project ID que tengan en su cuenta:

gcloud config set project my-proyect-1234567890

Espero que les sirva.

Saludos

Seguí esta guia del mismo projecto pero que esta mas actualizada 👉🏽 https://cloud.google.com/python/getting-started?authuser=2
Luego tuve este problema 👇🏾

.
Pero lo solucioné con esta guia 👉🏽 https://cloud.google.com/docs/authentication/getting-started#command-line

De momento el ejemplo no he sido capaz de echarlo andar…

pero si alguien quiere hacer un quicklab parecido

“Cómo implementar una aplicación web de Flask escrita en Python en el entorno flexible de App Engine”

https://www.qwiklabs.com/focuses/3339?locale=es&parent=catalog

si tenéis la cuenta gratuita de Google cloud platform lo podéis hacer sin problemas.

No veo el directorio de 2-structured-data en ese repositorio…

Los que estén intentando trabajar con el mismo proyecto que el profesor, les recomiendo seguir el tutorial que está acá https://cloud.google.com/python/getting-started/ fue el único que me funcionó. Por cierto, ejecuten todo desde el cloudshell.

Como recomendación si están trabando desde una MAC, es importante tener instalado Python para continuar y entender el video, para esto comparto los siguientes paso:

Requerimiento mínimo, tener instalado XCODE

  1. Ingresar a la terminar
  2. Instalar Brew desde con la siguiente línea de comando:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  1. Instalar Python3:
brew install python3
  1. Configurar los Path:
export PATH=/usr/local/bin:/usr/local/sbin:$PATH
PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:${PATH}"
  1. Es posible que al ejecutar el comando:
virtualenv -p python3 platzienv

Muestre el error:

-bash: virtualenv: command not found

Para solucionarlo, se debe ejecutar:

sudo -H pip install virtualenv

De esta forma pude continuar con el video y poder construir la app, espero sea de utilidad.

Python ❤️

Primera vez que veo VSC con el tema blanco, no lo quiero volver a ver asi

Las instrucciones para instalar Google Cloud SDK estan disponibles en la siguiente dirección: https://cloud.google.com/sdk/docs/install

Hay alguna diferencia que sea de gran impacto si utilizo un faas en vez de un appengine ?, por el caso de ser un nodejs-

Si están usando PIP3 después de octubre de 2020 pueden salir algunos errores.
Para resolverlo se ejecuta de esta forma.
pip3 --use-feature=2020-resolver install -r requirements.txt

Al ejecutar el comando:
gcloud app deploy

me salta un error de un archivo yaml, y no me inicia el deploy, alguien que me ayude, gracias

gcloud app deploy
ERROR: An app.yaml (or appengine-web.xml) file is required to deploy this directory as an App Engine appli
cation. Create an app.yaml file using the directions at https://cloud.google.com/appengine/docs/flexible/p
ython/configuring-your-app-with-app-yaml (App Engine Flexible Environment) or https://cloud.google.com/app
engine/docs/standard/python/config/appref (App Engine Standard Environment) under the tab for your languag
e.
ERROR: (gcloud.app.deploy) [/home/Developer/platzigae/getting-started-python/optional-kubernetes-engine] c
ould not be identified as a valid source directory or file.

App Engine es todo un reto más, conforme se avanza, uno puede entrar en emoción por tratar de abarcar todos los servicios gc

Excelente!

App Engine por lo que veo esta como orientado para el backend!

Listo!

App engine Standar: 1era version de App Engine lanzada (2008)
Solo trabaja con:
GO
PHP5
Python 2.7
Java
App engine Flexible:De entrada puede trabajar con cualquier cosa que este en Docker
De base trabaja con:
PHP 7:
Python 3.6
.Net
Ruby on rails
Docker
Java 8
Go
Node JS

Buenas pueden explicar que significa CONTENEDOR DOCKER ?

lo ideal seria construir microservicios autoescalables.

¿Cuales son los requerimientos para una aplicación con python37?

Enabling service [appengineflex.googleapis.com] on project [compra-segura-267320]... Operation "operations/acf.2b039580-6121-4bce-a316-b3284d8b69c3" finished successfully. Beginning deployment of service [default]... Building and pushing image for service [default] ERROR: (gcloud.app.deploy) Your application does not satisfy all of the requirements for a runtime of type [python37]. Please correct the errors and try again.

¡Interesante! Las ventajas de App Engine con respecto a Compute Engine

Después de desplegar la aplicación como se elimina? Lo he intentado pero no lo he logrado, alguien?

Ejemplo con Nodejs

git clone https://github.com/GoogleCloudPlatform/nodejs-getting-started.git
  • Yo use el comando gcloud app deploy --project nombreProyecto, y pues use una aplicación en python que había hecho. No encontré el proyecto que el maestro usó.
  • Con compute Engine tenemos acceso a una VM, la tenemos que configurar, instalar el servidor y debemos administrarla. es un trabajo arduo y complejo.
  • App Engine: App webs y Backends(iOS, android), exponer APIs
  • Escalable Automáticamente
  • Google abstrae la capa del sistema operativo.
  • Versiones Standard(version de lenguajes limitada) y Flexible(Amplia gama de lenguajes soportados y ademas tiene soporte para contenedores de coker).

AYuda por favor

Tengo un problema y es que me sale un error 502 bad gateway alguien sabe como solucionarlo?

gracias

Estoy desplegando con appengine pero mi app corre en el puerto 3001 y no tengo una regla en el firewall de app engine para ese puesto , tampoco tengo la opcion de agregarla.? Ayuda.

Buenas noches Antonio, App Engine me permite desplegar varios microservicios escritos en diferentes lenguajes a la vez?

Genial!

App Engine entraría en el concepto de “Serverless” completamente? O solo en parte?

¿alguien tiene el proyecto git del video? el del repositorio de github ha cambiado

App Engine

App engine es sin duda una buena alternativa para empezar a usar el cloud de google, en especial en el Free tier.

interesante

Por primera vez hago un deploy en google cloud con app de laravel!!

Aquí pueden encontrar la documentación de App Engine y sus Runtimes

una consulta, esa maquina virtual que has creado en cloud google , ? lo hicisstes con la version gratis de google o no ???

App Engine

Google tiene una gran oferta de servicios de cómputo. Con App Engine por ejemplo tenemos una plataforma como servicio, en la que podemos construir nuestras aplicaciones. App Engine nos ayuda con los problemas de escalamiento. Cuando queremos concentrarnos en lo que
más valor le da a nuestro trabajo, como lo es la implementación de nuevas características.

Para realizar la actividad pueden usar la guia de https://cloud.google.com/python/getting-started/ usando Cloud Shell. En la guia, en el paso de clonar el repositorio saldrá error debido a que a línea del parámetro git-branch usa “master” y en github ya se cambió este nombre por “main”. Solo copien la línea y hacen el cambio en Cloud Shell.

cloudshell_open --repo_url "https://github.com/GoogleCloudPlatform/getting-started-python" --dir "bookshelf" --page "editor" --git_branch "main" --force_new_clone

La version de python que hoy dia soporta Google Cloud Platform es 3.6.6
Puedes especificar la versión principal de Python. Para la versión principal que especifiques, Cloud Composer instalará la última versión major.minor.patch compatible. La versión de Python predeterminada se utiliza si la versión no se especifica.

Esta entre 2.7.15 y 3.6.6

Actualicen por favor 😄

Deberian actualizar unas partes del curso 😕

buenas tardes!!1…me gustaria realizar una consulta…Tengos una API desplegada en app engine que genera los cluster en dataproc bajo ciertas especificaciones (cantidad de workers, memoria de los workers, etc)…quiero cambiar esa configuración, pero para eso se debo modificar el código de al API que se encuentra en un repositorio de GCP y tengo entendido que luego de esa modificación se debe desplegar una nueva versión de esa nueva API (configurada)…como lo debo hacer? Como se despliega en una nueva función?

ERROR: (gcloud.app.deploy) INVALID_ARGUMENT: unable to resolve source

Me salio este mensaje al desplegar una app en asp.net core
dotnet restore dotnet publish -c Release gcloud app deploy .\bin\Release\netcoreapp2.1\publish\app.yaml

La solucion que encontre fue resetear la API de Google App Engine Flexible Environment.

Espero a alguien le sea de ayuda.

Si tengo una app en php con slim, ésta no tiene un archivo de conf como tal, donde tendría que poner el project_id de mi proyecto?

es gratuito montar la máquina en google?