GOOGLE APP ENGINE

APP.pngPlataforma que permite ejecutar las aplicaciones en la infraestructura de Google. Nació en el 2008, incluyendo a Python como lenguaje a usar en la plataforma. En el 2009 se incluye a Java y otros lenguajes.

Características:

  • Lenguajes populares: Compila la aplicación en Node.js, Java, Ruby, C#, Go, Python o PHP, o usa un propio tiempo de ejecución de lenguaje.
  • Abierto y flexible: Los tiempos de ejecución personalizados permiten usar cualquier biblioteca y marco de trabajo en App Engine mediante el suministro de un contenedor de Docker.
  • Completamente administrado: Con un entorno completamente administrado, se puede enfocar en el código, mientras que App Engine se encarga de resolver los problemas de infraestructura.
  • Supervisión, registro y diagnóstico: Google Stackdriver ofrece un método de diagnóstico de aplicaciones potente para depurar y supervisar el estado y rendimiento de la app.
  • Control de versiones de aplicaciones: Aloja distintas versiones de la app y crea entornos de desarrollo, pruebas y producción sin dificultades.
  • División del tráfico: Dirige las solicitudes entrantes a distintas versiones de la app, realiza pruebas A/B e implementa funciones nuevas de forma incremental.
  • Seguridad para aplicaciones: Define reglas de acceso con el firewall de App Engine para proteger la aplicación y usa de forma predeterminada los certificados SSL/TLS administrados en tu dominio personalizado sin costo adicional.
  • Ecosistema de servicios: Descubre el creciente ecosistema de servicios de GCP desde la aplicación, que incluye un excelente conjunto de herramientas para desarrolladores en la nube.

App Engine incluye las siguientes funciones:

  • Servidor web dinámico, totalmente compatible con las tecnologías web más comunes.
  • Almacenamiento permanente con funciones de consulta, clasificación y transacciones.
  • Escalado automático y distribución de carga.
  • API para autenticar usuarios y enviar correo electrónico a través de Google Accounts.
  • Un completo entorno de desarrollo local que simula Google App Engine en el equipo local.
  • Colas de tareas que realizan trabajos fuera del ámbito de una solicitud web.
  • Tareas programadas para activar eventos en momentos determinados y en intervalos regulares.

Arquitectura De Microservicios En Google App Engine

Microservicios se refiere a un estilo arquitectónico para desarrollar aplicaciones. Los microservicios permiten que una gran aplicación se descomponga en partes independientes, y cada parte tiene su propio ámbito de responsabilidad. Para servir a un solo usuario o solicitud de API, una aplicación basada en microservicios puede llamar a muchos microservicios internos para componer su respuesta.

Una aplicación basada en microservicios correctamente implementada puede lograr los siguientes objetivos:

  • Definir contratos fuertes entre los diversos microservicios.
  • Permita ciclos de implementación independientes, incluida la reversión.
  • Facilite la realización simultánea de pruebas de liberación A / B en subsistemas.
  • Minimice la automatización de la prueba y la sobrecarga de garantía de calidad.
  • Mejore la claridad del registro y la supervisión.
  • Proporcione una contabilidad de costos minuciosa.
  • Aumente la escalabilidad y confiabilidad de la aplicación en general.

App Engine Services Como Microservicios

En un proyecto de App Engine, se pueden implementar múltiples microservicios como servicios separados, anteriormente conocidos como módulos en App Engine. Estos servicios tienen un aislamiento completo del código; la única forma de ejecutar código en estos servicios es a través de una invocación HTTP, como una solicitud de usuario o una llamada API RESTful. El código en un servicio no puede llamar directamente el código en otro servicio. El código se puede implementar en servicios de forma independiente, y se pueden escribir diferentes servicios en diferentes lenguajes, como Python, Java, Go y PHP. Los tipos de instancias de autoescalado, equilibrio de carga y máquina se administran independientemente para los servicios.

Además, cada servicio puede tener múltiples versiones implementadas simultáneamente. Para cada servicio, una de estas versiones es la versión de servicio predeterminada, aunque es posible acceder directamente a cualquier versión desplegada de un servicio, ya que cada versión de cada servicio tiene su propia dirección. Esta estructura abre una miríada de posibilidades, incluidas las pruebas de detección de humo de una nueva versión, las pruebas A / B entre diferentes versiones y las operaciones simplificadas de avance y retroceso. El marco de App Engine proporciona mecanismos para ayudar con la mayoría de estos elementos.

Aunque en su mayoría están aislados, los servicios comparten algunos recursos de App Engine. Por ejemplo, Cloud Datastore, Memcache y Task Queues son todos recursos compartidos entre servicios en un proyecto de App Engine. Si bien este intercambio tiene algunas ventajas, es importante que una aplicación basada en microservicios mantenga el aislamiento de códigos y datos entre microservicios. Hay patrones de arquitectura que ayudan a mitigar el intercambio no deseado.

MS

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s