Näin valitset oikeat työkalut DevOpsiin
DevOps toimintamallin kokonaisvaltainen käyttöönotto tarjoaa yrityksille erinomaisen sauman parantaa ohjelmiston kehityssykliä erinäisten automaatioiden kautta. Tästä syystä monessa yrityksessä mietitäänkin parhaillaan DevOpsiin siirtymistä, tai jo olemassa olevien DevOps prosessien ja työkalujen täydentämistä.
Koko DevOps alustan suunnitteluun ja ylläpitämiseen liittyy kuitenkin monia hallinnollisia ja teknisiä haasteita. DevOpsiin liittyviä ohjelmistoja ja työkaluja on markkinoilla kymmeniä, jollei satoja. Tutkimuksen mukaan 39 prosenttia yrityksistä kokee vaikeuksia oikeiden työkalujen valinnassa.
Tämä kirjoitus käsittelee tarkemmin ensimmäistä ongelmaa, joka tulee vastaan kun DevOps päätetään ottaa kokonaisvaltaisesti käyttöön.
Mitkä työkalut palvelevat tarpeita mahdollisimman hyvin?
Jokaiseen DevOpsin vaiheeseen on tarjolla merkittävä määrä erilaisia ratkaisuja, olivat ne sitten ilmaisia tai maksullisia. On hienoa, että vaihtoehtoja on niin paljon: tämä tarkoittaa sitä, että markkinoilta löytyy sopiva palvelukokonaisuus jokaiseen tarpeeseen.
Työkalujen runsaus voidaan kuitenkin nähdä kaksiteräisenä miekkana. Vaihtoehdot pitäisi pystyä tuntemaan riittävän hyvin, jotta valinta voidaan tehdä luottavaisin mielin.
Evaluaation tekeminen yksittäisestä työkalusta ei suinkaan ole helppo tehtävä. Alustavankin arvion tekemiseen saattaa kulua yhden henkilön työviikko, valitun komponentin kompleksisuudesta riippuen.
Kaikissa DevOps työvaiheissa on yleensä vähintään kaksi isoa nimeä palveluntarjoajana, jotka olisi hyvä ottaa mukaan arviointiin. Kun tämä yhdistetään siihen, että DevOpsissa vaiheita on lukuisia, kasvaa arvioitavien komponenttien määrä helposti varsin suureksi.
Arvioitavaa on siis paljon. Kaiken tämän päälle valittujen komponenttien yhteensopivuus tulee myös varmistaa kokonaisuudessaan.
Kuva havainnollistaa markkinoilla olevien komponenttien määrän DevOpsin eri vaiheissa. Työkalujen valinta ei siis todella ole helppo. Kuvan lähde
Kompleksisuuden vuoksi DevOps ympäristön käyttöönotto saattaa kaatua siihen, että suunnitteluun ja evaluaatioon ei yksinkertaisesti ole riittävästi aikaa tai resursseja. Tämä on onneksi harvoin lähtötilanne. Todennäköisesti yrityksessä on jo käytössä järjestelmiä (versionhallinta, testaus jne.), jotka rajaavat ja ohjaavat kokonaisratkaisun suunnittelua.
Mitkä ovat työkalujen valintakriteerit?
On ensisijaisen tärkeää, että palvelut toimivat keskenään hyvin yhteen. Järjestelmissä kannattaa olla valmis sisäänrakennettu integraatio muihin jo valittuihin palveluihin, jotta itse ei tarvitse huolehtia tai tehdä merkittäviä muutoksia järjestelmiä päivitettäessä.
Valituissa palveluissa olisi hyvä olla myös kattavasti dokumentointu API, jonka avulla palvelut voidaan liittää esimerkiksi ulkoiseen raportointi tai tiketöintijärjestelmään.
Kokonaisratkaisun hintaa ei sovi myöskään unohtaa. Useisiin ratkaisuihin, erityisesti SaaS-palveluihin, liittyy piilokustannuksia, jotka tulevat ilmi vasta vuosien päästä käyttöönoton jälkeen käyttäjämäärien kasvaessa.
Hyvä esimerkki piilokustannuksista on SSO, tai AD/LDAP integraatio käyttäjien hallintaan, joka ominaisuutena yleensä aina liitetään kalliimpaan käyttäjäkohtaiseen lisenssiin. Toinen esimerkki on CI/CD putkien ajaminen. Alku näissä prosesseissa on monesti jopa ilmaista, mutta ohjelmistotiimin kasvaessa ei x-kappaletta ajoja päivässä enää riitäkään, tai ajoja pitää saada parallellisoitua.
Uudessa projektissa voi myös olla asiakkaan puolelta tietoturvaan, tai auditointiin liittyviä vaatimuksia. Alkuperäinen €10/käyttäjä/kk hinta saattaa jopa kymmenkertaistua, kun joudutaan siirtymään “Enterprise” luokkaan.
Loppu hyvin kaikki hyvin?
Ei välttämättä! Kuten aiemmin jo kerroin, kokonaisvaltaisen DevOps järjestelmän käyttöönotto ja evaluaatio on haasteellinen kokonaisuus. Siihen liittyy monia osia ja käyttötapauksia, joita ei aina osata ottaa huomioon ennen tuotantoon siirtymistä.
Koko DevOps harjoituksen läpivienti saattaa olla niin pitkä ja raskas prosessi, että jos joku valituista komponenteista ei sovikaan tuotantoon niin hyvin kuin oli aluksi ajateltu, voi olla liian myöhäistä aloittaa prosessia uudestaan. Usein aikataulu- ja kustannussyyt painavat vaakakupissa enemmän. Päädytään tilanteeseen, jossa tuotantoon tulee siirtyä ei-optimaalisen ratkaisun kanssa.
Ikävä kyllä näin laajaan kokonaisuuteen on hankala hankkia kokemusta ja osaamista lyhyellä varoitusajalla. Internet on hyvä lähde hakea muiden kokemuksia ratkaisujen toteutuksista ja löytää sitä kautta suurimmat sudenkuopat toteutuksissa. Internet ei kuitenkaan yleensä tarjoa ratkaisua, tai kokonaisarkkitehtuuria juuri teidän tarpeisiinne. Tässä kohtaa on hyvä tukeutua kumppaniin, jolla on jo pitkä kokemus DevOps järjestelmien rakentamisesta ja jonka kanssa voidaan alkaa suunnittelemaan organisaationne näköistä arkkitehtuuria.
Millä perustein valitsimme työkalut?
Olemme tehneet ohjelmistokehitystä jo yli kymmenen vuotta. Siinä ajassa olemme ehtineet kokeilemaan runsaasti erilaisia palveluita, tuotteita ja kokonaisuuksia.
Alunperin rakensimme DevOps ratkaisuja ensisijaisesti itsellemme, oman palvelutuotannomme tehostamiseksi. Taustalla pyöri kuitenkin aina ajatus siitä, että mitä jos tarjoaisimme asiantuntemustamme DevOpsista myös muille? Kun tämä on hyödyttänyt meitä sisäisesti näin paljon, niin varmasti osaamisellemme löytyisi kiinnostusta myös talon ulkopuolelta!
Oma kehitysympäristömme on rakennettu muutaman peruspalvelun ympärille, joiden toimivuuteen olemme oppineet luottamaan.
GOOGLE CLOUD
Hyvät ja helposti lähestyttävät työkalut kapasiteetin hallintaan. Google tarjoaa kapasiteettia, myös Suomessa sijaitsevasta konesalista, joka on usein tärkeää asiakkaillemme. Ehkä myös paras hostattu Kubernetes alusta GKE? :)
KUBERNETES
Luonnollinen jatke kontitettujen palvelujen hallintaan. Muitakin hyviä orkestrointiratkaisuja on toki myös ja ne voivat olla nopeampia, tai johonkin tiettyyn tarkoitukseen paremmin soveltuvia. Meille on tärkeää, että pystymme tekemään yhdellä työkalulla monta eri asiaa.
GITLAB
Versionhallinta, CI/CD, Docker rekisteri, metriikat ja paljon muita ominaisuuksia yhden katon alla. Lisäksi palvelua kehitetään hyvin aktiivisesti ja tarjolla on osaava tekninen tuki sitä tarvittaessa.
TERRAFORM
Suosituin IaC alusta, jolla kapasiteetinhallinta multicloud-ympäristössä helpottuu huomattavasti.
Toki mukaan mahtuu muitakin palveluja, mutta ne vaihtelevat helposti kehitysprojektin luonteesta riippuen.
Lopuksi
Uskomme, että kiinnostusta DevOps palveluille ja osaamiselle löytyy, joten perustimme kokonaan erillisen DevOps-tiimin. Olemme keränneet parhaan osaamisemme vuosien DevOps projekteista. Tiimimme keskeisenä tehtävänä on jatkaa omien DevOps työkalujemme ja prosessien kehittämistä niin, että pysymme jatkuvasti teknologian kärjessä ja että tuottamamme ratkaisut ovat aina helposti tuotavissa myös muiden käytettäväksi.
Tarjoamme DevOps tapoihin ja työkaluihin liittyviä koulutuksia, joiden avulla asiakas voi hankkia uutta osaamista tai parantaa entisestään omaa ammattitaitoa. Olemme myös koonneet valmiin DevOps “starter” paketin, jolla saa helposti ja nopeasti käyttöön oman DevOps ympäristön. Se vastaa suurelta osin ympäristöä, mitä itsekin käytämme päivittäin. Asiantuntijamme ovat myös käytettävissä jo olemassa olevien ympäristöjen jatkokehitykseen tai vaihtoehtoisesti täyspäiväiseen ylläpitoon.
Autamme mielellämme DevOps matkanne käynnistystä konsultaatiolla tai koulutuksella. Jos olet kiinnostunut starter-paketistamme, älä siis epäröi olla yhteydessä.
Writer:
Paul Nylund / CIO / paul.nylund@anders.com
Lisätietoja
Tagit
Liiketoimintaprosessi
Tuotekehitys ja suunnittelu |
Erikoisosaaminen
Ohjelmistokehitys |
Tarjonnan tyyppi
Konsultointi |
Omat tagit
Anders Innovations - Asiantuntijat ja yhteyshenkilöt
Anders Innovations - Muita referenssejä
Anders Innovations - Muita bloggauksia
It- ja ohjelmistoalan työpaikat
- Laura - Development Manager, Operations
- Laura - ICT-asiantuntija
- Laura - IT Manager
- Nordea - Senior Fullstack Developer
- Innofactor Oyj - Business Architect
- Laura - Cloud Engineer
- Laura - UX/UI Designer
Premium-asiakkaiden viimeisimmät referenssit
- SD Worx - Kehitystyö SD Worxin kanssa takaa Clas Ohlsonille parhaat palkanmaksun prosessit kasvun tiellä
- Digiteam Oy - Case Esperi Care Oy: Ketterä kumppanuus vei Esperin verkkosivu-uudistuksen maaliin sujuvasti ja aikataulussa
- Kisko Labs Oy - Howspace Hub - Mukautuva oppimisen hallintajärjestelmä kasvaviin oppimisalustavaatimuksiin
- Kisko Labs Oy - Sanoma Pro: Multimediasisältöjen hallinnan uudistaminen
- Kisko Labs Oy - Svean helppokäyttöinen palvelu asiakkaan verkko-ostosten hallintaan
- Kisko Labs Oy - Yhtenäinen käyttöliittymä luovien alojen ammattilaisille
- Codemate - Digitaalisen murroksen nopeuttaminen Flutterin avulla
Tapahtumat & webinaarit
- 27.11.2024 - Green ICT -ekosysteemitapaaminen III: Ohjelmistojärjestelmien virrankulutuksen mittaaminen ja kasvihuonepäästöjen arviointi
- 27.11.2024 - Digitaalisen asiakaskokemuksen uusi aikakausi
- 28.11.2024 - Webinaari: Keskity myyntityön laatuun!
- 28.11.2024 - Copilot-webinaari – Mielekkäämpää tietotyötä turvallisesti
- 04.12.2024 - Kuinka oikea matka- ja kululaskujärjestelmä tehostaa prosesseja?
- 05.12.2024 - Green ICT VICTIS -hankkeen kick off -tilaisuus
- 15.01.2025 - Datavastuullisuuden valmennus: hanki valmiudet vastuulliseen datan ja tekoälyn hyödyntämiseen
Premium-asiakkaiden viimeisimmät bloggaukset
- Zimple Oy - Pipedrive vai Hubspot? Kumpi kannattaa valita?
- SC Software Oy - Jatkuvat palvelut – asiakaslähtöistä kumppanuutta projekteista ylläpitoon
- Timeless Technology - Ohjelmoitavat logiikat (PLC): Ratkaisevat työkalut automaatioon ControlByWebiltä.
- Kisko Labs Oy - Heroku: Ohjelmistokehittäjän ykköstyökalu skaalautuvien sovellusten rakentamiseen
- SD Worx - Näin luot vakuuttavan Business Casen palkkahallinnon ulkoistukselle
- Timeless Technology - Kyberriskien tunnistaminen Profitap IOTA verkkoanalysaattorin avulla.
- GidiUp Oy - Ai hitto -päivä: Kun sesonki pääsee taas yllättämään
Digitalisaatio & innovaatiot blogimediaBlogimediamme käsittelee tulevaisuuden liiketoimintaa, digitaalisia innovaatioita ja internet-ajan ilmiöitä |