Del 3 abril al 10 abril de 2017

Las arquitecturas en la nube autoadministradas permiten al profesional centrar sus esfuerzos en desarrollar su aplicación, que es lo que realmente hará crecer su negocio, automatizando y simplificando a la mínima expresión las necesidades de administración del sistema.

Google App EngineEste enlace se abrirá en una ventana nuevaes un servicio de alojamiento de aplicaciones utilizado tanto por curiosos como profesionales, pequeños estudios de desarrollo o grandes empresas para alojar aplicaciones web, backends de aplicaciones móvil o multiplataforma, backends web de sistemas de internet de las cosas, servicios web de software como servicio, APIs web, etc. Además, puede ser utilizado fácilmente en conjunción con el resto de servicios de la nube Google Cloud Platform.

Este servicio permite centrarse en el desarrollo de la aplicación sin necesidad de administrar los servidores, ofreciéndonos una alta disponibilidad y escalabilidad desde 0 instancias pagando únicamente por el uso real de la plataforma. Además, ofrece unas generosas cuotas de uso gratuitas, lo que lo hace ideal para pequeños profesionales, estudiantes e interesados en general.

Perfil del alumno

El curso va dirigido a:

    • Desarrolladores web, backend, de aplicaciones móviles o multiplataforma y de software en general.
    • Administradores de sistemas informáticos que quieran ampliar sus conocimientos sobre "devOps".
    • Profesionales, estudiantes e interesados en general en el mundo TIC.

Se valorará tener conocimientos de:

    • Programación general y programación orientada a objetos de nivel básico.
    • Desarrollo web.
    • Programación utilizando Python 2.7 de nivel básico.

Objetivos del curso

El objetivo de este curso es formar al alumno sobre el paradigma de las arquitecturas en la nube autoadministradas, el desarrollo y alojamiento de aplicaciones web utilizando Google App Engine con Python 2.7 y las múltiples posibilidades de aplicación de dicha arquitectura y servicio en diferentes aplicaciones.

La metodología será principalmente práctica, estructurada alrededor de un proyecto principal para poder aplicar inmediatamente los conocimientos a un ejemplo real: el desarrollo de un blog propio.

Al finalizar la parte presencial del curso, el alumno podrá realizar un ejercicio práctico sobre otro ejemplo real, sencillo y de corta duración, que podrá corregir mediante una aplicación web de autoevaluación: el desarrollo de un portal de "wiki" (similar a Wikipedia).

Tras ello tendrá lugar una tutoría online donde los alumnos podrán poner en común dudas, problemas e impresiones y se discutirán las mejores formas de aplicar dicha arquitectura y servicio a sus intereses y necesidades reales.

Contenido

● Introducción:

○ Introducción al curso y su proyecto central: desarrollo de un blog propio.

○ Introducción a la computación en la nube.

○ Introducción a las arquitecturas autoadministradas.

○ Introducción al servicio Google App Engine.

● "Hola mundo!": desarrollando mi primera app en GAE.

● Estructura de una aplicación de GAE:

○ Archivo de configuración y formato YAML.

○ Scripts de código de la app.

○ Contenido estático.

● Alojamiento y gestión de la aplicación:

○ Cómo aloja y sirve Google mi aplicación.

○ ¿De verdad utiliza la misma infraestructura que GMail o Youtube? (Pista: ¡la respuesta es sí!).

○ Métodos de despliegue de las aplicaciones.

○ La consola de Google Cloud Platform.

○ Gestión de mis aplicaciones en GAE/GCP.

● Servicios de almacenamiento disponibles:

○ Servicios de almacenamiento de GCP.

○ Google Cloud Datastore.

○ Google Cloud Memcache.

○ Google Cloud Blobstore.

● Depuración y buenas prácticas de testeo:

○ Tests en local.

○ Depuración y revisión de logs.

○ Tests unitarios en GAE.

○ Tests de integración en GAE.

○ Buenas prácticas de testeo.

● Autenticación de usuarios:

○ Autenticación de usuarios utilizando su cuenta de Google (GMail).

○ Desarrollo de una solución de autenticación propia sencilla.

● Gestión de imágenes:

○ Almacenar y servir imágenes.

○ Edición de imágenes.

● Programación de tareas:

○ Tareas programadas (tipo "cron").

○ Colas de tareas de tipo "push".

○ Colas de tareas de tipo "pull".

● Servicio de "logging" o registro de eventos.

● Buenas prácticas utilizando GAE y conocimientos avanzados:

○ Uso efectivo de los sistemas de almacenamiento:

■ Uso efectivo de Google Cloud Datastore.

■ Uso efectivo de Google Memcache.

○ Recibir y enviar emails desde la app.

○ Métodos de versionado efectivo.

○ Desarrollando arquitecturas de microservicios en GAE.

○ Inclusión de librerías externas.

○ Uso de otros frameworks web como Django y Flask.

○ GAE Entorno Flexible, o cómo disponer de máquinas virtuales (VM) autoadministradas.

● Otros servicios disponibles en Google Cloud Platform.

● Desarrollo de otras aplicaciones como ejemplos prácticos:

○ Servicios web basados en APIs web.

○ Backend para aplicaciones móviles o multiplataforma.

○ Aplicaciones web de soporte para sistemas de internet de las cosas ("IoT"), utilizando el ejemplo de una Raspberry Pi.

○ Servicios web de visión artificial y reconocimiento de voz.

○ Bots conversacionales, utilizando como ejemplo bots para Facebook Messenger.

● Ejercicio práctico individual del alumno: desarrollo de un portal de "wiki".

● Tutoría online grupal:

○ Puesta en común de los resultados de la autoevaluación del ejercicio práctico.

○ Resolución de dudas y problemas.

○ Consejos sobre el uso efectivo de GAE, GCP y arquitecturas autoadministradas para los intereses y necesidades concretos que propongan los alumnos.

Fechas y horarios

El curso tiene una parte presencial tras la cual el alumno realizará de forma autónoma un ejercicio de evaluación propuesto. Posteriormente tendrá lugar la tutoría online grupal a través de videoconferencia.

Parte presencial:

Fechas:del 3 al 10 de abril de 2017

Horario:De lunes a viernes de 16:30 a 21:30 y sábado de 9.00 a 14.00 h y 16.00 a 19.00 h.

Horas:38

Parte online:

Fecha:19 de abril

Horario:de 17:00 a 19:00 (a acordar con los alumnos)

Imparte

Marcos Manuel Ortega

Lugar de impartición

Centro Tecnológico de La Rioja

Avda Zaragoza 21

Logroño

Inscripciones

El curso es gratuito, financiado por el Gobierno de La Rioja. La inscripción no garantiza la obtención de plaza en el curso, en caso de tener más inscripciones que plazas se hará una selección de los alumnos. Los alumnos deberán confirmar su asistencia una vez seleccionados.

InscripciónEste enlace se abrirá en una ventana nueva