Diseña e implementa servicios de Internet de calidad, escalables y tolerantes a fallos
En la actualidad se está popularizando la computación en la nube o cloud computing. Este paradigma de computación ofrece a las organizaciones una plataforma para la publicación de aplicaciones en Internet. Gracias a sus servicios, estas aplicaciones pueden ser más escalables, tolerantes a fallos y se puedan actualizar con mayor frecuencia y menos errores. No obstante, para que se puedan aprovechar de las ventajas de las nuevas plataformas es necesario que las aplicaciones estén diseñadas e implementadas siguiendo una serie de patrones y usando ciertas tecnologías. A estas aplicaciones diseñadas de forma específica para estas nuevas plataformas se las denomina cloud native applications, que se podría traducir como aplicaciones nativas de la nube.
Este máster está orientado tanto a recién graduados como a profesionales del área de las Tecnologías de la Información y las Comunicaciones (TIC) que deseen completar su formación en aspectos relativos al desarrollo y despliegue de aplicaciones en las nuevas plataformas ofrecidas por la computación en la nube.
Objetivos
El objetivo del máster es presentar y aplicar las técnicas, herramientas, plataformas y buenas prácticas que permiten el desarrollo y despliegue de aplicaciones de Internet que se aprovechan de las nuevas tendencias ofrecidas por la computación en la nube. A diferencia de otros másteres del sector, el objetivo es cubrir el ciclo de vida completo de desarrollo y mantenimiento de las aplicaciones: metodologías de desarrollo, calidad software, tecnologías de implementación de aplicaciones de Internet, plataformas de computación en la nube, y control del ciclo de integración y despliegue.
Sólo en URJC online
Aula Virtual
Comunicación ágil
Multimedia
Modalidad
Estés donde estés
Nuestros Títulos Propios cuentan con una metodología innovadora, basada en el aprendizaje a través de la plataforma virtual Moodle. Contarás con el apoyo de nuestro equipo docente y técnico desde Aula Virtual.
Nuestro modelo metodológico garantiza el acceso de cualquier alumno a la enseñanza, gracias al Aula Virtual, basado en tecnología Moodle. Un modelo e-learning preparado para las nuevas exigencias de los usuarios hiperconectados y vinculados a través de la sociedad-red. Atención individualizada y experta. Modelos de evaluación adaptados al aprendizaje virtual. URJC online te ofrece un modelo de referencia en el panorama universitario europeo.
Qué significa modalidad online
Esta modalidad implica que toda la formación se realiza a través de nuestro Aula Virtual basado en la plataforma virtual Moodle, incluidas las actividades, las prácticas, las pruebas de evaluación y el Trabajo Fin de Máster. Los estudiantes no tendrán que desplazarse a la Universidad Rey Juan Carlos de manera presencial en ningún momento.
El máster está diseñado para que lo curses mientras trabajas. Puedes cursarlo estés donde estés, pero te ofrecemos 8 horas de clases en directo a la semana para que puedas preguntar, para que podamos comentar la noticia que ha salido publicada justo esa mañana, para estar al día. El contenido siempre actualizado. Con un chat entre alumnos y profesores las dudas se resuelven de forma dinámica y nos ayudamos y aprendemos entre todos. La evaluación se realiza con prácticas semanales, no hay exámenes finales.
Cuando quieras, como quieras y estés donde estés
El acceso a los contenidos del máster a través de nuestro Aula Virtual no está restringido a un horario concreto, cada estudiante podrá acceder a ellos y trabajar en las actividades, prácticas, etc. cuando le venga mejor y desde cualquier dispositivo, basta con tener disponible una conexión a Internet.
Las diferentes actividades evaluables permanecerán abiertas durante un período de tiempo determinado que decidirán los profesores de cada asignatura. Dentro de este plazo los estudiantes podrán entregar sus resultados y hacer las pruebas que se les propongan en el momento que quieran. Uno de nuestros objetivos es proporcionar la flexibilidad necesaria para que se pueda compatibilizar este máster con un trabajo a tiempo completo o con responsabilidades familiares.
Equipo docente
Dirección del Máster (y miembros del Claustro)
-
Micael Gallego - Director del Máster
Doctor e Ingeniero Superior en Informática (primer premio nacional al mejor expediente de su promoción). Profesor Titular de Universidad de la URJC...Cuenta con una amplia trayectoria de colaboraciones con empresas tanto como desarrollador software como en la gestión de equipos. Tiene una experiencia docente de más de 15 años impartiendo asignaturas relacionadas con la programación y el desarrollo web en la URJC. Ha participado como Tech Lead y CTO en diversas startups tecnológicas. Actualmente co-dirige CodeURJC, el laboratorio de desarrollo software de la URJC. Es el project lead de los proyectos Kurento y OpenVidu. Es el Coordinador de promoción y relaciones con la empresa de la Escuela Técnica Superior de Ingeniería Informática.
-
Francisco Gortázar - Subdirector del Máster
Doctor e Ingeniero Superior en Informática. Profesor Titular de Universidad en la URJC. Tiene 15 años de experiencia docente en titulaciones de informática como Desarrollo de Aplicaciones Distribuidas...Imparte clases en los másteres de Data Science en la asignatura de Arquitecturas en la Nube y en el máster de Ciberseguridad y Privacidad en la asignatura de Desarrollo Software Seguro. Co-dirige CodeURJC, el laboratorio de software de la URJC. Ha llevado a cabo diversas colaboraciones con empresas, centradas principalmente en la formación y asesoramiento sobre desarrollo de software. Es socio fundador de una empresa de base tecnológica de la URJC. Ha participado como administrador a cargo del sistema de CI/CD del proyecto Kurento y coordinó el proyecto europeo H2020 ElasTest.
-
Luis Fernández - Subdirector del Máster
Doctor e Ingeniero Superior en Informática. Profesor Titular de Escuela Universitaria en la Universidad Politécnica de Madrid...Ha sido coordinador del Máster en Ingeniería Web de la UPM, en el es profesor en la actualidad. Imparte formación y servicios de consultoría a importantess empresas tecnológicas como Ericsson España. Ha participado como socio fundador en una startup spinoff de la UPM galardonada con diversos premios como el ActúaUPM y NeoTec.
-
José Manuel Colmenar Verdugo
Ingeniero en Informática (2001) y Doctor en Ingeniería Informática (2008) por la Universidad Complutense de Madrid (UCM). Es profesor de la Escuela Técnica Superior de Ingeniería Informática (ETSII) de la Universidad Rey Juan Carlos (URJC) desde 2014...Ha sido co-autor de más de 25 publicaciones en revistas indexadas en JCR, así como en más de 60 publicaciones de otros tipos. Su ámbito de investigación principal es la aplicación de algoritmos heurísticos, metaheurísticos y bioinspirados a problemas de optimización. Ha impartido docencia en el ámbito de las bases de datos durante gran parte de su carrera docente.
-
Marta Beltrán
Ingeniera Electrónica (UCM 2001), Licenciada en Ciencias Físicas, rama de Física Industrial y Automática (UNED 2003) y Doctora en Informática (URJC 2005)...Actualmente es Profesora Titular de Universidad en la Universidad Rey Juan Carlos de Madrid, donde desde hace más de quince años trabaja en sistemas distribuidos y en ciberseguridad, tanto en docencia como en I+D+i. Es una de las pocas investigadoras españolas que ha publicado trabajos en conferencias técnicas hacker internacionales como las BlackHat o las Defcon o en conferencias técnicas militares como las ICC (actuales CYCON). Además es fundadora del Cybersecurity Cluster de la Universidad Rey Juan Carlos, representante de esta universidad en la RENIC y directora del MOOC de Ciberseguridad en las plataformas URJCx y MiriadaX. Es directora del Máster en Ciberseguridad y Privacidad de la URJC y Coordinadora del Grado en Ingeniería de la Ciberseguridad de la ETSII.
Salidas profesionales
Amplía tus expectativas laborales
Con el título se pretende formar a profesionales capaces de:
- Aplicar metodologías para el desarrollo de software. Especialmente la programación extrema con sus valores, principios y buenas prácticas.
- Seguir las recomendaciones del código limpio (clean code) y del buen diseño orientado a objetos para producir código de calidad.
- Diseñar e implementar pruebas de software para guiar el desarrollo de software y para asegurar la calidad del mismo.
- Mejorar la calidad del código para que pueda ser ampliado.
- Utilizar de forma efectiva librerías y marcos de trabajo (frameworks) para el desarrollo de aplicaciones de Internet.
- Diseñar e implementar protocolos de comunicación de aplicaciones de Internet.
- Elegir el estilo arquitectónico más adecuado para la implementación de aplicaciones de Internet mantenibles y fáciles de probar de forma automatizada.
- Diseñar, implementar y ejecutar pruebas funcionales y no funcionales de aplicaciones de Internet.
- Incluir los mecanismos de autenticación y autorización de usuarios más adecuados en las aplicaciones de Internet
- Utilizar las buenas prácticas para evitar vulnerabilidades y mitigar sus efectos en caso de que sean explotadas.
- Modelar los datos de una aplicación y sus relaciones usando tecnologías de bases de datos tanto relacionales como no relacionales.
- Elegir las tecnologías de persistencia más adecuadas en función de las necesidades de la aplicación.
- Conocer cómo se comporta un sistema persistente distribuido, escalable y tolerante a fallos.
- Diseñar procesos de actualización de aplicaciones en producción que requieran cambios en la estructura de los datos sin que eso afecte a la prestación del servicio.
- Conocer las principales tecnologías usadas en el ámbito de la ciencia de datos y qué servicios ofrecen para la implementación de aplicaciones.
- Evaluar y elegir los servicios de los proveedores de computación en la nube más adecuados para una aplicación de Internet en función de sus necesidades.
- Hacer uso de tecnologías de infraestructura como código para administrar sistemas informáticos y conocer sus ventajas frente a modelos tradicionales.
- Usar contenedores para empaquetar y distribuir aplicaciones de Internet.
- Usar de forma efectiva un sistema de orquestación de contenedores para el despliegue y la gestión de una aplicación de Internet basada en contenedores.
- Actualizar una aplicación en un orquestador de contenedores de forma progresiva y sin caída de servicio.
- Diseñar e implementar aplicaciones usando los servicios proporcionados por los proveedores en la nube como correo electrónico, bases de datos, almacenamiento de ficheros, etc.
- Diseñar, implementar y usar sistemas de observabilidad para la gestión de aplicaciones en producción.
- Diseñar e implementar aplicaciones para que sean escalables y tolerantes a fallos usando los servicios de replicación y reparto de carga proporcionados por los proveedores en la nube y por los orquestadores de contenedores.
- Aplicar de forma efectiva una arquitectura basada en microservicios para la implementación de una aplicación de Internet.
- Diseñar e implementar una aplicación usando las plataformas de funciones como servicio y determinar cuándo son adecuadas frente a otras alternativas.
- Conocer el conjunto de prácticas DevOps para la automatización de los procesos entre los equipos de desarrollo y de operaciones.
- Conocer y elegir las diferentes alternativas existentes para implantar un sistema de integración y despliegue continuo.
- Definir las tareas en los sistemas de integración y despliegue continuo para automatizar el ciclo de vida del código fuente desde que se añade al repositorio de código hasta que se publica en producción.
- Gestionar los artefactos obtenidos a partir del código fuente a lo largo de su ciclo de vida y en sus diferentes tipos de madurez (release, beta, snapshot, etc).
- Utilizar de forma efectiva las herramientas y tecnologías disponibles para actualizar un aplicación en producción sin caída de servicio y sin errores.