Logo UAB
2023/2024

Gestió i Desenvolupament d’Aplicacions al Núvol

Codi: 44735 Crèdits: 6
Titulació Tipus Curs Semestre
4318303 Recerca i Innovació en Ciència i Enginyeria Basades en Computadors OT 0 2

Professor/a de contacte

Nom:
Antonio Miguel Espinosa Morales
Correu electrònic:
antoniomiguel.espinosa@uab.cat

Idiomes dels grups

Podeu accedir-hi des d'aquest enllaç. Per consultar l'idioma us caldrà introduir el CODI de l'assignatura. Tingueu en compte que la informació és provisional fins a 30 de novembre de 2023.

Equip docent

Remo Lucio Suppi Boldrito
Pedro Luis Pons Pons

Prerequisits

Es recomana tenir coneixements de programació en Python i conèixer l'ús de sistemes Linux per projectes de desenvolupament.


Objectius

Els objectius del mòdul són els següents:

  • Donar solucions a problemes d'anàlisi amb eines de codi obert
  • Entendre les limitacions de les eines de gestió de dades per seleccionar les eines necessàries per a un determinat problema
  • Aprendre metodologies de consulta a gestors de dades de cada tecnologia
  • Utilitzar eines de Cloud Computing per solucionar problemes d'anàlisi de dades
  • Aplicar una metodologia d'anàlisi de dades per resoldre problems pràctiques

Al final de les sessions de teoria i de laboratori els estudiants haurien de tenir suficients coneixements per entendre els requeriments de un problema d'anàlisi de dades en un contexte industrial. Haurien de poder triar una combinació d'eines i dissenyar una solució per a un problema de dades concret. L'assignatura està orientada a adquirir coneixements de resolució de problemes.


Resultats d'aprenentatge

  • CA14 (Competència) El graduat o graduada ha de ser capaç de dissenyar sistemes fiables, eficients i segurs de processament i emmagatzematge de dades, usant tecnologies al núvol.
  • CA15 (Competència) El graduat o graduada ha de ser capaç de desenvolupar projectes de recerca innovadors davant de nous reptes científics i d'enginyeria a partir de tecnologies al núvol.
  • KA19 (Coneixement) Descriure els principis d'arquitectura per a explicar les aplicacions al núvol i organitzar-ne els serveis.
  • KA20 (Coneixement) Identificar els serveis principals dels sistemes d'informàtica al núvol.
  • SA24 (Habilitat) Desenvolupar sistemes de còmput basats en recursos al núvol.
  • SA25 (Habilitat) Desenvolupar una arquitectura d'aplicació al núvol sobre serveis privats o públics, gestionant els requeriments de recursos, costos i seguretat.
  • SA26 (Habilitat) Avaluar un prototip d'aplicació en sistemes al núvol pel que fa als requeriments de cost, recursos, seguretat i manteniment en el temps.

Continguts

1-Introducció a la computació al núvol: beneficis, reptes i riscos

2-Models de computació al núvol: Infraestructura / Plataforma / Software com a Servei

3-Núvols privats virtuals i configuració de xarxes d'instàncies

4-Serveis bàsics de computació

5-Serveis bàsics d'emmagatzemament

6-Elasticitat i escalabilitat


Metodologia

En el desenvolupament de l'assignatura es podran diferenciar diversos tipus d’activitats docents.

Classes teòriques: exposició dels continguts teòrics de cada tema del programa.  L'estructura típica d'una classe expositiva d'aquest tipus serà la següent: en primer lloc es farà una introducció on es presentaran breument els objectius de l'exposició i els continguts a tractar. A continuació es desgranaran els continguts objecte d’estudi, incloent exposicions narratives, desenvolupaments formals que proporcionin els fonaments teòrics, i intercalant exemples i exercicis, que il·lustrin l'aplicació dels continguts exposats. Finalment, el/la professor/a exposarà les conclusions dels continguts. Durant tot el curs hi hauran avaluacions continuades de grups de temes.

