Eimskip

Samþætting og nútímavæðing skýjaumhverfis með Microsoft Azure
Eimskip – Eimskipafélag Íslands hf. – er eitt elsta og sögufrægasta fyrirtæki á Íslandi, stofnað 17. janúar 1914 með stuðningi um 15.000 hluthafa, sem þá samsvaraði nær 17 prósentum íslensku þjóðarinnar. Um rúmlega einnar aldar skeið hefur fyrirtækinu verið lýst sem „óskabarni þjóðarinnar“ sem endurspeglar lykilhlutverk þess við að tengja Ísland umheiminum. Nú til dags er Eimskip leiðandi flutningafyrirtæki á Norður-Atlantshafi og heldur úti þrettán skipum á sex reglubundnum siglingaleiðum. Eimskip rekur 58 skrifstofur í 20 löndum í fjórum heimsálfum og starfa um 1.640 manns hjá fyrirtækinu. Eimskip er skráð á Nasdaq Iceland og kemur um helmingur tekna þess frá starfsemi utan Íslands.
Áskorunin
Vefumhverfi Eimskips hafði með tímanum þróast í takt við uppbyggingu samstæðunnar og orðið að sundruðu hýsingarumhverfi sem náði til fjölda þjónustuaðila og rekstrarumhverfa. Þegar sú ákvörðun var tekin að endurnýja vefviðveru fyrirtækisins – þar sem Vettvangur leiddi endurhönnun fram- og bakenda – kviknaði tækifæri til endurskipulagningar undirliggjandi innviða samhliða verkefninu.
Sundurlaus fjölbirgjavettvangur
Í upphafi verkefnisins rak Eimskip sex aðgreindar veflausnir án sameiginlegs hýsingargrunns:
- NAA- og TVG-Zimsen-lausnirnar voru hýstar í aðskildum Azure-þjónum sem Vettvangur stýrði
- Aðalvefir fyrirtækisins – eimskip.is og eimskip.com – ásamt lausnum Atlantic Trucking og Cargocan voru hýstir í gagnaveri Eimskips sjálfs
Að auki studdist Eimskip við nokkra ytri þjónustuveitendur, þar á meðal Advania og Tietoevry, fyrir vissa þætti umhverfisstjórnunar. Þetta olli samhæfingarálagi sem hægði á ákvarðanatöku og skapaði flækjur í samræmdri öryggisstýringu og rekstarstefnu.
Áskorunin
Vefumhverfi Eimskips hafði með tímanum þróast í takt við uppbyggingu samstæðunnar og orðið að sundruðu hýsingarumhverfi sem náði til fjölda þjónustuaðila og rekstrarumhverfa. Þegar sú ákvörðun var tekin að endurnýja vefviðveru fyrirtækisins – þar sem Vettvangur leiddi endurhönnun fram- og bakenda – kviknaði tækifæri til endurskipulagningar undirliggjandi innviða samhliða verkefninu.
Sundurlaus fjölbirgjavettvangur
Í upphafi verkefnisins rak Eimskip sex aðgreindar veflausnir án sameiginlegs hýsingargrunns:
- NAA- og TVG-Zimsen-lausnirnar voru hýstar í aðskildum Azure-þjónum sem Vettvangur stýrði
- Aðalvefir fyrirtækisins – eimskip.is og eimskip.com – ásamt lausnum Atlantic Trucking og Cargocan voru hýstir í gagnaveri Eimskips sjálfs
Að auki studdist Eimskip við nokkra ytri þjónustuveitendur, þar á meðal Advania og Tietoevry, fyrir vissa þætti umhverfisstjórnunar. Þetta olli samhæfingarálagi sem hægði á ákvarðanatöku og skapaði flækjur í samræmdri öryggisstýringu og rekstarstefnu.
Verkefnið
Verkefni Gunnars var að hanna og innleiða allan Azure-innviðahluta verkefnisins í samstarfi við Vettvang, sem annaðist vefforritunarlagið. Samhæfing margra aðila – Advania, Tietoevry, Vettvangs og upplýsingatækniteymis Eimskips – varð að umtalsverðri skipulags- og samræmingaráskorun í verkefni sem þá þegar var mikið að umfangi tæknilega.
Infrastructure as Code með Bicep
Grunnur hins nýja hýsingarumhverfis var lagður með Bicep IaC (Infrastructure as Code). Fremur en að setja handvirkt upp gagnagrunna, geymslureikninga og vefþjóna í Azure Portal voru allir innviðaþættir skilgreindir í skipulögðum Bicep-sniðmátum – lýsandi kóða sem skilgreinir óskaástand hvers auðlindahluta með nákvæmni og útgáfustýringu.
Þessi nálgun hafði þríþætta áþreifanlega kosti. Í fyrsta lagi kom hún í veg fyrir aflögun stillinga og óskráðar handvirkar breytingar sem eru dæmigerðar fyrir handstýrð umhverfi. Í öðru lagi skapaði hún rekjanlegan og endurkvæman grunn sem gerði umhverfisuppfærslur, stækkun og komandi viðbætur eðlilegar og áhættulitlar. Í þriðja lagi einfaldaði hún fjölföldun umhverfa með því að leggja til nýtt prófunar- og sviðsetningarumhverfi fyrir hverja og eina af sex lausnum svo úr varð sjálfvirkt sniðmátað ferli í stað einangraðra verkefna.
DevOps-ferlar og sjálfvirkni í útgáfu
Allar sex lausnirnar voru færðar inn í Azure DevOps og CI/CD-ferlar (Continuous Integration/Continuous Deployment) settir upp til að ná fram sjálfvirkni í smíði, prófunum og útgáfum. Einkum og sér í lagi voru aðskildir ferlar settir upp fyrir fram- og bakenda hverrar lausnar sem gerði það mögulegt að gefa hlutana út sjálfstætt. Uppfærsla framendaefnis krefst ekki bakendaútgáfu og öfugt – þar var komin aðgreining sem dró verulega úr útgáfuálagi og eins úr hættunni á óæskilegum aukaverkunum.
Þegar þróunar- og sviðsetningarumhverfi eru annars vegar eru útgáfur alsjálfvirkar. Í rekstrarumhverfi tryggja formleg samþykkisþrep að öll notkun í lifandi umhverfi byggist á meðvituðum og yfirförnum aðgerðum sem jafna hraða þróunar til samræmis við rekstraröryggi.
Hert á öryggismálum
Öryggi var forgangsmál allt frá byrjun, ekki síðari viðbót. Innbyggð öryggistól Azure – þar á meðal Microsoft Defender for Cloud, Azure Monitor og stýringar á netstigi – voru innleidd yfir allt umhverfið. Allar sex lausnirnar eru nú keyrðar í einu sameinuðu Azure-umhverfi og var þar af leiðandi í fyrsta sinn hægt að beita ósveigjanlegum öryggisreglum og miðlægri vöktun fyrir allt kerfið. Það fyrirkomulag lokaði glufum sem myndast óhjákvæmilega í dreifðu fjölbirgjaumhverfi.
Samþættingin gerði sameiginlega kostnaðarstýringu mögulega: Þar sem allt vinnsluálag var sýnilegt gegnum eina Azure-áskrift var unnt að framkvæma ítarlega kostnaðargreiningu eftir þjónustuleiðum og með því koma á þeim rekstrarsýnileika sem nauðsynlegur er til að kostnaður verði viðunandi til frambúðar.

