's Picture

Micro Services – ett hot mot skogen?

Postad av Joel Abrahamsson

Då och då uppdaterar jag vår systemkarta. Det handlar om en ritning som på en hög nivå beskriver vilka system vi har, vad de gör och hur de interagerar med varandra. När den är uppdaterad brukar jag skriva ut den och sätta upp den på väggen. På så sätt är det lätt för nya, eller gamla, utvecklare att ta reda på vilka applikationer vi har och vad en specifik applikation gör. En fysisk karta på väggen ger också bra möjligheter till att träffas runt den och diskutera.

Till en början var själva utskriften en enkel operation. Jag skrev helt enkelt ut kartan i A3-format på en skrivare. Men, när jag uppdaterade den i våras så stötte jag på ett problem. Kartan fick inte längre plats på ett A3 papper. Jag behövde mer utrymme.

Jag fick överge den vanliga laserskrivaren och istället börja använda vår, då nyinköpta, Designjet som utan problem klarade av att skriva ut i A2-format.

Räddaren i nöden.
Räddaren i nöden.

Ytterligare ett drygt halvår gick och i förra veckan var det dags att uppdatera kartan igen. Den här gången räckte inte ens A2-formatet. Tack och lov klarar Designjeten att skriva ut hur brett som helst och jag kunde lösa det hela genom att skapa mitt eget pappersformat.

Så, även denna gång kunde jag, trots en explosion av applikationer rymma alla på ett papper.

Oscar och Mattias sätter upp kartan på väggen. Jag bidrog med projektledning och som fotograf.
Oscar och Mattias sätter upp kartan på väggen. Jag bidrog med projektledning och som fotograf.

Allt gott, eller hur? Kanske inte. Problemet är att vi nu börjar närma oss en pappersstorlek av sådan dignitet att det finns fog för att oroa sig för miljön. Kommer Sveriges skogsindustri klara av våra behov i framtiden eller kommer vår systemarkitektur att utarma skogen och i grunden förändra det svenska landskapet?

Efter att ha analyserat systemtillväxten under det senaste året så kan vi med tvivelaktig säkerhet anta att tillväxten sker exponentiellt, enligt:

y är antal kvadratmeter papper som behövs, x är antal månader från start.
y är antal kvadratmeter papper som behövs, x är antal månader från start.

Ett träd ger (enligt vissa källor) i genomsnitt 1 950 kvm papper. Enligt vår modell kommer alltså Expressens infrastruktur att ha förbrukat ett helt träd på 56 månader, vilket kommer inträffa i oktober 2019.

Sedan går det bara utför. Svensk skogsindustri har avverkat 46 miljoner kubik skog per år de senaste fem åren (Skogsdata 2015 sid 132) vilket vi uppskattar motsvara ca 33 miljoner träd. Redan i oktober 2026 kommer då systemkartan att motsvara 10 % av Sveriges skogsavverkning. Vad detta, genom vårt val av micro services-arkitektur, kommer att ge för konsekvenser lämnar jag till experterna att spekulera om men att det kommer att få konsekvenser är minst sagt troligt.

Skämt åsido - micro services är nog inte ett allvarligt miljöproblem. Men, om man överväger att införa en micro services arkitektur kan det vara bra att tänka på att det snabbt kan bli många applikationer och ha strategier för att hantera det.

Vi har exempelvis märkt att namngivning blir viktigt. När antalet Git-repon och applikationer i drift är tresiffrigt blir beskrivande namn och/eller dokumentation som beskriver vad applikationen gör ganska viktigt.

Det är också viktigt att ha en driftmiljö som är framtagen med samma tänk som systemarkitekturen. I vårt fall handlar det om exempelvis service discovery med Consul och en enhetlig lösning för loggning och övervakning.

Disclaimer: I själva verket pratar vi väldigt lite om "micro services" på Expressen då vi tycker att det är lite väl mycket av ett buzzword. Vår arkitektur handlar i själva verket om att bygga separata applikationer för separata ansvarsområden. Om de därigenom blir "mikro", "small" eller "medium" är inget vi ligger sömnlösa över.

Toppbild: smilla4, från Flickr, creative commons.

PS. Missa inte vår nästa bloggpost, följ oss på Twitter!

Till startsidan