La computació al núvol és un model de servei per a computació distribuïda a gran escala basada en una infraestructura concentrada i un conjunt de serveis collaboratius sobre els quals un conjunt d'aplicacions es poden implementar i executar a través de la xarxa.
Aquest curs sobre computació en el núvol té un enfocament principalment pràctic respecte a les tecnologies relacionades. Si bé els conceptes explicats s'apliquen a qualsevol aplicació, les classes presten especial atenció a la creació d'aplicacions Big Data Analytics en el núvol.
A les classes teòriques del curs, els estudiants aprendran els principis i l'estat de l'art de la computació distribuïda a gran escala a un model basat en serveis. Els estudiants estudiaran com l'escala afecta les propietats del sistema, els models, l'arquitectura i els requisits.
Quant als principis, aquest curs analitza com afecta l'escala a les propietats i problemes del sistema (com virtualització, disponibilitat, localitat, rendiment i adaptació), models de sistema, models arquitectònics, entorn i requisits d'aplicació (com tolerància a errors , distribució de contingut). Aquest curs també explora l'estat de l'art en la gestió de recursos d'entorns en el núvol (compostos per diferents tipus de plataformes i organitzacions) per admetre les aplicacions actuals i els seus requisits.
A les sessions de laboratori d'aquest curs, els estudiants obtindran una visió pràctica de l'últim en tecnologia del núvol per implementar un prototipus que satisfaci una idea de negoci creada pels estudiants. Es començarà a construir una caixa d'eines essencial per donar els primers passos en el núvol. Després tindran l'oportunitat de practicar amb les API, les portes en el núvol. Tots aquests preliminars permetran que els estudiants extreguin l'allau de dades provinents del núvol o utilitzin els nous serveis analítics avançats que ofereix actualment el núvol. Finalment, miraran sota el capó d'aquests serveis analítics d'alt nivell en el núvol, ja sigui en relació amb el programari o maquinari, per comprendre com complir amb els requisits d'alt rendiment.
Professorat
Responsable
Angel Toribio Gonzalez (
)
Jordi Torres Viñals (
)
Altres
Josep Lluís Berral García (
)
René Serral Gracià (
)
Hores setmanals
Teoria
2
Problemes
0
Laboratori
1.2
Aprenentatge dirigit
0.8
Aprenentatge autònom
6.8
Competències
Competències Tècniques de cada especialitat
Xarxes de computadors i sistemes distribuïts
CEE2.1 - Capacitat per a entendre els models, problemes i algoritmes relacionats amb els sistemes distribuïts, així com poder dissenyar i avaluar algoritmes i sistemes que tractin la problemàtica de la distribució i ofereixin serveis distribuïts.
CEE2.3 - Capacitat d'entendre els models, problemes i eines matemàtiques que permeten analitzar, dissenyar i avaluar xarxes de computadors i sistemes distribuïts.
Competències Tècniques Generals
Genèriques
CG4 - Capacitat per a la direcció general i tècnica de projectes de recerca, desenvolupament i innovació, en empreses i centres tecnològics, en l'àmbit de l'Enginyeria Informàtica.
CG5 - Capacitat per aplicar solucions innovadores i realitzar avenços en el coneixement que explotin els nous paradigmes de la Informàtica, particularment en entorns distribuïts.
Competències Transversals
Emprenedoria i innovació
CTR1 - Conèixer i comprendre l'organització d'una empresa i les ciències que regeixen la seva activitat; capacitat de comprendre les regles laborals i les relacions entre la planificació, les estratègies industrials i comercials, la qualitat i el benefici. Desenvolupar la creativitat, l'esperit emprenedor i la tendència a la innovació.
Treball en equip
CTR3 - Ser capaç de treballar com a membre d'un equip, ja sigui com a un membre més, ja sigui realitzant tasques de direcció, amb la finalitat de contribuir a desenvolupar projectes d'una manera pragmàtica i amb sentit de la responsabilitat; assumir compromisos tenint en compte els recursos disponibles.
Raonament
CTR6 - Capacitat de raonament crític, lògic i matemàtic. Capacitat de resoldre problemes en la seva àrea d'estudi. Capacitat d'abstracció: capacitat de crear i utilitzar models que reflecteixin situacions reals. Capacitat de dissenyar i realitzar experiments senzills, i analitzar-ne i interpretar-ne els resultats. Capacitat d'anàlisi, de síntesi i d'avaluació.
Bàsiques
CB7 - Que els estudiants siguin capaços d'integrar coneixements i enfrontar-se a la complexitat de formular judicis a partir d'una informació que, essent incomplerta o limitada, inclogui reflexions sobre les responsabilitats socials i ètiques vinculades a l'aplicació dels seus coneixements i judicis.
CB8 - Que els estudiants sàpiguen comunicar les seves conclusions i els coneixements i raons darreres que les sustenten- a públics especialitzats i no especialitzats d'una manera clara i sense ambigüitats.
Objectius
Present the student with new execution environments required to manage the computing resources and simplify the development and integration of the different types of applications and services at nowadays Internet-scale systems.
Competències relacionades:
CEE2.1,
CEE2.3,
Collaborate in the design, implementation and presentation of a cloud computing environment that is required for a class project.
Competències relacionades:
CB7,
CB8,
CTR1,
CTR3,
CTR6,
CEE2.1,
Find and understand useful information to create innovative solutions.
Competències relacionades:
CG4,
CG5,
Continguts
Teoria: fonaments de computació en el núvol
Conceptes fonamentals: l'efecte de l'escala en les propietats del sistema.
---- Problemes en sistemes a gran escala: virtualització, orientació i composició del servei, disponibilitat, localitat, rendiment i adaptació.
---- Models per a sistemes a gran escala: models de sistemes per a anàlisi, models arquitectònics i models de servei / implementació.
---- Tècniques d'escala: tècniques bàsiques, tècniques de computació escalables per models arquitectònics.
---- Middleware i aplicacions: informàtica, emmagatzematge, web, distribució de contingut, sistemes o serveis d'escala d'Internet.
---- Requisits d'entorn i aplicacions.
Sessions de laboratori: Visió pràctica de Cloud Computing
Anàlisi de dades massives
---- API: les portes del núvol
---- Capes de programari requerides actualment en l'anàlisi de dades massives
---- Requisits de programari nous per a anàlisi avançat
---- Requisits de maquinari nous per a anàlisi avançat
Projecte: part experimental
Desenvolupament d'una aplicació prototip utilitzant els serveis disponibles a la núvia (com AWS, Google App Engine, Open Stack, OpenNebula)
---- Desenvolupament d'una aplicació prototype utilitzant serveis analítics avançats ja sigui en relació amb API o programari com servei.
Activitats
ActivitatActe avaluatiu
Introduction
Cloud Computing Definition. Service Oriented Architectures. Web Services.Business considerations
Business considerations
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h
Cloud Computing Architecture
Technology. Architecture. Modelling and Design. Objectius:1
Classes de teoria, lectura i discussió de documents tècnics i de recerca, Presentació de temes (i documents) per part dels estudiants. Sessions de laboratori i un projecte pràctic de classe.
Es requereix que els estudiants portin el seu portàtil per desenvolupar les sessions de laboratori i el projecte de classe pràctica.
L'idioma en que s'imparteix l'assignatura és anglès.
Mètode d'avaluació
Els alumnes s'avaluaran sobre la seva participació a classe, sessions de laboratori, assistència, lectura i presentació d'informes i treballs i treballs sobre temes específics.
La nota final del curs és la mitjana ponderada de les qualificacions dels següents components obtinguts en cada part del curs:
· Sessions de laboratori: 30%
· Lectures d'articles / presentacions i tasques: 20%
· Projectes del curs: 30%
· Exàmen final: 20%
Per poder defensar públicament el projecte del curs, els estudiants han d'haver assistit almenys al 70% de les classes i els equips han d'haver lliurat a temps les activitats que s'han planificat durant el curs. El projecte del curs és fruit del treball en equip, que es reflectirà en la calificació donada al conjunt del grup. Cada membre del grup serà responsable d'una part del projecte i es pot calificar individualment en la seva contribució.
Coneixements generals de:
- Xarxes TCP/IP
- Administració bàsica de sistemes operatious i utilització del SO dins dels programes
- Desenvolupament de programari
Coneixement bàsic de:
- Línia de comandes de Unix.
- Llenguatge de programació Python.
- Sistema de control de versions Git.
Atenció. Se suposa que els estudiants han de tenir els coneixements anteriors abans de començar les sessions de laboratori. Es proporcionaran materials complementaris abans de la classe per ajudar els estudiants a complir amb els requisits anteriors.