CURSOS DE VERANO 2014

Documentos relacionados
Servinómina. Servicio de Visualización de Nóminas. (Servinómina) Agosto de Página 1 de 8 MINISTERIO DE HACIENDA Y ADMINISTRACIONES PÚBLICAS

Asignación de Procesadores

Descripción. Este Software cumple los siguientes hitos:

Arquitectura de sistema de alta disponibilidad

MANUAL COPIAS DE SEGURIDAD

TEMA 2: CAPACIDAD: Diseño del Servicio TI Anexo II: Amazon EC2

ADMINISTRACIÓN CENTRALIZADA DELL POWERVAULT DL2000 CON TECNOLOGÍA SYMANTEC

Guía de uso del Cloud Datacenter de acens

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

Preguntas Frec uentes Ia a S

UNIVERSIDAD TECNOLOGICA ECOTEC DIEGO BARRAGAN MATERIA: Sistemas Operativos 1 ENSAYO: Servidores BLADE

Introducción a las redes de computadores

Guía de Inicio Respaldo Cloud

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

PROGRAMACIÓN PÁGINAS WEB CON PHP

ALOJAMIENTO DE SERVIDORES EN EL C.P.D.

ALOJAMIENTO WEB 2010

Cloud Computing. Huibert Aalbers Senior Certified Executive IT Architect

Qué necesito saber para tener mi sitio web en Internet?

MIGRAR LA SEGURIDAD DEL A LA NUBE. pandasecurity.com

Sistema de SaaS (Software as a Service) para centros educativos

toda la potencia de un Dedicado con la flexibilidad del Cloud

Studium, Campus Virtual de la Universidad de Salamanca.

MANUAL PARA INCLUIR EL MOTOR DE RESERVAS EN LA WEB DEL ESTABLECIMIENTO

Almacenamiento virtual de sitios web HOSTS VIRTUALES

Nuevas tendencias: Virtualización de computadores / servidores

PROPUESTA COMERCIAL SERESCO, S.A.

DIEZ RAZONES. para seleccionar la Solución GOOM. frente a otras plataformas de NAV en AZURE


Acerca de Symantec Encryption Desktop

Brindamos asesorías que involucran tecnología y personal calificado, estos hacen de DOCTUM su mejor aliado.

Capítulo 5. Cliente-Servidor.

HOSTING TIPOS DE ALOJAMIENTO WEB EN INTERNET

DIAGNOSTICO SERVIDOR Y PLATAFORMA MOODLE

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

INFORME TÉCNICO ADQUISICIÓN DE LICENCIA DE SOFTWARE PARA VIRTUALIZACION

Información sobre seguridad

*La Macromedia Dreamweaver

Programación páginas web. Servidor (PHP)

Dominios Alojamiento web Máquinas virtuales Centro de proceso de datos

SIEWEB. La intranet corporativa de SIE

Trabajo 6 ADMINISTRACIÓN REMOTA Y SERVIDOR DE APLICACIONES EN WINDOWS. Jesús Losada - Jesús López - 2º ASIR

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

Curso de PHP con MySQL Gratis

Software Computacional y su clasificación

III. INTRODUCCIÓN AL CLOUD COMPUTING

CAPITULO IV. HERRAMIENTAS DE CÓDIGO ABIERTO

Respaldo Cloud. Preguntas Frecuentes. Versión 1.0

OFERTA DE SERVICIOS INTEGRALES PARA SU DESPACHO. CloudAbogados diseñamos, mantenemos y posicionamos para que su despacho no pase desapercibido

Informática en la nube. Susi Rodríguez

Copia. Guarda. Recupera. Cuando quieras. Donde quieras.

Familia de Windows Server 2003

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

CONSIDERACIONES TÉCNICAS SOBRE LOS SERVICIOS GESTIONADOS DE COPIA DE SEGURIDAD DE STORAGE NETWORKING

EL MODELO DE PROGRAMACIÓN DE WINDOWS AZURE

CONSOLIDADO DE PREGUNTAS A LA FCT RECIBIDAS DURANTE EL ESTUDIO DE MERCADO O COSTOS

Información sobre seguridad

Servicios Cloud Almacenamiento en la Nube

Eficiencia en la Automatización y Gestión de Servicios


Sugar en Windows. Creación de una máquina virtual con la imagen de Sugar. Autor. Versión Fecha Setiembre Ubicación

Guía rápida del usuario. Disco duro virtual.

MANUAL DE AYUDA. MODULO SAT (Anexo Integración AGIL SAT)

Manual de Procedimientos

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

Act 1: Revisión de Presaberes. Lectura No. 1. Título de la Lectura: El Computador

