Model PaaS de Google

September 3, 2017 | Autor: Gema Gummi | Categoría: Cloud Computing, Google
Share Embed


Descripción

Integrantes: Oscar Daniel Guzmán Vega S2L
Génesis María Guedes Jara.




Modelo PaaS de Google Apps.
Google Apps es un paquete de servicios basado en la nube que puede proporcionar a tu empresa o centro educativo una forma totalmente nueva de trabajar en equipo online (no solo con el correo electrónico y el chat, sino también a través de videoconferencias, medios sociales, colaboraciones en documentos en tiempo real y mucho más.
El modelo PaaS en Google Apps es Google App Engine, el cual es una plataforma que permite desarrollar, almacenar y ejecutar una aplicación web, en la gestión de centros de datos de Google. 
 
¿Qué es Google App Engine? 
Es una plataforma de alojamiento y desarrollo de aplicaciones de Google. Esta permite construir aplicaciones web para grandes volúmenes de tráfico sin tener que gestionar una infraestructura para ello. Sus aplicaciones usan la misma tecnología de velocidad y fiabilidad que utilizan los sitios web de Google, solo es necesario que el desarrollador proporcione el código. Nació en el 2008, de momento sólo soporta los lenguajes de programación Python y Java (incluido en el 2009), aunque se espera incluyan algunos más en un futuro.
Características generales de App Engine.
Esta página resume los rasgos de App Engine. Una característica puede estar disponible en el tiempo de ejecución del lenguaje, o sólo en un subconjunto. La funcionalidad de una característica suele ser el mismo en todos los tiempos de ejecución en los que está disponible, pero no puede haber excepciones.
Cada característica de App Engine se clasifica de acuerdo a su estado y disponibilidad:

General Availability (GA). Las características están disponibles al público y están cubiertos por SLA y la política de App Engine. La aplicación de una característica GA es estable; cualquier cambio realizado será compatible con versiones anteriores. A menos que se indique lo contrario, las características de App Engine descritos en esta página están en GA.
Beta, estas características están disponibles al público. Estas pueden o no convertirse en características GA en una futura actualización de App Engine, y su implementación puede llevar a ciertas incompatibilidades.
Alpha, estas características pueden o no convertirse en características Beta o GA en una actualización de App Engine, y su implementación puede dar ciertas incompatibilidades. Algunas características Alpha están disponibles para el público, mientras que otras requieren de una orden de solicitud de acceso para ser usadas.

Algunas de las características descritas son proporcionadas por terceros, otros son proyectos de código abierto. Estos serán marcados como terceros o de Open source.

Las descripciones de las características en esta página son agrupadas de acuerdo a las funciones generales que sirven:
Lenguajes de programación y tiempos de ejecución.
Almacenamiento de datos, recuperación, y búsqueda.
Comunicaciones.
Gestión de Procesos.
Computación.
Configuración y gestión de App.

Lenguajes de programación y tiempos de ejecución.
Java Runtime.
App Engine corre la aplicación web usando Java 7 JVM en un sandbox. App Engine invoca sus servlet para manejar las solicitudes y preparar respuestas en este entorno. App Engine utiliza el Java servlet estándar para las aplicaciones web. Se deben proporcionar las clases de servlet, JavaServer Pages, archivos de datos y permanentes, junto con el descriptor de despliegue (el archivo .xml) y otros archivos de configuración, es un directorio estructurado estándar.
El entorno sandbox garantiza las solicitudes de servicio y seguridad de la aplicación.
El complemento de Google para Eclipse añade nuevos asistentes de proyectos y configuraciones de depuración para su IDE Eclipse para proyectos de App Engine. App Engine para Java hace que sea especialmente fácil de desarrollar y desplegar aplicaciones Web de clase mundial usando Google Web Toolkit (GWT). El plug-in de Eclipse viene con los SDK App Engine y GWT. Plugins de terceros están disponibles para NetBeans e IntelliJ.
Python Runtime
App Engine ejecuta su código de aplicación Python usando un intérprete precargado Python en un entorno sandbox seguro. Su aplicación recibe peticiones web, realiza un trabajo, y envía las respuestas mediante la interacción con este entorno.
Una aplicación web Python interactúa con el servidor Web App Engine mediante el protocolo WSGI, por lo que las aplicaciones pueden usar cualquier framework de aplicaciones web compatibles con WSGI. App Engine incluye un marco de aplicación web simple, llamado webapp2, para hacer más fácil para empezar.
El intérprete de Python puede ejecutar cualquier código Python, incluyendo módulos de Python que usted incluya con su solicitud, así como la biblioteca estándar de Python. El intérprete no puede cargar los módulos de Python con código C; se trata de un entorno de Python " puro".
El entorno sandbox garantiza su solicitud de servicio y seguridad. Asegura que las aplicaciones sólo pueden realizar acciones que no interfieren con el rendimiento y la escalabilidad de las otras aplicaciones.
PHP Runtime Beta
El PHP Runtime ejecuta el código en un entorno sandbox de PHP 5.4. Su aplicación recibe peticiones web, realiza un trabajo, y envía las respuestas mediante la interacción con este entorno. El tiempo de ejecución es compatible con muchas de las extensiones PHP estándar. No se puede cargar extensiones escritas en C.
App Engine ejecuta su propio servidor web, que se puede configurar mediante un archivo app.yaml que ha subido con su código. Este archivo especifica cómo las peticiones HTTP entrantes a su aplicación se dirigen a los scripts PHP.
Existe un pequeño número de funciones PHP no están disponibles en App Engine, y otros que lanzarán una excepción si se usan incorrectamente.
El tiempo de ejecución de PHP proporciona una función de Google Cloud Storage, 'stream wrapper' que le permite usar muchas de las funciones del sistema de archivos PHP estándar para acceder a Google Cloud Storage.
Go Runtime Beta
App Engine corre Go versión 1.2. El SDK proporciona una interfaz similar al paquete http Go estándar.
El SDK incluye el compilador de Go y la biblioteca estándar; que no tiene dependencias adicionales. Debido a que el tiempo de ejecución Go se ejecuta en un entorno sandbox, algunas de las funciones de la biblioteca estándar devolverá errores y no deberán usarse.
No es necesario invocar el compilador Go por uno mismo. La aplicación es automáticamente reconstruida en el lado del servidor cada vez que se suba nuevo código, y si está ejecutando el servidor de desarrollo local de la SDK vuelve a compilar automáticamente las fuentes en la marcha cuando los cambie.
El entorno de ejecución Go para App Engine soporta Goroutines, pero deben estar programados en un solo hilo. Goroutines puede ejecutar de forma concurrente pero no en paralelo. Una instancia de la aplicación puede manejar múltiples peticiones.
Managed VMs Beta
El entorno de alojamiento Managed VM permite ejecutar aplicaciones de App Engine en configurables máquinas virtuales Compute Engine (VMs). Este entorno de alojamiento basado en VM ofrece más flexibilidad y ofrece más opciones de CPU y memoria. Las aplicaciones que se ejecutan en máquinas virtuales gestionadas, no están sujetas a las restricciones de tiempo de ejecución de Java y Python y tienen acceso a todos los tipos de máquinas Compute Engine. También puede agregar las bibliotecas y frameworks de terceros para su aplicación.

Almacenamiento de datos, recuperación, y búsqueda.
Datastore.
Un almacén sin esquemas de objetos, con almacenamiento escalable, una API de modelado de datos, y un lenguaje de consulta similar a SQL. Es especialmente útil para aplicaciones web distribuidas, donde múltiples usuarios pueden estar accediendo o manipulando la misma información al mismo tiempo. Disponible para Python, Java y Go.
Datastore Backup/Restore Beta
Permite exportar e importar datos desde o hacia el Datastore de la aplicación usando la consola del administrador.
HRD Migration Tool.
Utilice las herramientas de migración que se encuentran en la pestaña Configuración de la aplicación de la consola de administración para migrar los datos de la aplicación del obsoleto almacén de datos Maestro/ Esclavo para el almacén de datos de alta replicación (HRD). Se debe duplicar la aplicación y luego migrar los datos. Es posible que tenga que hacer algunos cambios en su aplicación para asegurar una migración óptima. Disponible para Python, Java y Go.
Google Cloud SQL
Un servicio web totalmente gestionada que le permite crear, configurar y utilizar las bases de datos relacionales que viven en la nube de Google. Disponible para Python, Java, PHP y Go.
Blobstore
Permite a la aplicación disponer de objetos de gran tamaño, como los archivos de vídeo o imagen, que son demasiado grandes para el almacenamiento en el servicio de almacén de datos. Disponible para Python, Java y Go.
Google Cloud Storage Client Library
Abrir y guardar en el almacenamiento en la nube de Google con la gestión de errores internos y lógica de reintento. Disponible para Python, Java, PHP y Go.
Search
Realizar búsquedas de Google como más datos estructurados tales como: texto, HTML, atom, números, fechas y ubicaciones geográficas. Disponible para Python, Java y Go.
Prospective Search Alpha
Un servicio de consulta que permite a la aplicación para que coincida con las consultas de búsqueda contra los flujos de datos en tiempo real. Disponible para Python y Java.
Memcache
Una caché de datos distribuida en memoria que se puede utilizar para mejorar en gran medida el rendimiento de la aplicación. Disponible para Python, Java, PHP y Go.
Dedicated Memcache
Proporciona una capacidad de caché fijo asignado exclusivamente a su aplicación. Disponible para Python, Java, PHP y Go.
Logs
El acceso programático a la aplicación y registros de solicitudes desde la aplicación. Disponible para Python, Java, PHP y Go.

Comunicaciones.
Channel
Crea una conexión persistente entre la aplicación y clientes de JavaScript, por lo que puede enviar mensajes en tiempo real sin necesidad de sondeo. Disponible para Python, Java y Go.
Google Cloud Endpoints
Genera APIs para Android, iOS y clientes web, por lo que es más fácil crear un backend web para su aplicación. Disponible para Python y Java.
Mail
Enviar mensajes de correo electrónico en nombre de los administradores y usuarios con cuentas de Google, y recibir correo en varias direcciones. Disponible para Python, Java, PHP y Go.
SendGrid Third-party
Utilice la biblioteca de SendGrid para enviar mensajes de correo electrónico de la aplicación y se puede ver en las estadísticas como abre, clics, cancelar la suscripción, informes de spam y mucho más. Disponible para Python, Java y PHP.
Sockets Beta
Admite sockets salientes utilizando los específicos del idioma, una función de las bibliotecas. Disponible para Python, Java, PHP y Go.
Twilio Third-party
Permite que su aplicación pueda realizar y recibir llamadas, enviar y recibir mensajes de texto y hacer llamadas VoIP desde cualquier teléfono, Tablet o navegador. Disponible para Python, Java y PHP.
URL Fetch
Utiliza la infraestructura de redes de Google para emitir de manera eficiente peticiones HTTP y HTTPS a direcciones URL en la web. Disponible para Python, Java, PHP y Go.
XMPP
Permite que una aplicación pueda enviar y recibir mensajes de chat desde y hacia cualquier servicio de mensajería de chat compatible con XMPP. Disponible para Python, Java y Go.

Gestión de Procesos.
Task Queue
Permite a las aplicaciones para realizar el trabajo fuera de una solicitud del usuario, utilizando, tareas discretas pequeñas, que son ejecutadas después. Disponible para Python, Java, PHP y Go.
Task Queue REST API Alpha
Permite el uso de una cola de tareas App Engine sobre REST. Disponible para Python, Java, PHP y Go, incluso implementa el API definido para Python.
Task Queue Tagging Beta
Presta hasta un número determinado de tareas con la misma etiqueta de la cola por un período de tiempo especificado. Disponible para Python, Java y Go.
Scheduled Tasks
Configurar tareas que se ejecutan en momentos definidos o intervalos regulares. Disponible para Python, Java, PHP y Go.
Computación.
Images
Manipular, combinar y mejorar las imágenes. Convierte entre formatos de imagen, acceso a las imágenes de metadatos como la altura y la frecuencia de los colores. Disponible para Python, Java y Go.
MapReduce Open Source
Una adaptación óptima del modelo de computación MapReduce para computación distribuida eficiente sobre grandes conjuntos de datos. Disponible en Github para Java y Python.

Configuración y gestión de App.
App Identity
Un framework que proporciona acceso a la identidad de la aplicación, y la capacidad de hacer valer esta identidad mediante OAuth. Disponible para Python, Java, PHP y Go.
OAuth Alpha
El uso de las cuentas de Google y la API OAuth, cualquier aplicación de App Engine puede ser un proveedor de servicios de OAuth. Disponible para Python, Java y Go.
OpenID Alpha
Una tecnología abierta que se utiliza para la autenticación de usuarios a través de diferentes servicios web. Disponible para Python, Java, PHP y Go.
PageSpeed Alpha
El servicio PageSpeed optimiza automáticamente la forma en que su aplicación sirve de contenido web. Comprime y almacena en caché el código HTML. También puede alinear y combinar recursos. Crear una mejor experiencia de usuario y conducen a un aumento del tráfico y la reducción de las tasas de rebote.
Capabilities
Detecta cortes y el mantenimiento programado de los servicios específicos, por lo que una aplicación puede evitarlos o notificar a los usuarios. Disponible para Python, Java y Go.
Modules
Aplicaciones en componentes lógicos que pueden compartir servicios con estado y comunicar de una manera segura. Disponible para Python, Java, PHP y Go.
Multitenancy
Hace que sea fácil de compartimentar sus datos para servir a muchas organizaciones de los clientes desde una única instancia de la aplicación. Disponible para Python, Java y Go.


Remote
Acceso a los servicios App Engine desde cualquier aplicación. Por ejemplo, acceder a un almacén de datos de producción a partir de una aplicación que se ejecuta en el equipo local. Disponible para Python, Java y Go.
SSL for Custom Domains
Servir aplicaciones a través de HTTPS y HTTP desde un dominio personalizado en lugar de una dirección appspot.com. Disponible para Python, Java, PHP y Go.
Traffic Splitting
Le permite desplegar características para su aplicación lentamente durante un período de tiempo y hacer las pruebas A/B. La división de Tráfico trabaja dividiendo las solicitudes entrantes a diferentes versiones de su aplicación.
Users
Permite que las aplicaciones accedan a los usuarios con cuentas de Google o OpenID, y frente a estos usuarios con identificadores únicos.
En resumen.
Las aplicaciones son fáciles de crear, mantener y escalar. La infraestructura se va adaptando en cuanto a cargas de trabajo, tráfico y almacenamiento, y solo pagas solo lo que usas, claro que puedes usarla gratis, con ciertos límites en cuanto a características. 
Se pueden escribir aplicaciones en algunos de los lenguajes de programación más populares: Python, Java, PHP y Go. Utiliza marcos existentes, como Django, Flask, Spring y webapp2. Desarrolla de forma local con SDK específicos de cada idioma. Vincula las aplicaciones con Compute Engine para integrar otras tecnologías conocidas, como Node.js, C++, Scala, Hadoop, MongoDB, Redis, etc. 
Google puede encargarse de la administración de la base de datos, la configuración del servidor, la fragmentación y la distribución de la carga. Con la división del tráfico, puedes hacer pruebas A/B de distintas versiones de producción de la aplicación.
Se puede elegir la opción de almacenamiento que necesitas: una base de datos MySQL mediante Cloud SQL, un almacén de datos NoSQL sin esquema o almacenamiento de objetos mediante Cloud Storage. 
App Engine mejora la productividad al eliminar la necesidad de escribir código repetitivo. Los servicios administrados, como las colas de tareas, Memcache y la API de usuarios, te permiten crear cualquier tipo de aplicación. Se Utilizan las herramientas que ya se conocen, incluidas Eclipse, IntellIJ, Maven, Git, Jenkins y PyCharm, entre otras. El SDK de App Engine te permite probar las aplicaciones localmente en un entorno simulado y, a continuación, implementarlas con herramientas de la línea de comandos sencillas o desde el menú de aplicaciones del escritorio.

Fuentes:
https://support.google.com/a/answer/91077?hl=es
https://cloud.google.com/appengine/features/?hl=es

ELECTIVA I



Lihat lebih banyak...

Comentarios

Copyright © 2017 DATOSPDF Inc.