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
-
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.
-
Git-versionhallinta (johdantoluento + virtuaalikurssi)
- Mitä versionhallinta tarkoittaa ja miksi sitä käytetään?
- Gitin peruskomennot (GitLab)
-
Ohjelmointi
- olio-ohjelmointi (C#)
-
Linux-perusteet
- Linuxin hakemistorakenne
- komentorivin peruskomennot
-
Johdanto DevOpsiin
- Tyypilliset käyttötilanteet; yleiskuva aiheesta
- Mitä on mahdollista tehdä; miksi teema on niin tärkeä
- Oman palvelun suunnittelu (valmispaketin pohjalta)
-
Palvelumuotoilu ja käyttöliittymäsuunnittelu
- Esittely (miksi, mitä, miten, minne)
-
Lokaalit palvelut; VirtualBox + monesta palvelusta koostuva esimerkkisovellus
- VirtualBox: Ubuntu, WordPress, tietokanta ym. => asennus, komennot
-
Testiympäristön rakentaminen; Vagrant
- Esittely
- Scriptin teko
-
Kontitus; Docker
- Esittely (miksi, mitä, miten, minne)
- Docker + Docker registry
- Lisätietoa: https://docker-hy.github.io/
-
Pilvipalvelut; Google Cloud
- Esittely (miksi, mitä, miten, minne)
- Google Cloudin palvelut
- Palvelun pystyttäminen pilveen manuaalisesti
-
Palvelun käyttöönoton (deployment) automatisoiminen; Ansible
- Skriptien teko (.yml)
- Palvelun automaattinen vieminen pilvipalveluun
- Palvelun skaalautuvuus (lisätehtävä edistyneemmille)
-
Monitorointi, lokitus
- Esittely (miksi, mitä, miten, minne)
- Grafana
-
Testaus; Automaatiotestaus; Robot Framework
- Teoriaosuus
- Robot Frameworkin käyttö
-
Jatkuvan julkaisun (CI/CD) ketju
- Esittely (miksi, mitä, miten, minne)
- GitLab CI
- Aikaisempien aihealueiden tuotosten yhdistäminen yhdeksi putkeksi
-
Työssäoppimisjakso: n. 60 pv
- Ohjeet työssäoppimisjaksoa varten; sopimukset: pe 22.5.
- Varsinainen työssäoppimisjakso: 25.5. – 14.8.
-
Päätösjakso (17.-28.8.)
- Tuotosten ja oppien esittely (päätösseminaari)
- Kehityskeskustelut, loppuarviointi, kurssikummin haastattelu