(PHP y APACHE), y el programa de comunicación Skype, para controlar de manera

MODERNIZANDO PCN Y RECUPERACION DE DESASTRES UTILIZANDO VIRTUALIZACION Y LA NUBE

Ventajas de Linux para. las empresas

CLOUD ENIAC BACKUP. Sus datos son importantes?

LABORATORIO 10. COPIAS DE SEGURIDAD, RESTAURACIÓN Y RECUPERACIÓN DE UNA BD

EL PODER DEL CÓMPUTO EN LA NUBE EN TUS MANOS

Objetivos del proyecto:

UNIVERSIDAD PONTIFICIA DE SALAMANCA. Faculta de Informática

CIF-KM. GUÍA DE LOS PRIMEROS PASOS

Windows Server 2012: Identidad y Acceso. Módulo 2: Descripción General de Windows Server 2012 Remote Desktop Services.

Infraestructura Tecnológica. Sesión 5: Arquitectura cliente-servidor

Servidores corporativos Linux

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

E-learning: E-learning:

UNIVERSIDAD DE ORIENTE FACULTAD DE ICIENCIAS ECONOMICAS LAS REDES I. Licda. Consuelo Eleticia Sandoval

UNIVERSIDAD DE SALAMANCA

Utilidades de la base de datos

Innovación para su Contact Center. Contact Center On-demand

Virtualización y cloud en la DGT.

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web

INSTALACIÓN DE UBUNTU SERVER 12.4 EN MÁQUINA VIRTUAL

CENTRO DE DATOS Y POP

INSTALACIÓN A3ERP INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

Windows Server 2012: Infraestructura de Escritorio Virtual

Antivirus PC (motor BitDefender) Manual de Usuario

Configuracion Escritorio Remoto Windows 2003

Servicios de impresión y de archivos (Windows 2008)

Transcripción:

CURSOS DE VERANO 2014 CLOUD COMPUTING: LA INFORMÁTICA COMO SERVICIO EN INTERNET LA PLATAFORMA GOOGLE CLOUD PLATFORM. GOOGLE APP ENGINE Pedro A. Castillo Valdivieso Universidad de Granada http://bit.ly/unia2014 1

Presentación 2

Presentación 3

Índice Parte teórica La plataforma Google Cloud Platform Introducción a la plataforma Google Compute Engine Introducción a Google App Engine Ventajas de Google App Engine Restricciones de Google App Engine Servicios más importantes de los que dispone Parte práctica Instalación del SDK de Google App Engine Crear la primera aplicación Crear formularios Aplicación con contenido estático Usar servicios de Google Entorno de ejecución PHP 4

Índice. Parte teórica! La plataforma Google Cloud Platform Introducción a la plataforma Google Compute Engine Introducción a Google App Engine Ventajas de Google App Engine Restricciones de Google App Engine Servicios más importantes de los que dispone 5

Google Cloud Platform La plataforma Cloud de Google. Miles de kilómetros de fibra óptica. Grandes redes informáticas. Servicios de almacenamiento avanzados. Cable de fibra óptica propio bajo el Océano Pacífico. 6

Google Cloud Platform Servicios disponibles para la arquitectura de una aplicación:! Máquinas Virtuales! Plataforma administrada! Almacenamiento de blob! Almacenamiento por bloques! Almacén de datos NoSQL! Base de datos MySQL! Análisis de Big Data 7

Google Cloud Platform Servicios ofrecidos:! App Engine: nos proporciona herramientas para el desarrollo de nuestro código sin preocuparnos por las revisiones ni el mantenimiento.! Compute Engine: que nos permite el uso de máquinas virtuales.! Cloud SQL y Cloud Datastore: Para obtener bases de datos MySQL ó NoSQL sin esquema.! Cloud Storage: Nos proporciona almacenamiento flexible de objetos con almacenamiento en la memoria caché perimetral global.! Google también nos permite utilizar su API para habilitar rápidamente una amplia gama de funciones para la aplicación. 8

Niveles en el Cloud Computing Servicios ofrecidos:! App Engine: nos proporciona herramientas para el desarrollo de nuestro código sin preocuparnos por las revisiones ni el mantenimiento.! Compute Engine: que nos permite el uso de máquinas virtuales.! Cloud SQL y Cloud Datastore: Para obtener bases de datos MySQL ó NoSQL sin esquema.! Cloud Storage: Nos proporciona almacenamiento flexible de objetos con almacenamiento en la memoria caché perimetral global.! Google también nos permite utilizar su API para habilitar rápidamente una amplia gama de funciones para la aplicación. 9

