DevOps-ohjelmistokehittäjä-koulutus 2020

Koulutus on tarkoitettu työttömille työnhakijoille tai työttömyysuhan alaisille henkilöille. Koulutus soveltuu sinulle, joka haluat oppia hyödyntämään versionhallintaa (Git) ja kontitusta (Docker). Kurssilla opitaan ohjelmiston kontitus “dockerointi” ja testiympäristön rakentaminen Vagrantin avulla sekä palvelun vieminen kontitettuna pilvipalveluun + palvelun käyttöönoton (deployment) automatisoiminen (Ansiblen avulla). Kokonaisuudessa huomioidaan jatkuvan julkaisun (CI/CD) ketju sisältäen testausautomaation (Robot Framework).

Voit olla alanvaihtaja, ICT-alalla työskennellyt tai ICT-alaa opiskellut henkilö. Tärkeää on, että sinulla perusosaaminen ohjelmoinnista sekä motivaatiota/halua oppia modernia automatisointia pilvipalveluita hyödyntäen.

Kurssin yleisestä organisoinnista ja aikataulusta

Opetusta on oletusarvoisesti klo 8.30 tai 9.00 - 15.45. Tilana toimii aluksi D405.

Arviointi

Koulutuksen aikaisia suorituksia ei arvioida, mutta tehdyt työtunnit ja opitut asiat kirjataan erilliseen oppimispäiväkirjaan. Koulutuksen lopussa on arviointikeskustelu, jonka johtopäätökset viedään ARVI-järjestelmään TE-palvelujen hyödynnettäväksi.

Aikataulu

Orientaatioviikko: 9.3.-13.3 (5pv)
Opetusjakso: 16.3.-20.5. (45 pv)
Työssäoppimisjakso: 25.5.-14.8. (60 pv)
Päätösjakso: 17.-28.8. (10 pv)

Aihealueet

  1. Koulutuksen esittely, ryhmäytyminen, kirjastoinfo jne.

    • Koulutuksen ja kouluttajien esittely; yhteiset pelisäännöt
    • Oman osaamisen esittely, LinkedIn-profiilin päivitys, dokumentointi GitLabiin
    • Tutustuminen toisiimme, henk.koht. haastattelut, työttömän sosiaalietuudet jne.
  2. Git-versionhallinta (johdantoluento + virtuaalikurssi)

    • Mitä versionhallinta tarkoittaa ja miksi sitä käytetään?
    • Gitin peruskomennot (GitLab)
  3. Ohjelmointi

    • olio-ohjelmointi (C#)
  4. Linux-perusteet

    • Linuxin hakemistorakenne
    • komentorivin peruskomennot
  5. Johdanto DevOpsiin

    • Tyypilliset käyttötilanteet; yleiskuva aiheesta
    • Mitä on mahdollista tehdä; miksi teema on niin tärkeä
    • Oman palvelun suunnittelu (valmispaketin pohjalta)
  6. Palvelumuotoilu ja käyttöliittymäsuunnittelu

    • Esittely (miksi, mitä, miten, minne)
  7. Lokaalit palvelut; VirtualBox + monesta palvelusta koostuva esimerkkisovellus

    • VirtualBox: Ubuntu, WordPress, tietokanta ym. => asennus, komennot
  8. Testiympäristön rakentaminen; Vagrant

    • Esittely
    • Scriptin teko
  9. Kontitus; Docker

  10. Pilvipalvelut; Google Cloud

    • Esittely (miksi, mitä, miten, minne)
    • Google Cloudin palvelut
    • Palvelun pystyttäminen pilveen manuaalisesti
  11. Palvelun käyttöönoton (deployment) automatisoiminen; Ansible

    • Skriptien teko (.yml)
    • Palvelun automaattinen vieminen pilvipalveluun
    • Palvelun skaalautuvuus (lisätehtävä edistyneemmille)
  12. Monitorointi, lokitus

    • Esittely (miksi, mitä, miten, minne)
    • Grafana
  13. Testaus; Automaatiotestaus; Robot Framework

    • Teoriaosuus
    • Robot Frameworkin käyttö
  14. Jatkuvan julkaisun (CI/CD) ketju

    • Esittely (miksi, mitä, miten, minne)
    • GitLab CI
    • Aikaisempien aihealueiden tuotosten yhdistäminen yhdeksi putkeksi
  15. Työssäoppimisjakso: n. 60 pv

    • Ohjeet työssäoppimisjaksoa varten; sopimukset: pe 22.5.
    • Varsinainen työssäoppimisjakso: 25.5. – 14.8.
  16. Päätösjakso (17.-28.8.)

    • Tuotosten ja oppien esittely (päätösseminaari)
    • Kehityskeskustelut, loppuarviointi, kurssikummin haastattelu