Palapelin palat sopivat yhteen
23.02.2018 Teknologia

Räätälöityä DevOpsia

Ai, omaan palvelinsaliin? Onko teillä konttialustaa? Virtuaalipalvelimia? Linux-palvelinta? Ai se on Windows Serveri. Onnistuuhan se, hampaiden kiristys ja huono ylläpidettävyys. 

Tämä on edelleen arkipäistä integraatiotoimittajalle, vaikka pilvialustat ovat tehneet tuloaan jo pitkään. Kaikki eivät voi tai halua siirtää järjestelmiään ulkomaille, saatika jokaiseen suomalaiseen hostauspalveluun. Silti järjestelmät on saatettava osaksi nykyaikaista mikropalveluarkkitehtuuria rakentamalla niihin API:a. Integraatioalustan on siis istuttava mahdollisimman monen palvelinympäristön päälle, olipa kyseessä Windows tai Linux ja infrastruktuurina mikä hyvänsä.

Räätälöityä DevOpsia

Uusien palveluiden pystyttäminen konteilla ja virtuaalipalvelimilla on moninkertaisesti rautaratkaisuja nopeampaa. Pilvialustatkaan eivät silti itsesarvoisesti takaa helppoa ylläpidettävyyttä, mikäli infrastruktuuri ja sovellukset provisioidaan käsin; jokainen sovelluksen asennuskerta on yhtä virhealtis ja hidas, puhumattakaan infrastruktuurin laajentamisesta.

Ketteryyttä DevOpsilla

Todellinen ketteryys saavutetaan vasta käyttöönottamalla DevOps-menetelmät: infrastruktuuri koodina ja jatkuva integraatio sekä jakelumenettely (CI/CD pipeline). Konttialustoihin näitä menettelyitä löytyy valmiiksi palveluihin upotettuina, esim. OpenShift ja Azure. Virtuaali- ja rautapalvelinten kanssa on hyvin todennäköistä, että joutuu hankkimaan erillisen jatkuvan jakelumenettelyn.

Windows ja Ansible

Ilman pilvialustaa

Tyypillinen itse hostattu ratkaisu on Jenkins, joka konfiguroidaan Git-repositoryyn sijoitetulla Jenkinsfilellä. Konfiguraation avulla perustetaan jatkuva integraatiopalvelu (CI), joka testaa ja paketoi applikaatiot automaattisesti lähdekoodista.

Lisäksi perustetaan jatkuva jakelumenettely (CD), joka kykenee virtualisoimaan kunkin rinnakkaisympäristön, esim. testaus- ja tuotantoympäristöt. Niihin jaellaan provisiointityökalulla, kuten Ansiblen Playbookilla, alusta sekä sovellus automaattisesti tai manuaalisen hyväksynnän kautta, ylentämällä (promote) artifacteja repositoryssä. 

Näin saadaan jakelukertojen nopeus ja laatu kasvamaan eksponentiaalisesti, vaikka saatavilla ei olisikaan pilvialustaa. Infrastruktuurin dokumentoinnissa koodin muotoonkaan ei ole haittaa, ylläpitoa ajatellen. 

Vaikka Linux-palvelimet ovat huomattavasti suositeltavimpia, onnistuu vastaava menettely myös Windows-palvelinten kanssa.

Muita kirjoituksia aiheesta

Näytä kaikki uutiset

Ota yhteyttä

Voit lähettää meille yhteydenottopyynnön alla olevalla lomakkeella. Kerro viestissäsi, mitä asiasi koskee, jotta saamme sen tehokkaasti ohjattua oikealle ihmiselle.