Índice. Parte teórica La plataforma Google Cloud Platform! Introducción a la plataforma Google Compute Engine Introducción a Google App Engine Ventajas de Google App Engine Restricciones de Google App Engine Servicios más importantes de los que dispone 10

Google Compute Engine IaaS (Infraestructura como servicio) Ofrece máquinas virtuales flexibles y autoadministradas alojadas en la nube de Google. Lanzar máquinas virtuales bajo demanda. Máquinas virtuales basadas en Linux que se ejecutan en KVM. Procesamiento a gran escala. Cada máquina virtual se cobra por un mínimo de 10 minutos, seguido por incrementos de 1 minuto. 11

Google Compute Engine Los servicios que ofrece Google Compute Engine son (I)! Creación de máquinas virtuales con diferentes configuraciones:! Imagen de arranque de Ubuntu 12.04, CentOS 6.2, o imagen propia.! Creación de instancias de máquinas virtuales.! Mantenimiento y almacenamiento de datos en almacenamiento de bloques persistente:! En Google Compute Engine se pueden montar discos persistentes que mantengan el estado de las máquinas, los datos de estos discos se conservan aunque la máquina virtual sufra algún error o se deje sin conexión. Estos datos también se replican para tener más redundancia. 12

Google Compute Engine Los servicios que ofrece Google Compute Engine son (II)! Administración del acceso de red a las máquinas virtuales:! La máquinas se pueden utilizar independientemente o conectándolas para formar clúster de procesamiento.! Las máquinas virtuales se pueden conectar a Internet con direcciones IPv4 estáticas o dinámicas.! Utilización de cortafuegos + aislamiento para proteger las instancias.! Creación de redes interna de máquinas virtuales.! Uso de varias herramientas y autenticación OAuth 2.0 para administrar las máquinas virtuales:! Aprovecha las funciones de OAuth 2.0 para realizar la autenticación en la API de RESTful a fin de crear y eliminar instancias, discos y otros recursos.! Utilizar identidades de cuenta de servicio para autenticar las instancias en otros servicios y eliminar la necesidad de insertar claves. 13

Google Compute Engine Instancia es el término que se utiliza para nombrar a las máquinas virtuales. Cada instancia ejecuta el sistema operativo que decidamos. El usuario puede especificar el número de CPUs, memoria RAM y otras propiedades de la máquina. Usar la herramienta de Google Compute Engine, el API de REST, o la propia consola web. Acceso mediante SSH. Un proyecto puede tener una o varias instancias comunicadas entre sí. 14

Índice. Parte teórica La plataforma Google Cloud Platform Introducción a la plataforma Google Compute Engine! Introducción a Google App Engine Ventajas de Google App Engine Restricciones de Google App Engine Servicios más importantes de los que dispone 15

Google App Engine (GAE) Herramienta para el alojamiento de aplicaciones web escalables sobre la infraestructura de Google. Permitir al desarrollador web crear aplicaciones web escalables sin ser un experto en sistemas. Servicio de PaaS (Plataforma como Servicio). Entorno de desarrollo que consiste en una abstracción del medio en el que se ejecuta la aplicación. El desarrollador solo tiene que usar las bibliotecas y recursos que le son ofrecidos. 16

Google App Engine (GAE) Por qué esta plataforma?! Más de 250000 desarrolladores.! Más de 250 millones de páginas servidas diariamente.! Más de 10000 aplicaciones.! Más de 62 millones de usuarios. 17

Pero, por qué GAE? Por qué esta plataforma?! Más de 250000 desarrolladores.! Más de 250 millones de páginas servidas diariamente.! Más de 10000 aplicaciones.! Más de 62 millones de usuarios. 18

Pero, por qué GAE? Porque abarcarlo todo es complicado. Dificultades y complicaciones para mantener la disponibilidad del servicio. Costes que salen cuando quieres hacerlo todo:! Mantener el software actualizado! Precio de licencias! Mantenimiento! Ancho de banda y tráfico! Actualizaciones del hardware 19

Qué ofrece GAE? SDK, herramientas. Alta disponibilidad. Tolerancia a fallos. Balanceo de carga. Servicios en la nube. Desarrollo en varios lenguajes. 20

Google App Engine (GAE) Carácterísticas (I):! Limita la responsabilidad del programador al desarrollo y primer despliegue: GAE provee recursos computacionales dinámicamente! Toma control de los picos de tráfico: Si nuestro portal crece en popularidad, no es necesario actualizar nuestra infraestructura (servidores, BBDD). 21