Classes de laboratori. La part pràctica dels temes teòrics quedarà completada amb sessions de laboratori, on l'alumne desenvoluparà una sèrie de programes i tasques aplicades i haurà d'intentar resoldre un problema concret que rebrà al començar el temari. Alguns d’aquests exercicis s’hauran d’entregar a la classe en les dates especificades. Les pràctiques es desenvoluparan en grups de dos alumnes. Les classes inclouen diverses sessions al laboratori segons el calendari de l'assignatura, on l’alumne realitzarà el desenvolupament dels exercicis.

Aquest plantejament del treball està orientat a promoure un aprenentatge actiu i a desenvolupar les competències de capacitat d'organització i planificació, comunicació oral i escrita, treball en equip i raonament crític. La qualitat dels exercicis realitzats, de la seva presentació i del seu funcionament es valorarà especialment.

La gestió de la docència de l'assignatura es farà a través del Campus Virtual (https://cv.uab.cat/), que servirà per poder veure els materials, gestionar els grups de pràctiques, fer els lliuraments corresponents, veure les notes, comunicar-vos amb els professors, etc.

 

Nota: es reservaran 15 minuts d'una classe, dins del calendari establert pel centre/titulació, per a la complementació per part de l'alumnat de les enquestes d'avaluació de l'actuació del professorat i d'avaluació de l'assignatura/mòdul.


Activitats formatives

Títol Hores ECTS Resultats d'aprenentatge
Tipus: Dirigides      
Laboratori 26 1,04 CA14, KA19, KA20, SA24, SA25, SA26
Teoría 38 1,52 CA14, CA15, KA19, KA20
Tipus: Autònomes      
Desenvolupament d'exercicis pràctics de laboratori 62 2,48 CA14, KA20, SA24, SA25, SA26

Avaluació

L'avaluació de l'assignatura es realitzarà amb la combinació del treball desenvolupat en les sessions de laboratori i l'examen final.

 


Activitats d'avaluació continuada

Títol Pes Hores ECTS Resultats d'aprenentatge
Computational lab 40% 6 0,24 CA14, KA19, KA20, SA24, SA25
Elasticity lab 20% 6 0,24 CA14, CA15, KA19, SA26
TCO lab 20% 6 0,24 CA14, KA19, KA20, SA24, SA26
VPC lab 20% 6 0,24 CA14, KA20, SA24, SA25

Bibliografia

A. Wittig, M. Wittig. "Amazon Web Services in Action", Manning, 2nd Edition, 2018.

G. Coulouris, J. Dollimore and T. Kinderg, "Distributed Systems. Concepts and design ", Addison-Wesley, 5th edition, 2012.

Bell, Charles; Kindahl, Mats; Thalmann, Lars. "MySQL High Availability". O'Reilly, 2010.

Chang, Fay, et al. "Bigtable: A Distributed Storage System for Structured Data." OSDI, 2006

Dewitt, David, and Jim Gray. "Parallel Database Systems: The Future of High Performance Database Processing." Communications of the ACM 35, no. 6 (1992): 85-98

Schwartz, Baron; Zaitsev, Peter; Tkachenko, Vadim; Zawodny, Jeremy D.; Lentz, Arjen; Balling, Derek J. "High Performance MySQL", O'Reilly, 2008.

Seyed M. M. "Saied" Tahaghoghi and Hugh E. Williams. Learning MySQL. O’Reilly, 2006

Nathan Haines. “Beginning Ubuntu for Windows and Mac Users”. Apress 2015. recurs electrònic a la biblioteca de la UAB

William E. Shotts. “The Linux Command Line”. Second Internet Edition. 2013. http://linuxcommand.org/tlcl.php

Dan C. Marinescu. “Cloud Computing. Theory and Practice”. Morgan-Kaufmann. 2018.

R. Buyya, R. N. Calheiros, A. V. Dastjerdi. “Big data. Principles and paradigms”. Morgan-Kaufmann. 2016.


Programari

En l'assignatura es treballarà amb les versions més actualitzades dels sistemes i eines d'Ubuntu Linux. Es configurarà una sessió local de Windows Subsystem Linux durant les primeres sessions de laboratori.