PROG2005
Cloud Technologies
Vår
Gjøvik
Engelsk
Om emnet
Faglig innhold
Feltet skytjenester og skyteknologier er dynamisk og svært tverrfaglig, og fanger opp aspekter ved programmering, drift, økonomi og ledelse, samt er begrenset av sosiale og juridiske hensyn. Dette kurset tar sikte på å utvikle et omfattende bilde av beslutningsfaktorer og aspekter som er relevante for skyteknologi, og sikrer at studentene er i stand til å plassere pågående innovasjoner på dette området. Det er noen grunnleggende konsepter som forblir relativt uendret, og det er en innovasjon i verktøy og teknologier som ofte endrer seg. På grunn av disse egenskapene kan kursforelesningene endres, basert på samtidige endringer i teknologisk og markedsmessig utvikling. Typisk dekning inkluderer, men er ikke begrenset til:
- Arkitektoniske typer og prinsipper (IaaS, PaaS, SaaS)
- Skyteknologier (behandling, lagring, nettverk, virtualisering)
- API-standarder (f.eks. REST) og standardiseringsorganer (f.eks. IETF)
- Skyleverandører og økonomien til skytjenester (forretningsmodeller, prismodeller, tjenestenivåavtaler)
- Grunnleggende om skydrift
- Utvikling og distribusjon av skytjenester og -applikasjoner under hensyntagen til ytelsesfaktorer, økonomiske faktorer, miljømessige og juridiske faktorer
Læringsmål
Ved slutten av emnet skal studentene ha spesialisert kunnskap og ferdigheter:
Kunnskap
- Forstå grunnleggende nettverksprinsipper som er relevante for skytjenester
- Forstå skyoperasjoner, krav og utfordringer
- Skille mellom SaaS, PaaS og IaaS med hensyn til funksjonalitet og designvalg
- Forstå motivasjonene som ligger til grunn for bruk av skytjenester (f.eks. økonomiske aspekter)
- Forstå de sosiale, juridiske, etiske og bærekraftsmessige implikasjonene av skyteknologi og design av skytjenester
- Kjenne til en typisk tjenesteportefølje som tilbys av offentlige (public) skyleverandører (f.eks. AWS, GCP, Azure)
- Kjenne til relevante API-standarder (f.eks. REST) og begrepet standardiseringsorganer
- Kjenne til relevante dataoverføringsformater (f.eks. JSON)
Ferdigheter
- Kunne diskutere skyteknologier og konsepter relatert til SaaS, PaaS og IaaS
- Kunne designe RESTful tjeneste-API-er med hensyn til brukeropplevelse, samt sikkerhets- og bærekraftsfaktorer
- Kunne konseptualisere skybaserte løsninger for et gitt problem og/eller domene
- Kunne evaluere skyleverandører med hensyn til økonomiske, juridiske og sikkerhetsmessige vurderinger
- Kunne programmere mot tredjeparts-API-er
- Kunne deployere og drifte utviklede skytjenester
Generell kompetanse
- Ha forbedrede programmeringsferdigheter
- Utføre, diskutere og reflektere over konstruktive kodegjennomganger
- Kunne diskutere løsninger med nettverks- og skyadministratorer, samt et bredere publikum
- Være reflektert rundt faktorer som påvirker beslutningstaking innen programvaredesign og utrulling (dvs. når og når man ikke bør bruke skyløsninger)
- Kunne reflektere over sosiale, etiske, økonomiske, juridiske og sikkerhetsmessige bekymringer, samt miljøpåvirkning mer generelt
Læringsformer og aktiviteter
- Forelesninger
- Nettbasert Læring (f. ex. videoer)
- Oppgaver