App Engine: Despliegue de Aplicaciones sin Infraestructura
Resumen
¿Qué es Google App Engine y por qué es importante?
En el cada vez más complejo mundo del desarrollo de software, contar con soluciones que permitan simplificar el proceso es crucial. Google App Engine, formando parte de Google Cloud Platform desde 2008, es una plataforma que ofrece justamente eso. Es un servicio de plataforma como servicio (PaaS) que te permite construir y desplegar aplicaciones sin preocuparte por la infraestructura subyacente. Su enfoque innovador ha sido un motor clave en la evolución de servicios en la nube y su capacidad de autogestión es un ejemplo de eficiencia para cualquier empresa que desee escalar rápidamente.
¿Cómo simplifica App Engine el desarrollo de aplicaciones?
App Engine fue diseñado para ofrecer una experiencia de hosting en la nube totalmente administrado. Imagina una plataforma que se encarga del autoescalado, la bifurcación de tráfico, el balanceo de carga y la alta disponibilidad, ¡todo sin necesidad de intervención manual! App Engine también provee infraestructura para la gestión de bases de datos desde sus inicios ofreciendo Firestore, algo que hoy en día se mantiene relevante en la gestión de datos.
Ventajas al usar App Engine:
Autoescalado automático: No necesitas preocuparte por ajustar manualmente los recursos.
Alta disponibilidad: Distribuido a través de múltiples regiones para garantizar que tu aplicación siempre esté disponible.
Gestión de dominios y certificados: Ofrece integración fácil para certificados digitales y enlaces de dominios personalizados.
Infraestructura segura: Canal seguro a través de HTTPS para todo el tráfico.
Mecanismos de monitoreo y logging: Facilita el rastreo y resolución de problemas en producción.
Compatibilidad y flexibilidad: Compatible con múltiples lenguajes de programación y versiones.
¿Cómo se estructura App Engine?
App Engine fue diseñado considerándose una arquitectura orientada a servicios. Imagina tener un nodo raíz, un servicio por defecto, y múltiples servicios adicionales que albergan la lógica de negocio. Cada servicio puede tener varias versiones y autoescalarse según lo necesites.
Servicios múltiples: Desarrollar servicios en diferentes lenguajes o versiones permite flexibilidad.
Desarrollo orientado a microservicios: Aunque originalmente era un requisito, hoy en día es más flexible.
¿Cuáles son los casos de uso comunes?
App Engine es ampliamente utilizado para desarrollar y hospedar aplicaciones web y APIs. Además, su flexibilidad lo hace ideal para backend móviles a través de Cloud Endpoints, permitiendo crear experiencias de usuario más personalizadas para plataformas iOS y Android.
Aplicaciones típicas:
Aplicaciones web de alto tráfico
Backends para apps móviles
APIs para negocios
¿Qué comandos necesitas saber para empezar?
Para aquellos que estén listos para pisar el acelerador y desplegar su aplicación, App Engine simplifica el inicio con un proceso directo. Usando el SDK de Google Cloud, basta con un único comando para desplegar tu aplicación:
gcloud app deploy
Este comando facilita el trabajo de procesos detrás de bastidores que involucran diversas tecnologías como Docker Build y Docker Push, liberándote de la necesidad de interactuar directamente con esas capas de implementación.
¿Cómo es App Engine en la actualidad?
A pesar de sus inicios en 2008, App Engine ha evolucionado para mantenerse al día con las exigencias tecnológicas actuales. Hoy procesa la friolera de 320 mil millones de peticiones por día. Esto habla de un servicio refinado, confiable y que apoya a miles de desarrolladores en todo el mundo. App Engine nos recuerda que la tecnología evoluciona, pero los fundamentos de una buena solución en la nube permanecen firmes.
App Engine fue el primer servicio cómputo en la GCP
Cloud Hosting en una caja (desplegar aplicaciones sin complejidad) proveía cuando salió (2008):
Internal Hosting
Admin Panel
Database
Templates
Desarrollo acelerado
Arquitectura orientada a Microservicios aunque no es restrictiva, cualquier nodo puede ser un "Frontend":
Cloud Hosting en una caja provee hoy (320 billones de peticiones por día):
Auto escalamiento
Bifurcación de tráfico: Habilidad de mandar 5% de tráfico a una nueva versión paraver como le va
Balanceo de carga original (Auto administrable)
Alta disponibilidad hospedando en al menos 3 zonas
SSL & Dominios: Todo el tráfico por un canal seguro como https
Chequeos de salud
Cloud Tasks: Calendarizar y asíncronismo en tareas
Monitoreo
Logueo
MULTIPLES SERVICIOS: Pueden desarrollar servicios en diferentes versiones o lenguajes
Se pueden usar en:
Web App
Mobile Backends -> Diferentes endpoints para Android y iOS
HTTP APPIs
LOB Apps (Line of Business)
$ gcloud app deploy -> Nos provee toda la estructura necesaria
Dos sabores de App Engine
Vainilla: Solo le doy el código y lo corre
Chocolate: Podemos darle un contenedor a Google y ahi corre el código (Al darse cuenta del potencial)
gracias!
Bifurcación de Tráfico: La habilidad de hacer pruebas A/B por ejemplo: mandar un 5% de tu tráfico hacia una nueva versión de la aplicación para progresivamente ir desplegando esa aplicación.
buena nota para tomar en cuenta gracias :D
Una caracteristica clave: App Engine auto escala por nosotros (al comprender mecanismos de alta disponibilidad de forma transparente).
Con App Engine podemos desplegar servicios sin preocuparnos por la administracion.
Provee grandes soluciones para las empresas que necesitan administracion y agilidad en sus procesos
Google App Engine
Construido el 2008, primer servicio en la nube de Google.
Features
Internal Hosting
Admin Panel
Database
Templates
Multiple languages and services
Arquitectura
Aplicación → Servicio → Version → Instancia
Cloud hosting in the box (hoy)
Auto escalamiento
bifurcacion de tráfico
Alta disponibilidad
Monitoreo
Logueo
Deploy of cloud
gcloud app deploy
Usos:
Utilizar un codigo en cierto lenguaje y google se encarga de correrlo
Utilizar un contenedor (Docker) que corra en App Engine.
gracias por las notas.
La liga a los 30 días gratis de qwiklabs ya no funciona, lleva a otra promoción. Saben ¿Cuántos créditos se necesitan para completar el curso.?
Hola. Podrían poner los títulos de los laboratorios en qwikliabs porque los enlaces no están funcionando.
Como puedo saber por cual optar si por AppEngine o Compute Engine?
*[PaaS]: Platform as a Service
*[IaaS]: Infrastructure as a Service
Lo que debes tener en cuenta es lo siguiente.
App Engine es PaaS aquí tu subes tu código y se despliega de forma automática, no te preocupas por la máquina en la que va a correr si necesitas configurar o instalar algo adicional.
GCP (Google Cloud Platform) es IaaS en el cual debes seleccionar la máquina en la que quieres que corra tu código, también instalar las cosas necesarias para tal fin y encargarse del mantenimiento.
Esta es la diferencia más importante.
Tengo problemas al acceder al laboratorio, cuando le doy click al enlace me manda a QWIKLABS pero me aparece el mensaje "Sorry, access denied for this resource", me puede ayudar, ¿le ha pasado?, ¿cómo se soluciona?. Saludos.!!
Si en el live mencionaron que estaban revisando el por que de este error igualmente seria bueno que te conectaras hoy al live para que te respondan!
Hola, contacta con el soporte de QWIKLABS, el problema es porque creaste muchas instancias y se te bloqueo, me paso tambien, espero que te ayude, saludos