Siirry suoraan sisältöön

DevOps (5 op)

Toteutuksen tunnus: TT00CD85-3003

Toteutuksen perustiedot


Ilmoittautumisaika

01.12.2024 - 13.01.2025

Ajoitus

13.01.2025 - 30.04.2025

Opintopistemäärä

5 op

Toteutustapa

Lähiopetus

Yksikkö

Tekniikka ja liiketoiminta

Toimipiste

Kupittaan kampus

Opetuskielet

  • Suomi

Paikat

15 - 40

Koulutus

  • Tietojenkäsittelyn koulutus

Opettaja

  • Tuomo Helo

Ryhmät

  • PTIETS22swis
    PTIETS22 Ohjelmistojen kehittäminen ja tietojärjestelmät

Tavoitteet

Opintojakson suoritettuaan opiskelija osaa:

Kertoa mikä DevOps on ja miten se liittyy ohjelmistotuotantoon,
Käyttää DevOpsiin liittyviä työkaluja ja ympäristöjä,
Käyttää DevOps:ia ohjelmistoprojektissa.

Sisältö

Ohjelmistotuotannon perusteet
DevOps toimintamalli
DevOps työkalut ja ympäristöt
DevOps käytännössä
Projektityö

Oppimateriaalit

Osassa I. DevOps-teoriaa

1. Learning DevOps: A comprehensive guide to accelerating DevOps culture adoption with Terraform, Azure DevOps, Kubernetes, and Jenkins, 2. painos
Mikael Krief

Vain luku 1: The DevOps Culture and Infrastructure as Code Practices. Tähän teokseen on joitakin lisenssejä oppilaitoksemme eBook Central -kirjatietokannassa.


Osassa II. Testaaminen ja sen automatisointi

Testing JavaScript Applications
Lucas da Costa
Julkaisia : Manning (13 huhtikuu, 2021)

Vain valikoituja lukuja. Tähän teokseen on joitakin lisenssejä oppilaitoksemme eBook Central -kirjatietokannassa.


Osassa III. CI/CD ja GitHub Actions

GitHubin omaa nettimateriaalia.


Osassa IV: Kontittaminen

DevOps with Docker 22
Helsingin yliopisto / mooc.fi
Kousa Jami

Part 1 + Part 2 (vain osittain)

https://devopswithdocker.com/

Opetusmenetelmät

- kirjallisuuden ja muun oppimismateriaalin lukeminen tai katsominen
- osallistuminen luennoille
- määrittely, konfigurointi, komentojen käyttäminen ja ohjelmointi opettajan johdolla
- itsenäinen työskentely
- osallistuminen ryhmätöiden tekemiseen

Tenttien ajankohdat ja uusintamahdollisuudet

Ei tenttiä.

Toteutuksen valinnaiset suoritustavat

Opiskelija voi suorittaa opintojakson osoittamalla osaamisensa opintojakson aiheista esimerkiksi tekemillään työnäytteillä. Osoittamisesta täytyy sopia opettajan kanssa opintojakson 4 ensimmäisen viikon aikana.

Opiskelija voi myös ahotoida opintojakson vastaavalla muualla oppilaitoksemme hyväksymässä oppilaitoksessa suoritetulla kurssilla. Asia kannattaa laittaa vireille heti opintojakson alkaessa

Opiskelijan ajankäyttö ja kuormitus

45 h kontaktiluentoja ja itsenäistä työskentelyä opettajan läsnäollessa
2-4 h harjoistustöiden esitystä ja seurantaa
40 h harjoitustöiden valmistelua
45 h henkilökohtaiset harjoitustehtävät

Sisällön jaksotus

Sisältö

I. DevOps teoriaa:
- 1 luento
- 1 henkilökohtainen harjoitustehtävät monivalintatenttinä: 10 pistettä

II. Testaaminen ja sen automatisointi
- Ohjelmistojen testaamisen perusteet teoriassa ja käytännössä
- Testaamisen merkitys DevOpsissa
- 3-4 luentoa ja demot:= 4-5 kertaa
- 2 henkilökohtaista harjoitustehtävää: 2 * 10 = 20 pistettä


III. CI/CD ja GitHub Actions
- Jatkuvan integroinnin ja jatkuvan toimittamisen toteuttaminen työnkuluilla
- 3 luentoa ja demot = 4 kertaa
- 2 henkilökohtaisista harjoitustehtävää: 2 * 10 = 20 pistettä


IV. Kontittaminen - Dockers
- Kontit ja niiden merkitys DevOpsissa
- 2-3 luentoa ja demot = 3-4 kertaa
- 2 henkilökohtaista harjoitustehtävää 2 * 10 = 20 pistettä

