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
-
PTIETS22swisPTIETS22 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ä