
Tutustu Backstageen: Spotifyn kehittämän developer portaalin esittely

Tämä on kolmas blogikirjoitus sarjaan, joka alkoi johdannolla Platform engineering toimintamalliin ja jatkui toimintamallia tukevan työkalukonseptin Developer Portalin toimintaperiaatteiden esittelyllä. Tässä kolmannessa kirjoituksessa esitellään lyhyesti yksi käytännön Developer Portal esimerkki, toimintakentän kuumin nimi Backstage.
Backstage sai alkunsa Spotifyn sisäisenä työkaluna ja teknologiana. Muutama vuosi sitten he luovuttivat sen CNCF:lle (Cloud Native Computing Foundation, https://www.cncf.io/), joka nyt jatkaa sen kehittämistä avoimen lähdekoodin projektina. Backstage on saanut ympärilleen mittavan ja aktiivisen yhteisön. Sitä on implementoitu laajasti sekä erittäin vaativissa että hieman yksinkertaisemmissakin ympäristöissä.
Backstagella on potentiaalia nousta toimialan standardiksi. Sen suosio on kasvanut vahvasti ympäri maailmaa. Suomessa on vasta muutamia yrityksiä, jotka ovat jo ottaneet Backstagen käyttöön, mutta useimmille teema ja työkalu ovat yhä uusia. Tästä syystä Backstage ansaitsee oman läpikäyntinsä.
Backstage, sovelluskehittäjän portaali
Backstage on suunniteltu tekemään ohjelmistokehittäjien elämästä helpompaa ja tuottavampaa. Se on kehitetty ratkaisemaan monia ohjelmistokehityksen yleisiä haasteita, kuten esimerkiksi monimutkaisuuden ja riippuvuuksien yksinkertaistaminen, palveluiden löydettävyys ja dokumentaation ylläpito.
Yksinkertaistettuna Backstage on avoin portaali-alusta, jolla toteutetaan käyttöliittymä organisaation sovelluskehitysympäristöön ja infrastruktuuriin. Portaali yhdistää kaikki työkalut, sovelluskehityksen komponentit, infrastruktuurin, datan ja dokumentaation yhden käyttöliittymän alle.
Backstage ei korvaa organisaation käyttämiä sovelluskehityksen työkaluja. Arvo syntyy mm. keskitetystä pääsystä kaikkeen tietoon ja työkaluihin, läpinäkyvyydestä ja ymmärrettävyydestä sovelluskehitykseen sekä helposta ja nopeasta tiedon löytämisestä.
Backstagen kenties suurin vahvuus liittyy sen avoimen lähdekoodin toimintamalliin sekä tekniseen arkkitehtuuriin ja sen avoimuuteen. Avoin lähdekoodi ja aktiivinen kehittäjäyhteisö ovat usein suurempi kehitysvoima verrattuna yksittäisen yrityksen tuotekehitysmahdollisuuksiin. Backstageen onkin jo nyt kehitetty suuri määrä erilaisia integraatioita ja laajennuksia, jotka nopeuttavat ja helpottavat käytännön implementointiprojekteja.
Avoin tekninen arkkitehtuuri on tärkeä organisaatioille, jotka suunnittelevat käyttönsä laajentamista. Se mahdollistaa kestävän kehityksen myös pitkällä aikavälillä. Arkkitehtuuri antaa varmuuden eri tarpeiden toteuttamiselle myös tulevaisuudessa, jolloin sovelluskehityksen kehittämistä voi edistää ilman pelkoa portaaliympäristön ajautumisesta umpikujaan.
Käyttökohteita
Backstage on, kuten mainittu, avoin alusta sovelluskehittäjän portaalien luomiseen. Se ei siis ole tarkasti rajattu tuote, jolla on ennalta määritetyt ominaisuudet ja toiminnallisuudet.
Näin ollen erilaisia käyttökohteita on lähes rajatta ja kahden eri organisaation implementaatiot todennäköisesti poikkeavatkin toisistaan merkittävästi.
Olemme tähän mennessä jo nähneet Backstage-projekteissa useita erilaisia ensimmäisen vaiheen tavoitetta. Näissä vauhti ei ole pysähtynyt ensimmäisen tavoitteen saavuttamiseen, vaan kokemusten myötä organisaatiot saavat vahvistusta ratkaisumallille ja portaalia laajennetaan seuraaviin alueisiin. Tässä kuitenkin yleisimmät liikkeellelähdön liipaisijat:
1)Teknisen dokumentaation parempi hallinta.
Teknisen dokumentaation hallinta on erittäin yleinen haaste sovelluskehitystä tekevissä organisaatioissa. Lisäksi modernissa sovelluskehitystyössä dokumentaation merkitys kasvaa entisestään, kun järjestelmät ovat laajoja, integroituja ja teknisesti monimutkaisia. Hyvä teknisen dokumentaation hallinnan tunnistaa siitä, että dokumentaatiota pystytään pitämään ajantasaisena ja oikeana, sen tuottaminen ja ylläpito on helppoa ja se on helposti löydettävää.
Backstagessa dokumentointi ja dokumenttien hallinta perustuvat markdown-tyyppiseen tietomuotoon (yksinkertainen ja sovelluskehityksen yhteydessä laajasti käytetty dokumenttisyntaksi), joten se on helppo ja luonteva dokumentointitapa teknisille asiantuntijoille. Lisäksi dokumentaatio tuodaan muun teknisen tiedon yhteyteen ja liitetään osaksi työnkulkuja, jolloin sen tuottaminen ja ajantasaisena pitäminen on entistä helpompaa.
2)DevOps-työkalujen harmonisointi ja tarjoaminen organisaatiolle.
Kehitystiimien autonomia johtaa usein tiimeissä erilaisiin, toisistaan poikkeaviin työkaluvalintoihin. Lisäksi DevOps-typpiset toimintamallit tuovat esim. pilvipalvelut, konttiteknologiat ja ohjelmiston julkaisuputken sovelluskehittäjän työkenttään ja tekevät siitä entistä monimutkaisemman.
Backstagen yksi yleisimmistä käyttökohteista on selkeyttää sovelluskehittäjän työkenttää tarjoten koko DevOps-ympäristön työkaluineen helposti saataville. Työstä tulee sujuvampaa ja mielekkäämpää.
3)Tiedonkulun tehostaminen kehitystiimien ja kehittäjien välillä.
Sovelluskehitystyö on usein hyvin nopeatempoista ja lähellä julkaisua vauhti kiihtyy entisestään. Työhön usein osallistuu useita ihmisiä ja eri kehitystiimejä. On selvää, että riski huonoon tiedonkulkuun tai virheisiin kasvaa merkittävästi.
Backstagen ytimen muodostaa katalogi, lista kaikista sovelluskehityksen komponenteista. Listattujen komponenttien lisäksi avainasemassa ovat komponentteihin liittyvä metatieto. Metatiedon avulla konkretisoituu niin yksityiskohdat, asiayhteydet kuin kokonaiskuvakin.
Lopputuloksena tiedämme esimerkiksi api-rajapinnasta helposti, kuka sen on toteuttanut, mikä tiimi sen ylläpidosta ja jatkokehityksestä vastaa, mitä tuo rajapinta tekee, mitkä palvelut hyödyntävät kyseistä rajapintaa ja miten tuota rajapintaa kuuluu ja voi käyttää.
4)Toimintatapojen yhtenäistäminen eri tiimeissä.
Ketterän ohjelmistokehitykseen ja Agile-periaatteisiin liitetään usein tiimien vahva autonomia. Työnjaon ja itseohjautuvuuden lisäksi autonomia usein ulotetaan myös tiimin käyttämien työkalujen ja toimintatapojen valintaan. Tällä on lukuisia positiivisia vaikutuksia tiimien tehokkuuteen ja työn mielekkyyteen, mutta samalla se voi aiheuttaa koko organisaation näkökulmasta tehottomuutta ja korkeampia kustannuksia.
Backstagen juuret ovat Spotifylla, jossa tiimien autonomia on aina ollut erittäin vahva kulttuuria määrittävä periaate. Backstagen mahdollistaa tiimeille erilaisia toimintatapoja ja työkaluja. Haluttu yhteinen toimintamalli tehdään kuitenkin niin helpoksi ja houkuttelevaksi, että tiimit valitsevat tämän toimintamallin omista lähtökohdistaan parhaimmaksi. Näin toimintamallit ja työkalut yhdenmukaistuvat tarkoituksenmukaisella ja järkevällä tavalla ja tasolla.
Edellä listattujen neljän erilaisen esimerkin lisäksi, sovelluskehittäjän portaalin mahdollisia kehityskärkiä on lukuisia muitakin. Me Qevossa autamme organisaatioita tunnistamaan itselleen parhaimmat kehityskärjet ja autamme kaikissa Backstagen implementointiin liittyvissä tehtävissä tehokkaasti ja laadukkaasti.
Mikäli kiinnostuit aiheesta, ota yhteyttä ja pyydä meiltä vaikka demoa!