V. Ryhmätyö :
- 4 hengen ryhmissä
- Ryhmäkohtainen toimeksianto DevOps-aiheesta
- Esitys opintojakson muille opiskelijoille
- 30 pistettä

Yhteensä 100 pistettä + max 20 pistettä läsnäolosta. Demoissa on oltava läsnä.

Arviointiasteikko

H-5

Arviointimenetelmät ja arvioinnin perusteet

Opintojakson kokonaismaksimipistemäärä on 120.

Maksimissaan 70 pistettä 7 henkilökohtaisesta harjoitustehtävästä, 30 pistettä harjoitustöistä ja 20 pistettä läsnäolosta.

Opintojakson arviointiskaala on seuraava:

Pisteitä vähintään -> Arvosana

0 -> 0
40 -> 1
56 -> 2
72 -> 3
88 -> 4
104 -> 5

Huomaa seuraava lisäehto: hyväksyttävään suoritukseen tarvitaan vähintään 20 pistettä henkilökohtaisista harjoitustehtävistä ja 10 pistettä harjoitustöistä.

Läsnäolopisteet annetaan seuraavan skaalan perusteella:

Läsnäoloprosentti käytännön- ja teorialuennoilla -> pisteitä

20% -> 5
40% ->10
60%->15
80%->20

Osa henkilökohtaisista harjoitustehtävistä tehdään käytännöntunneilla yhdessä opettajan kanssa. Näin läsnäolo niillä karruttaa myös harjoitustehtäväpisteitä.

Demokerroilla on oltava läsnä. Läsnäolo demoissa ei karruta läsnäolopisteitä. Poissaolo demoista aiheuttaa 25 % vähennyksen opiskelijan näihin demoihin palauttamien tehtävien pisteisiin. Myös tehtävien palauttaminen myöhässä aiheuttaa 25 prosentin vähennyksen. Tehtäviä ei oteta enää vastaan opintojakson päättymispäivän jälkeen. Opintojakson päättymispäivän jälkeen ei myöskään anneta korvaavia tai täydentäviä tehtäviä. Opiskelija täytyy huolehtia siis siitä, että hän saa kerättyä eri suorituksista riittävästi pisteitä opintojakson aikana.

Hylätty (0)

Opiskelija ei ole opintojakson aikana onnistunut keräämään läpäisyyn riittävää pistemäärää. Näin ollen hän ei ole pystynyt osoittamaan sellaista osaamista, jonka perusteella voitaisiin antaa hyväksyttävä arvosana.

Arviointikriteerit, tyydyttävä (1-2)

Opiskelija tietää, mitä DevOps on
Opiskelija tietää ohjelmistotestauksen eri muodot ja niiden tarkoitukset
Opiskelija osaa laatia yksinkertaisia testejä
Opiskelija tuntee CI/CD -prosessin ja ymmärtää sen tarkoituksen
Opiskeija osaa laatia yksinkertaisen CI/CD -liukuhihnan
Opiskelija tietää mitä kontittaminen
Opiskelija osaa luoda kontin

Arviointikriteerit, hyvä (3-4)

Opiskelija tietää, mitä DevOps on
Opiskelija tietää ohjelmistotestauksen eri muodot ja niiden tarkoitukset
Opiskelija omaa taitoja testata ohjelmistoja käytännössä
Opiskelija tuntee CI/CD -prosessin ja ymmärtää sen tarkoituksen
Opiskeija osaa laatia mm. testejä suorittavan CI/CD -liukuhihnan
Opiskelija tietää mitä kontittaminen
Opiskelija osaa luoda ja käyttää kontteja
Opiskelija osaa toteuttaa toimivia automatisointiratkaisuja
Opiskelija tuntee automatisointiratkaisuihin liittyviä tietoturvakysymyksiä

Arviointikriteerit, kiitettävä (5)

Opiskelija tietää, mitä DevOps on
Opiskelija tietää ohjelmistotestauksen eri muodot ja niiden tarkoitukset
Opiskelija osaa suunnitella ja toteuttaa ohjelmistotestauksen käytännössä
Opiskelija tuntee CI/CD -prosessin ja ymmärtää sen tarkoituksen
Opiskeija osaa laatia mm. testejä suorittavan CI/CD -liukuhihnan
Opiskelija tietää mitä kontittaminen
Opiskelija osaa luoda ja käyttää kontteja
Opiskelija osaa toteuttaa vaatimuksia vastaavia ja toimivia automatisointiratkaisuja, jotka yhdistävät automaattista testausta, kontittamista, automatisointiliukuhihnoja sekä mahdollisia muita teknologioita ja periaatteita tehokkaiksi ratkaisuiksi
Opiskelija osaa ottaa huomioon automatisoinnin tietoturvaan liittyviä kysymyksiä