Google App Engine (GAE) Carácterísticas (II):! Ofrece replicación y balanceo de carga automática.! Fácilmente integrable con otros servicios de Google: Se pueden usar componentes existentes y la librería de APIs de Google (email, autenticación, pagos, etc.) 22

Google App Engine (GAE) Carácterísticas (III):! Ofrece una plataforma completa para el alojamiento y escalado automático de aplicaciones, consistiendo en:! Servidores de aplicaciones Python, Java, Go, PHP! La base de datos BigTable! El sistema de almacenamiento GFT! Como desarrollador sólo hay que subir el código a Google, lanzar la aplicación, y monitorizar el uso y otras métricas. 23

Google App Engine (GAE) Carácterísticas (IV):! Incluye librerías estándar de Python, Java, Go y PHP.! No todas las acciones se permiten (acceso a ficheros, llamadas al SO, algunas llamadas de red).! Ejecución en un entorno restringido para permitir que las aplicaciones escalen. 24

Google App Engine (GAE)! Estructura de componentes de la plataforma.! Ejecución en el sandbox.! Acceso a los servicios de Google.! Énfasis en la seguridad. 25

Google App Engine Facturación:! Hasta 25 aplicaciones gratuitas con 500 MB de almacenamiento y 5 millones de visitas al mes cada una.! Página de presupuestado y facturación de recursos: https://developers.google.com/appengine/pricing?hl=es! Detalles sobre las cuotas en: https://developers.google.com/appengine/docs/quotas?hl=es 26

Google App Engine Parte gratuita:! ~ 5 millones de páginas servidas al mes! 6.5 horas de CPU por día! 1 GB almacenamiento! 650K peticiones de URL al día! 2000 destinatarios de email! 1 GB de ancho de banda al día! 100000 tareas en cola! 650K mensajes XMPP por día 27

Índice. Parte teórica La plataforma Google Cloud Platform Introducción a la plataforma Google Compute Engine Introducción a Google App Engine! Ventajas de Google App Engine Restricciones de Google App Engine Servicios más importantes de los que dispone 28

Ventajas del GAE! Una de las características más importantes es su fácil escalabilidad.! El servicio que ofrece se ajusta a medida de que el tráfico va subiendo.! Facilidad para mantener y crear aplicaciones en AppEngine.! No hay que preocuparse de mantener ninguna infraestructura, solo de diseñar y programar la aplicación. 29

Ventajas del GAE Lenguajes disponibles:! Go: es un lenguaje desarrollado por Google. Es concurrente y está muy orientado a la nube. Como principal problema, se encuentra en fase experimental y los cambios son constantes, por lo que las actualizaciones de Google traen inestabilidad a las aplicaciones desarrolladas en este lenguaje.! PHP: es un lenguaje de programación de propósito general en el lado del servidor. Es el más extendido en la Internet. Su integración con Google App Engine aún se encuentra en fase de pruebas, por lo que también ofrece cierta inestabilidad. 30

Ventajas del GAE Lenguajes disponibles:! Java: es un lenguaje de propósito general, concurrente, orientado a objetos y basado en clases.! Python: es un lenguaje de programación orientado a objetos e imperativo. Su filosofía se basa en un código legible. 31

Ventajas del GAE Modelo gratuito en el que dichas cuentas tienen:! un límite de 500 MB de almacenamiento permanente! suficiente ancho de banda y CPU para cinco millones de visitas mensuales Se pueden comprar cuotas adicionales. Posibilidad de usar los métodos de almacenamiento de Google. Soporte para diversos framewoks (en el caso de Python, soporta CherryPy, Pylons, Flask y Django 0.96 y 1.2). 32

Ventajas del GAE Utilización de memoria caché distribuida. API para el envío de mensajes de correo electrónico. Escalabilidad gracias a la utilización de instancias. Integrable con otros servicios de Google. 33

Índice. Parte teórica La plataforma Google Cloud Platform Introducción a la plataforma Google Compute Engine Introducción a Google App Engine Ventajas de Google App Engine! Restricciones de Google App Engine Servicios más importantes de los que dispone 34

Restricciones del GAE Restricciones:! El acceso al sistema de archivos que usa AppEngine es de sólo lectura, es decir, no se permite la escritura de archivos en el sistema.! Las aplicaciones no tienen acceso a Internet directamente. Si quieren acceder a algún recurso deben usar el servicio que hay preparado a tal efecto.! Ningún lenguaje de programación puede usar librerías externas que no sean propias del lenguaje. Por ejemplo usar librerías C o tener extensiones con código previamente compilado. 35

