Tämä kirjoitus on toinen osa blogisarjaa, jossa käsittelen moderneihin tietojärjestelmäintegraatioihin liittyviä ominaisuuksia, hyötyjä ja teknologioita. Ensimmäisessä osassa keskityttiin “legacy”-integraatioihin: Mitä ne ovat ja miten ne saattavat potkia vastaan pahimmalla mahdollisella hetkellä.
Tämä osa keskittyy lecacyn vastakohtaan: Mitä hyötyä moderneilla tavoilla tehdyt integraatiot tuovat? Kannattaako modernia tavoitella, jos homma pyörii legacynkin voimalla? Kolmannessa osassa syvennytään teknologioihin, jotka helpottavat ja mahdollistavat modernit integraatioratkaisut.
Modernin integraation määritelmä
Blogisarjan ensimmäisessä osassa kuvasin klassista legacy-integraatiota seuraavan esimerkin avulla:
On-premise palvelimella sijaitseva skripti, joka Windows Task Schedulerilla ajastettuna siirtää CSV-tiedostoja kerran yössä kumppanin FTP-palvelimelle.
Jutun lopussa annoin pohdittavaksi kuvauksen modernista integraatiosta:
On-premise palvelimella sijaitseva skripti, joka Windows Task Schedulerilla ajastettuna siirtää CSV-tiedostoja kerran yössä kumppanin FTP-palvelimelle.
Väitin, että kyseessä ei ole copy-paste -virhe ja seison yhä väitteen takana: skriptillä toteutettu ja on-premise palvelimella pyörivä FTP:tä hyödyntävä ajastettu integraatio ei tarkoita, että kyseessä on legacy-integraatio. Kyseessä voi olla moderni integraatio.
Kuten ensimmäisen artikkelin
harjoituksesta kävi ilmi, toimivassa ja modernissa integraatiossa tärkeintä eivät ole teknologiat, joilla integraatio on toteutettu. Tuoreet teknologiat auttavat saavuttamaan modernin integraation, mutta eivät ole ehto sille. Määrittelenkin modernin integraation seuraavasti:
Moderni integraatio on tiedossa oleva tietoturvallinen integraatio, jonka tarkoitus ja muutoshistoria ovat selkeästi nähtävillä. Moderni integraatio noudattaa organisaation integraatioarkkitehtuuria ja toimii pääasiassa hyvin, osaten kuitenkin virheen hetkellä hallitusti muistuttaa itsestään. Moderni integraatio ajetaan tarvittaessa ja se mahdollistaa muutoksen, uudelleenkäytettävyyden ja yhteistyön.
Lähdetään pilkkomaan määritelmää osiin.
Integraatio on tiedossa ja tietoturvallinen
Monella asiakkaallamme integraatioita on toteutettu ad hoc, keskittymättä kokonaisuuteen. Tällä on mielenkiintoinen seuraus: Moni integraatio tulee yllätyksenä, kun järjestelmien väliseen tiedonsiirtoon lähdetään perehtymään. Ad hoc -toteutustapa johtaa usein myös siihen, että integraatioissa käytettävät salaisuudet, kuten tietokantojen connection stringit, löytyvät integraatioita suorittavista skripteistä semmoisenaan.
Modernin integraation tunnusmerkki #1: Olemassaolo tiedossa
Modernin integraation tunnusmerkki #2: Salaisuudet hallinnassa (esim. hyödyntäen Azuren Key Vault -palvelua tai muuta vastaavaa)
Integraation tarkoitus ja muutoshistoria ovat selkeästi nähtävillä
Moni ad hoc toteutettu integraatio jää tarkoitukseltaan mysteeriksi: Tarvitaanko integraatiota ollenkaan? Miksi se on tehty? Kuka asiasta osaisi kertoa enemmän? Kun nämä asiat jäävät mysteeriksi, muutoksia integraatioon ei uskalleta tehdä ja toisaalta virheen sattuessa ei tiedetä miten asian pystyisi korjaamaan.
Modernin integraation tunnusmerkki #3: Versiohallinnan alainen
Integraatio noudattaa organisaation integraatioarkkitehtuuria
Integraatioista ei kannata tehdä tähtitiedettä, ripaus käytännönläheisyyttä tehostaa usein tekemistä. Mutta tämä ei poista sitä, että hyvin suunniteltu on puoliksi tehty. Hyvän suunnittelun pohjana kannattaa ylläpitää esim. Wikissä/Wordissa sijaitsevaa organisaation integraatioarkkitehtuuria, joka paaluttaa integraatiotekemiseen tärkeitä kulmakiviä. Esimerkiksi salaisuuksien hallinta ja monitoroitavuus ovat asioita, joihin integraatioarkkitehtuurissa kannattaa ottaa kantaa.
Lisäksi integraatioarkkitehtuurissa kannattaa listata vaateita, jotka varmistetaan, kun ollaan tekemässä uusia kehityksiä tai kartoittamassa uusia järjestelmähankintoja. Esimerkiksi Azure AD -pohjainen SSO-tuki ja OpenAPI-pohjaiset rajapinnat ovat hyviä asioita pitää arkkitehtuurisuunnitelman muistilistalla.
Modernin integraation tunnusmerkki #4: Osa suunniteltua kokonaisuutta
Integraatio toimii pääasiassa hyvin, osaten kuitenkin virheen hetkellä hallitusti muistuttaa itsestään
”Integraatiot ovat monitoroitavia järjestelmiä” on hyvä sääntö, joka auttaa helpottamaan integraatioiden aiheuttamaa päänsärkyä. Kun näet integraatiosi kootusti listalla ja pystyt tarkastelemaan niiden ajokertoja ja virheitä, ymmärrät paremmin mitä eri tietojärjestelmissä ja niiden välillä tapahtuu. Integraatioiden monitorointiin liittyy usein kolme kokonaisuutta: logit, metriikka ja tracet.
Modernin integraation tunnusmerkki #5: Kuuluu monitoroinnin piiriin
Integraatio ajetaan tarvittaessa
Valitettavan moni integraatio pohjautuu massiiviseen määrään yöllisiä tietokantakyselyjä. Vastaan on tullut tilanteita, joissa itse järjestelmä olisi pyörinyt kevyemmilläkin resursseilla, mutta yölliset batch-integraatioajot aiheuttivat niin suurta kuormaa tietokantaan, että palvelimen kapasiteettia (ja kustannuksia) piti kasvattaa.
Integraatioista saadaan ketterämpiä ja kevyempiä, jos pystytään hyödyntämään tietojärjestelmän tuottamia eventtejä. Eventit mahdollistavat esimerkiksi yhden ERP:ssä muuttuneen asiakkaan tietojen päivityksen Salesforcen suuntaan, ilman tarvetta pollata suurempaa määrää dataa. Kun muutos tapahtuu, siitä saadaan event (toivottavasti esimerkiksi CloudEvents-formaatissa) ja eventtiä voidaan käyttää triggerinä integraation ajamisessa.
Modernin integraation tunnusmerkki #6: Push
Integraatio mahdollistaa muutokset ja uudelleenkäytettävyyden
On tärkeää, että integraatioihin uskalletaan tehdä muutoksia. Tämän edellytyksiä ovat muutoshistoria sekä testiympäristö, jossa muutoksia voi testata. Tässä muutoksella kuitenkin tarkoitan integraatioiden kohteena olevia tietojärjestelmiä. Parhaimmassa tapauksessa moderni integraatio mahdollistaa tietojärjestelmän vaihtamisen ilman, että muut siihen kytköksissä olevat tietojärjestelmät tietävät muutoksesta.
Hyvällä suunnittelulla ja hyvin toteutetulla integraatioilla minimoidaan tietojärjestelmien väliset riippuvuudet ja mahdollistetaan muutos. Toisaalta hyvä suunnittelu ja toteutus mahdollistavat myös työn uudelleenkäytettävyyden: Järjestelmään avattuja integraatioita voidaan hyödyntää usean eri tietojärjestelmän välillä.
Modernin integraation tunnusmerkki #7: Kestää (ja mahdollistaa) muutokset
Modernin integraation tunnusmerkki #8: Uudelleenkäytettävissä
Integraatio mahdollistaa yhteistyön
API:t (ohjelmointirajapinnat) ovat arkipäivää ja parhaimmillaan hyvin hallinnassa olevat API:t tarjovat organisaatioille mahdollisuudeen skaalautuvampaan liiketoimintaan ja liiketoimintamalliin. Kumppanit voivat tuoda organisaation palvelukatalogiin omien järjestelmiensä rajapintoja ja toisaalta he pystyvät hyödyntämään katalogista jo löytyviä palveluita. API:en lisäksi eventtipohjaiset integraatiot tehostavat useamman toimittajan järjestelmäkehityshankkeita.
Modernin integraation tunnusmerkki #9: Aktivoi yhteistyötä
Yhteenveto ja mitä seuraavaksi
Alla vielä listattuna yhdeksän modernin integraation tunnusmerkkiä:
- Olemassaolo tiedossa
- Salaisuudet hallinnassa
- Versiohallinnan alainen
- Osa suunniteltua kokonaisuutta
- Kuuluu monitoroinnin piiriin
- Push
- Kestää (ja mahdollistaa) muutokset
- Uudelleenkäytettävissä
- Aktivoi yhteistyötä
Kuten listauksesta näkyy, teknologia on moderneissa integraatioissa taustalla. Toimintatavat ja -kulttuuri auttavat teknologiasta riippumatta ottamaan integraatiot haltuun. Teknologiaa ei kuitenkaan kannata unohtaa: Teknologiavalinnat auttavat toteuttamaan moderneja integraatioympäristöjä paremmalla tehokkuudella ja ohjaavat kohti toimivampaa kokonaisuutta. Blogisarjan seuraavassa osassa käsitellään tarkemmin teknologioita modernien integraatioiden takana.
Adafy on asiakkaidensa kokenut ja näkemyksellinen integraatio- ja teknologiakehityskumppani. Tässä artikkelisarjassa johdatamme sinut modernien integraatioratkaisujen pariin.