Merkittävä tanskalainen valtakunnallinen TV-kanava ja tilauspohjainen suoratoistoalusta uudistaa infrastruktuuriaan ja toimintatapojaan vastatakseen modernin suoratoistopalvelun vaatimuksiin.
Pähkinänkuoressa
Yritys
Tanskan valtion omistama TV 2 Denmark on merkittävä valtakunnallinen televisiokanava ja täysin tilauspohjainen suoratoistoalusta. Tämän tarinan sankareita ovat TV 2:n videoalustan ja sen taustalla olevan infrastruktuurin parissa työskentelevät tiimit.
Haasteet
DevOps- ja pilvi-infrastruktuuriosaajien sekä -osaamisen puute
Muutosten käyttöönoton heikko näkyvyys ja epävarmuus
Suoratoistoalustan haastavat kuormitusvaihtelut
Ratkaisut
Kaikki Terraform-koodi uudelleenarkkitehturoitiin löyhästi kytketyiksi moduuleiksi
Istio otettiin käyttöön ja ominaisuuksien käyttöönotot automatisoitiin
Hajautettua kuormitustestausta varten otettiin käyttöön työkalu
Käyttöön otettiin laatutarkistukset ja Jenkins-kirjaston testipaketti
Siirtyminen AWS:ään
Docker-, Kubernetes- ja Git-koulutus
Osaamisen ja parhaiden käytäntöjen jakaminen
Työpajat ja haastattelut sisäisen alustaprojektin suunnan selkeyttämiseksi
Hyödyt
Parempi Developer Experience automaation ja testauksen avulla
Selkeästi määritelty infrastruktuuriarkkitehtuuri
Vähemmän vahinkojen aiheuttamia häiriöitä
Muut tiimit ovat ottaneet käyttöön saman arkkitehtuurin
Vahva perusta käynnissä olevan sisäisen alustaprojektin edistämiselle
Haasteet: Kuormituspiikkien hallinta ja riskien minimointi infrastruktuurimuutoksissa
Alun perin streaming-alustan backend-tiimissä vain yksi henkilö keskittyi DevOpsiin ja infrastruktuuriin, joten TV 2 Denmarkilla oli vaikeuksia rekrytoida uutta osaamista. Tiimi kehittää APIa, joka on yksi streaming-alustan toiminnan kannalta kriittisimmistä järjestelmistä, ja se tarvitsi välittömästi ulkopuolista apua laaja-alaisen uuden osaamisen vahvistamiseksi.
Heidän on pystyttävä hallitsemaan videoiden streaming-alustan äkillistä ja valtavaa kuormituksen kasvua. Suositun TV-ohjelman alkaessa moni katsoja käyttää alustaa samanaikaisesti. Kun ohjelma päättyy, katsojaa kehotetaan ”katsomaan seuraava jakso nyt”. Siksi on ratkaisevan tärkeää, että alusta on luotettava, kestää kuormitusta ja skaalautuu nopeasti.
Et halua, että pieni verkkmuutos kaataa koko alustan
Horistontissa häämötti merkittävä ongelma. Heille oli muodostunut Terraform-monoliitti. Uudet muutokset aiheuttivat usein sivuvaikutuksia infrastruktuuriin monimutkaisten kytkösten vuoksi. Koodin lisääminen monoliittiin ei ollut kestävää, ja se olisi vain kasvattanut teknistä velkaa ja ylläpito-ongelmia tulevaisuudessa. Siksi he halusivat minimoida riskit infrastruktuurimuutoksissa.
Ratkaisu: Uusi arkkitehtuuri pilvi-infrastruktuurille ja tiedon jakaminen
Keskusteltuaan useiden konsulttiyritysten kanssa TV 2 valitsi Eficoden, koska siitä jäi paras vaikutelma ja sillä vaikutti olevan tulevaa työtä varten oikeat henkilöt sekä sopiva lähestymistapa.
Terraform-monoliitin purkaminen ja koodin laadun parantaminen
Yksi ensimmäisistä tehtävistä oli Terraform-koodin refaktorointi ja infrastruktuurin rakentaminen AWS:ään. Terraform-monoliitin arkkitehtuuri uudistettiin alusta asti löyhästi kytketyiksi moduuleiksi ja tasoiksi. Tämä pienensi merkittävästi muutosten vaikutusaluetta ja helpotti muutosten tekemistä ilman sivuvaikutuksia. Eficode otti myös käyttöön Atlantis-työkalun osana uutta pull request -prosessia. Se vähensi manuaalista työtä ja antoi kehittäjille mahdollisuuden nähdä muutosten todelliset vaikutukset ennen niiden käyttöönottoa. Laadun ja yleisen Developer Experiencen parantamiseksi Eficoden konsultit lisäsivät automaatiota ja testejä Jenkins-putkeen. He auttoivat myös parantamaan yhteisten Jenkins Shared Libraries -kirjastojen laatua.
Päivittäinen tiedon jakaminen ja käytännönläheinen koulutus
TV 2:n tiimin kasvaessa ja uusien käytäntöjen levitessä Eficode järjesti myös Docker-, Kubernetes- ja Git-koulutuksia.
Jotta päivittäinen työ sujuisi jouhevasti ja tiimillä olisi käytössään tarvittavat lisäresurssit ja -osaaminen, Eficoden konsultit työskentelivät tiiviisti TV 2:n tiimin rinnalla ja jakoivat samalla osaamistaan. He työskentelivät sekä strategisten että taktisten tehtävien parissa. Esimerkiksi:
Aina kun ilmeni häiriö, Eficode auttoi selvittämään, mikä meni pieleen, ja korjaamaan tilanteen.
Koska kuormitusmallien vuoksi ongelmien havaitseminen varhaisessa vaiheessa oli haastavaa, Eficode määritteli ja otti käyttöön Locust-työkalun hajautettua kuormitustestausta varten.
Kun tuomme TV 2:lle konsultteja, haluamme heidän olevan osa tiimiä. Tämä toimi hyvin Eficoden konsulttien kanssa. He viestivät myös ennakoivasti ja pitävät meidät ajan tasalla. Lisäksi he kommunikoivat ja sovittavat työnsä yhteen keskenään, mikä ehkäisee päällekkäistä työtä ja tehottomuutta.
Eficode auttaa parhaillaan toista TV 2:n tiimiä siirtymään AWS:ään käyttäen samaa arkkitehtuuria kuin backend-tiimi.
Tulokset: Parempi näkyvyys, varmuus ja osaaminen TV 2:n tiimeille
Vaikka Eficoden työn täsmällisiä vaikutuksia mittaavia mittareita ei ole käytössä, TV 2:n tiimit hyötyvät joka päivä monista selkeistä eduista.
Eficoden konsulttien avulla TV 2:lla on nyt selkeästi määritelty mikropalveluarkkitehtuuri infrastruktuurin toteuttamiseen. Kun infrastruktuuriin on tehtävä muutoksia, niiden vaikutusalue voidaan pitää mahdollisimman pienenä. Onnistunut toimintamalli on näyttänyt hyvää esimerkkiä, ja muut tiimit organisaatiossa ovat myöhemmin kopioineet sen.
Käyttöönottoyritysten yhteydessä tapahtuu vähemmän vahingossa aiheutuneita häiriöitä
TV 2:lla on nyt kokonainen kirjasto testisviittejä ja laatutarkistuksia, joten he näkevät heti, rikkovatko muutokset jotain. Tämä on ollut kehittäjille erittäin arvokasta.
TV 2 toi ulkopuolisia asiantuntijoita paikkaamaan henkilöstö- ja osaamisvajeitaan. Tämä ei ainoastaan ratkaissut kiireellisimpiä haasteita, vaan asiantuntijoiden rinnalla työskentelemällä heidän kasvava tiiminsä kartutti nopeasti osaamistaan kaikilla olennaisilla alueilla.
Tulevaisuus: Työtapojen muuttaminen rakentamalla sisäinen alusta
TV 2 uudistaa parhaillaan perusteellisesti tapaansa työskennellä rakentamalla yhteisen, organisaation sisäisen alustan. Eri tiimit ja niiden työkuormat siirretään uudelle alustalle. Kaikki TV 2:ssa ovat mukana johdosta tiimeihin. Sitoutuminen on täydellistä – monessa organisaatiossa harvinaista ylellisyyttä – ja mukana on jopa innostusta. Suurin haaste onkin: mistä edes aloittaa?
Eficode auttaa rakentamaan tätä sisäistä alustaa vaiheittain, jotta tiimit myös todella ottavat sen käyttöön. Alustatiimille on haluttu antaa selkeä tarkoitus ja suunta, joten konsultit ovat järjestäneet työpajoja ja haastatteluja organisaation eri sidosryhmien kanssa. Keskustelut antoivat myös tärkeää tietoa siitä, kuinka kypsiä tiimit ovat esimerkiksi pilven hyödyntämisessä. Tulokset tarjoavat alustatiimille nyt vankan pohjan edetä.
- DevOps
- Cloud
- Telecom and media
- Platform engineering
- Software Organization
Ota yhteyttä
Related client stories