Restricciones del GAE Restricciones:! Las aplicaciones tienen un límite de tiempo. Una aplicación iniciada en un servidor, no puede tardar en responder una petición más de un tiempo igual a 60 segundos.! En el modo gratuito sólo se pueden crear hasta 25 aplicaciones, que se pueden registrar utilizando una cuenta de Google.! Solo se puede ejecutar código a través de consultas HTTP.! No soporta sesiones persistentes, solo sesiones replicadas a las que además se les aplican ciertos límites. 36

Índice. Parte teórica La plataforma Google Cloud Platform Introducción a la plataforma Google Compute Engine Introducción a Google App Engine Ventajas de Google App Engine Restricciones de Google App Engine! Servicios más importantes 37

Servicios del GAE! Datastore! Blobstore! Memcache! URL fetch! Taskqueue! MapReduce 38

Servicios del GAE! Datastore El almacén de datos que ofrece Google para AppEngine es un almacén que utiliza un esquema basado en NoSQL. Garantiza las características de Atomicidad, Consistencia, Aislamiento y Durabilidad. Es transparentemente escalable. Se pueden realizar consultas usando la API de clases y funciones que hay disponible en todos los lenguajes de programación. Para el almacenamiento de datos, se usa en la actualidad High Replication Datastore (HRD), en los que se replica los datos en varios centros distribuidos por todo el planeta. 39

Servicios del GAE! Blobstore Permite al usuario que su aplicación pueda almacenar objetos de gran tamaño. Estos objetos se llaman blobs. Los blobs se suelen usar para almacenar archivos como sustitutivo del sistema de archivos. 40

Servicios del GAE! Memcache Un almacén en memoria extremadamente rápido que permite guardar valores en caché asociados a una clave. No ofrece ninguna garantía de permanencia de los datos. Permite al desarrollador optimizar su aplicación. 41

Servicios del GAE! URL fetch Como la aplicación no tiene acceso a internet, se usa este servicio para hacer peticiones a direcciones URL y recibir la respuesta. El servidor no da la respuesta hasta que no termina de recibirla. 42

Servicios del GAE! MapReduce Algoritmo muy útil para procesar grandes volúmenes de datos en relativamente poco tiempo. Permite paralelizar ese procesamiento entre los centros de datos. Se pueden especificar los datos de origen, los manejadores y los datos de salida. Se ofrece una consola donde podemos ir viendo el estado actual y qué trabajos lleva hechos. 43

Servicios del GAE! Taskqueue Este servicio pone a la disposición del usuario una cola de tareas, en la que se pueden realizar trabajos en segundo plano.! Backends Se pueden reservar instancias que se estén ejecutando continuamente sin apagarse ni escalar. Estas instancias se denominan backends. 44

Servicios del GAE! Servidor de desarrollo Google pone a disposición del usuario un servidor de desarrollo. Es una réplica del servidor real de producción, pero mucho más pequeño y menos potente. Permite a los usuarios probar y desarrollar sus aplicaciones en un entorno local, sin la necesidad de estar subiendo de forma permanente el código de la aplicación al servidor real. Se usa para pruebas de desarrollo, pero no aporta protección ni escalabilidad. 45

Referencias y materiales adicionales http://www.kumo.com.co/portal/index.php/pages/blog/175-ventajas-y-desventajas-del-cloud-computing http://cloud-computing.findthebest.com/compare/5-15-17/amazon-inc-vs-google-app-engine-vs-microsoft http://en.wikipedia.org/wiki/infrastructure_as_a_service http://en.wikipedia.org/wiki/google_compute_engine http://en.wikipedia.org/wiki/google_app_engine Lenguaje YAML: http://www.yaml.org Lenguaje de programacióń Go (web oficial): http://golang.org Lenguaje de programación PHP (web oficial): http://www.php.net Lenguaje de programación Java (web oficial): http://www.java.com https://cloud.google.com/products/compute-engine/ https://cloud.google.com/customers/?hl=es-ni https://developers.google.com/appengine/ https://developers.google.com/appengine/features/ https://developers.google.com/appengine/docs/whatisgoogleappengine https://developers.google.com/compute/docs/overview https://developers.google.com/compute/docs/faq?hl=es https://developers.google.com/compute/docs/?hl=es-es https://developers.google.com/compute/docs/overview?hl=es-es https://gae-php-tips.appspot.com 46

Índice Parte teórica La plataforma Google Cloud Platform Introducción a la plataforma Google Compute Engine Introducción a Google App Engine Ventajas de Google App Engine Restricciones de Google App Engine Servicios más importantes de los que dispone Parte práctica Instalación del SDK de Google App Engine Crear la primera aplicación Crear formularios Aplicación con contenido estático Usar servicios de Google Entorno de ejecución PHP 47