2Solar blog

Transitie van monolith

naar microservices

Hoe gaat het op je werk? Vrienden vragen het regelmatig aan me… In deze serie wil ik kijken waar we bij 2Solar Software mee bezig zijn en waar we ons de komende tijd op focussen. Hoe is het werken bij 2Solar en hoe bevalt het nou eigenlijk hier in het Zwolse?

Half september ’20 ben ik gestart bij 2Solar Software. We bouwen hier aan een SaaS-product voor iedereen die iets met energietransitie doet. We hebben door en door kennis van de energietransitie markt waardoor we als 2Solar ook bedrijfsprocessen kunnen sturen bij onze klanten. We bieden een product waarin de installateur snel offertes kan maken inclusief legplannen, materiaal lijsten, digitaal ondertekenen en nog veel meer functionaliteiten om de installateur van A-Z te ondersteunen van het idee van zonnepanelen tot het daadwerkelijk opleveren bij de klant.

Naast de zonnepanelen bieden we via onze software veel meer producten aan. Hierbij valt te denken aan warmtepompen, laadpalen en batterijen. Alles dus ter ondersteuning van de energietransitie. Dit is overigens niet de enige transitie waar we ons als 2Solar mee bezig houden.

Van monolith naar de cloud

Toen ik in september ’20 het development team kwam ondersteunen was het grote doel van het team om de legacy software langzaam maar zeker om te bouwen naar microservices.

Microservices zijn kleine instanties die een klein gedeelte van de werking van het grote geheel op zich nemen, bijvoorbeeld een gebruikers-, een Exact-, een autorisatie service etc.

Door gebruik te maken van deze kleine services in de AWS-cloud houden we de kosten laag (de service hoeft niet meer 24/7 aan te staan), kunnen we sneller updates doorvoeren en breken we dus langzamerhand de grote monolith af.

Technieken

Als development team hebben we SCRUM omarmd als methodiek. Zo hebben we als team, ondersteund door 2Solar, een cursus gevolgd met de daarbij behorende certificering. De SCRUM methodiek is vertaald binnen het gebruik van het JIRA bord met diverse lanes. Deze lanes zorgen voor kwalitatief hoge code doordat er bijvoorbeeld altijd een tech review en een QA (Quality Assurance) uitgevoerd wordt. Samen met onze tester proberen we dus onze software zo stabiel en snel mogelijk te houden.

Om de diverse microservices te bouwen gebruiken we diverse technieken. De twee meest gebruikte zijn NodeJS en Laravel. Daarnaast maken we gebruik van Storybook, VueJS, Typescript en Crowdin voor de i18n ondersteuning.

Een ander voordeel van microservices is dat we niet vastgepind zijn op bovenstaande technieken. We proberen altijd per microservice te bepalen welke techniek het beste past. Door deze aanpak krijgen we ook de ruimte om ons te verbeteren in bepaalde technieken, trainingen te volgen en elkaar te helpen. Bij 2Solar vinden we training erg belangrijk en daar krijgen we dus ook de ruimte voor.

Work hard, play hard!

De bovenstaande aanpak biedt veel uitdaging. Maar soms kost deze uitdaging ook wel wat energie. Zo hangt er een bordje bij ons koffiehoekje: Niks keep calm, hop hop gas er op!

Om het gaspedaal soms even wat los te laten gaan we regelmatig met zijn allen leuke dingen doen. Denk hierbij aan uit eten gaan, karten, hackathons, kijken van online conferenties zoals Laracon en organiseert Ramon onze legendarische vrijdagmiddag borrels. Regelmatig organiseren we ook boardgame avondjes. En wat te denken over de jaarlijkse BBQ inclusief een proefpanel van diverse drankjes? Kortom, work hard play hard!

Over Marten

Marten is onderdeel van 2Solars development team als ontwikkelaar en SCRUM master. Al 17 jaar weet hij de beste code te schrijven en hij is lid van de architectuurgroep binnen 2Solar waarin gekeken wordt naar de structuur van de software. Hij ontwikkelt oplossingen en zoekt nieuwe innovaties om de software nog beter te maken. Daarnaast begeleidt hij Jochem in zijn afstudeerstage van HBO-ICT. Regelmatig schrijft hij over wat 2Solar doet en gaat doen vanuit het development team.

2Solar Software zoekt nieuwe developers die willen meebouwen aan onze software! Wil jij Martens nieuwe collega worden?

Check de vacatures hier!