Verkefnið
Verkefni Gunnars var að hanna og innleiða allan Azure-innviðahluta verkefnisins í samstarfi við Vettvang, sem annaðist vefforritunarlagið. Samhæfing margra aðila – Advania, Tietoevry, Vettvangs og upplýsingatækniteymis Eimskips – varð að umtalsverðri skipulags- og samræmingaráskorun í verkefni sem þá þegar var mikið að umfangi tæknilega.
Infrastructure as Code með Bicep
Grunnur hins nýja hýsingarumhverfis var lagður með Bicep IaC (Infrastructure as Code). Fremur en að setja handvirkt upp gagnagrunna, geymslureikninga og vefþjóna í Azure Portal voru allir innviðaþættir skilgreindir í skipulögðum Bicep-sniðmátum – lýsandi kóða sem skilgreinir óskaástand hvers auðlindahluta með nákvæmni og útgáfustýringu.
Þessi nálgun hafði þríþætta áþreifanlega kosti. Í fyrsta lagi kom hún í veg fyrir aflögun stillinga og óskráðar handvirkar breytingar sem eru dæmigerðar fyrir handstýrð umhverfi. Í öðru lagi skapaði hún rekjanlegan og endurkvæman grunn sem gerði umhverfisuppfærslur, stækkun og komandi viðbætur eðlilegar og áhættulitlar. Í þriðja lagi einfaldaði hún fjölföldun umhverfa með því að leggja til nýtt prófunar- og sviðsetningarumhverfi fyrir hverja og eina af sex lausnum svo úr varð sjálfvirkt sniðmátað ferli í stað einangraðra verkefna.
DevOps-ferlar og sjálfvirkni í útgáfu
Allar sex lausnirnar voru færðar inn í Azure DevOps og CI/CD-ferlar (Continuous Integration/Continuous Deployment) settir upp til að ná fram sjálfvirkni í smíði, prófunum og útgáfum. Einkum og sér í lagi voru aðskildir ferlar settir upp fyrir fram- og bakenda hverrar lausnar sem gerði það mögulegt að gefa hlutana út sjálfstætt. Uppfærsla framendaefnis krefst ekki bakendaútgáfu og öfugt – þar var komin aðgreining sem dró verulega úr útgáfuálagi og eins úr hættunni á óæskilegum aukaverkunum.
Þegar þróunar- og sviðsetningarumhverfi eru annars vegar eru útgáfur alsjálfvirkar. Í rekstrarumhverfi tryggja formleg samþykkisþrep að öll notkun í lifandi umhverfi byggist á meðvituðum og yfirförnum aðgerðum sem jafna hraða þróunar til samræmis við rekstraröryggi.
Hert á öryggismálum
Öryggi var forgangsmál allt frá byrjun, ekki síðari viðbót. Innbyggð öryggistól Azure – þar á meðal Microsoft Defender for Cloud, Azure Monitor og stýringar á netstigi – voru innleidd yfir allt umhverfið. Allar sex lausnirnar eru nú keyrðar í einu sameinuðu Azure-umhverfi og var þar af leiðandi í fyrsta sinn hægt að beita ósveigjanlegum öryggisreglum og miðlægri vöktun fyrir allt kerfið. Það fyrirkomulag lokaði glufum sem myndast óhjákvæmilega í dreifðu fjölbirgjaumhverfi.
Samþættingin gerði sameiginlega kostnaðarstýringu mögulega: Þar sem allt vinnsluálag var sýnilegt gegnum eina Azure-áskrift var unnt að framkvæma ítarlega kostnaðargreiningu eftir þjónustuleiðum og með því koma á þeim rekstrarsýnileika sem nauðsynlegur er til að kostnaður verði viðunandi til frambúðar.

