Computació al Núvol i Anàlisi de Dades Massives

Esteu aquí

Crèdits
6
Tipus
  • MIRI: Complementària d'especialitat (Xarxes de Computadors i Sistemes Distribuïts)
  • MDS: Optativa
Requisits
Aquesta assignatura no té requisits, però té capacitats prèvies
Departament
AC
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 col•laboratius 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

  1. 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,
  2. 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,
  3. Find and understand useful information to create innovative solutions.
    Competències relacionades: CG4, CG5,

Continguts

  1. 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.
  2. 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
  3. 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

Activitat Acte 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
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Virtualization

Foundations. Grid, cloud and virtualization.

Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Data Storage


Objectius: 1
Teoria
4h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
8h

Cloud Services



Teoria
4h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
8h

Cloud Security



Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Service Oriented Architectures



Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Cloud Tools



Teoria
4h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
8h

Cloud Applications



Teoria
3h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h

Future Trends



Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h

Collaborative class project


Objectius: 2 3
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
4h
Aprenentatge autònom
30h

Lab: Basic knowledge toolbox



Teoria
0h
Problemes
0h
Laboratori
0.5h
Aprenentatge dirigit
1.5h
Aprenentatge autònom
0h

Lab: Doors in the cloud



Teoria
0h
Problemes
0h
Laboratori
1.5h
Aprenentatge dirigit
0.5h
Aprenentatge autònom
0h

Lab: Content Delivery Network



Teoria
0h
Problemes
0h
Laboratori
1.5h
Aprenentatge dirigit
0.5h
Aprenentatge autònom
0h

Lab: Extract and analyze data



Teoria
0h
Problemes
0h
Laboratori
1.5h
Aprenentatge dirigit
0.5h
Aprenentatge autònom
0h

Lab: Interact with users and services



Teoria
0h
Problemes
0h
Laboratori
1.5h
Aprenentatge dirigit
0.5h
Aprenentatge autònom
0h

Lab: Monitoring and Security



Teoria
0h
Problemes
0h
Laboratori
1.5h
Aprenentatge dirigit
0.5h
Aprenentatge autònom
0h

Lab: Data storage



Teoria
0h
Problemes
0h
Laboratori
1.5h
Aprenentatge dirigit
0.5h
Aprenentatge autònom
0h

Lab: Web Services



Teoria
0h
Problemes
0h
Laboratori
1.5h
Aprenentatge dirigit
0.5h
Aprenentatge autònom
0h

Discuss: Virtualization



Teoria
0h
Problemes
0h
Laboratori
1h
Aprenentatge dirigit
1h
Aprenentatge autònom
2h

Discuss: Cloud providers comparison



Teoria
0h
Problemes
0h
Laboratori
1h
Aprenentatge dirigit
1h
Aprenentatge autònom
2h

Discuss: Federated Cloud Computing



Teoria
0h
Problemes
0h
Laboratori
1h
Aprenentatge dirigit
1h
Aprenentatge autònom
2h

Discuss: Cloud governance



Teoria
0h
Problemes
0h
Laboratori
1h
Aprenentatge dirigit
1h
Aprenentatge autònom
2h

Discuss: Future trends



Teoria
0h
Problemes
0h
Laboratori
1.2h
Aprenentatge dirigit
1.5h
Aprenentatge autònom
2h

Metodologia docent

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ó.

Bibliografia

Bàsica:

Capacitats prèvies

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.