Niðurstöður
Verkefnið sameinaði sex veflausnir frá þremur aðskildum hýsingarumhverfum með góðum árangri í eitt samræmt Azure-umhverfi – það skilaði tafarlausum rekstrarávinningi og lagði stöðugan grunn fyrir stafræna innviði Eimskips á komandi tímum.
- Sameinað umhverfi – allar sex veflausnir samstæðunnar eru í fyrsta sinn sameinaðar í eitt Azure-umhverfi með samræmdri stjórnun
- Nútímalegt DevOps – sjálfvirkir CI/CD-ferlar með aðgreindum fram- og bakenda útgáfuleiðum gera útgáfur hraðvirkari og öruggari
- Ósveigjanlegt öryggi – miðlæg öryggisvöktun og hertar stillingar innleiddar einsleitt fyrir allar lausnir með innbyggðum Azure-verkfærum
- Kostnaðarsýnileiki – ítarleg kostnaðargreining á þjónststigi er nú fyrir hendi sem gerir áframhaldandi hagræðingu innviða á samstæðugrunni mögulega
“Alþekkt er að samstæður á borð við Eimskip haldi úti fjölda lausna sem dreifast milli ólíkra þjónustuaðila. Samræning þessara umhverfa með það fyrir augum að hægt sé að reka og nota þau á skilvirkan hátt á einum stað er ekkert áhlaupaverk. Þetta skemmtilega og krefjandi verkefni, þar sem margir aðilar lögðu gjörva hönd á plóg, gaf okkur tækifæri til að leggja grunninn að hýsingarlausn sem við vonumst til að muni styðja við frekari þróun og uppbyggingu veflausna Eimskips um ókomin ár.”

Til viðbótar við þá samþættingu sem strax er fram komin gerir grunnurinn, sem smíðaður var með Bicep IaC og DevOps-ferlum, Eimskip vel í stakk búið til að þróa og stækka stafrænt umhverfi sitt áfram eftir því sem starfseminni vex fiskur um hrygg á Norður-Atlantshafi og víðar. Nýjar veflausnir dótturfélaga, uppfærslur eiginleika og samþættingar í framtíðinni er nú mögulegt að innleiða á haganlega byggðum, skjalfestum og sjálfvirknivæddum netvangi.
Niðurstöður
Verkefnið sameinaði sex veflausnir frá þremur aðskildum hýsingarumhverfum með góðum árangri í eitt samræmt Azure-umhverfi – það skilaði tafarlausum rekstrarávinningi og lagði stöðugan grunn fyrir stafræna innviði Eimskips á komandi tímum.
- Sameinað umhverfi – allar sex veflausnir samstæðunnar eru í fyrsta sinn sameinaðar í eitt Azure-umhverfi með samræmdri stjórnun
- Nútímalegt DevOps – sjálfvirkir CI/CD-ferlar með aðgreindum fram- og bakenda útgáfuleiðum gera útgáfur hraðvirkari og öruggari
- Ósveigjanlegt öryggi – miðlæg öryggisvöktun og hertar stillingar innleiddar einsleitt fyrir allar lausnir með innbyggðum Azure-verkfærum
- Kostnaðarsýnileiki – ítarleg kostnaðargreining á þjónststigi er nú fyrir hendi sem gerir áframhaldandi hagræðingu innviða á samstæðugrunni mögulega
“Alþekkt er að samstæður á borð við Eimskip haldi úti fjölda lausna sem dreifast milli ólíkra þjónustuaðila. Samræning þessara umhverfa með það fyrir augum að hægt sé að reka og nota þau á skilvirkan hátt á einum stað er ekkert áhlaupaverk. Þetta skemmtilega og krefjandi verkefni, þar sem margir aðilar lögðu gjörva hönd á plóg, gaf okkur tækifæri til að leggja grunninn að hýsingarlausn sem við vonumst til að muni styðja við frekari þróun og uppbyggingu veflausna Eimskips um ókomin ár.”

Til viðbótar við þá samþættingu sem strax er fram komin gerir grunnurinn, sem smíðaður var með Bicep IaC og DevOps-ferlum, Eimskip vel í stakk búið til að þróa og stækka stafrænt umhverfi sitt áfram eftir því sem starfseminni vex fiskur um hrygg á Norður-Atlantshafi og víðar. Nýjar veflausnir dótturfélaga, uppfærslur eiginleika og samþættingar í framtíðinni er nú mögulegt að innleiða á haganlega byggðum, skjalfestum og sjálfvirknivæddum netvangi.