Lakeside Faglig Fredag: Trends indenfor softwareudvikling

 

I Lakeside har vi tradition for at afholde interne oplæg et par gange om måneden under titlen “Faglig Fredag”. Denne uges Faglige Fredag var i hænderne på Christian Gasser, og stod i softwareudviklingens tegn. I denne uge så vi således se nærmere på nogle nyere trends indenfor softwareudvikling, herunder microservices, DevOps, continuous development & deployment og fik desuden lidt nyheder fra Java-fronten!

Microservices

“Monolith apps are no more. The age of the monolith is over.” – Sådan lyder det fra IBM i en 2015-blog på deres nye Bluemix-platform. Det nye sort bliver i stedet microservices, der sikrer, at udviklingen bliver mere agil ved at bryde applikationer ned i mindre dele, så det bliver muligt at skalere på funktionsniveau frem for på applikationsniveau. Således undgår man, at hele applikationen skal bygges, testes og deployes når blot en enkelt funktion skal ændres en lille smule. Adrian Cockroft fra Netflix beskriver microservices som “[…] a set of small services with known functionality communicating over a common lightweight API, either HTTP REST API’s or more recently a lightweight messaging protocol”.

Du kan se Adrian Cockrofts egen Slideshare om microservice-arkitektur her:


 

DevOps

DevOps (der er kort for “Development & Operations”) er et udviklingsmindset der pointerer vigtigheden af at udviklere, QA og driften arbejder tæt sammen og kommunikerer løbende. DevOps udspringer af den meget populære agile udviklingsbølge, der i de seneste år har domineret diskursen inden for softwareudvikling. DevOps skal sikre hurtigere og mere agile leverancer i udviklingen, og ultimativt en kortere time-to-market ved at gøre overlevering af del-leverancer og mine releases smertefrie.

“DevOps is the practice of operations and development engineers participating together in the entire service lifecycle, from design through the development process to production support.” – The Agile Admin, “What is DevOps?”

I et DevOps-setup forsøger man derfor at bryde med en fase-inddelt arbejdsgang, hvor udvikling og drift har haft en for lille snitflade. Dette stiller store krav til organisationer, der implementerer denne tilgang, da det medfører nye krav til evaluerings- og feedbackmekanismer mellem divisioner, der hver især er specialiserede indenfor hver deres komplekse domæne. At indføre en DevOps-strategi med succes kræver derfor, at man er i stand til at få sine forskellige afdelinger til at snakke sammen, og måske vigtigst af alt, til at forstå hinanden.

Du kan læse mere om DevOps i TechChrunch’s artikel “What is DevOps?” her: http://techcrunch.com/2015/05/15/what-is-devops/

 

Continuous Delivery & Development

Konceptet/koncepterne Continuous Delivery & Deployment (CD) prædiker præcist hvad man tror – kortere iterationer og flere, mindre releases. Continuous Delivery & Deployment kan anses som et resultat af DevOps- og microservicestankegangene, og er, når alt kommer til alt, mere et mindset end en faktisk metode. Som det også fremhæves i Atlassians blog fra juli 2014, så kommer implementeringen af en CD-tankegang med nogle væsentlige konsekvenser for den organisation og det udviklingsmiljø, man allerede har. Derfor kræver en brug af CD ofte, at man er villig til at investere i ideen til fulde, og ikke springer over hvor gærdet er lavest, da man herved risikerer at vælte det agile flow, og ende med en langsom og rigid udviklingsproces.

“It’s just a shift in thinking about how to design, develop, and deliver software, followed by focused investment on the initiatives required to implement it. Where many organizations falter with their CD transformation is this first step: defining and committing to that investment.” – J. Paul Reed, Atlassian Blogs

Du kan læse hele blogindlægget fra Atlassian her: http://blogs.atlassian.com/2014/07/skeptics-guide-continuous-delivery-part-1-business-case/

 

Nyt fra Java-fronten

Oracle har i forsøg på at vinde indpas i en kommende IoT-virkelighed forsøgt at promovere Java som “[…] the leading IoT-platform” (JavaWorld, 2014). Med Java ME (Micro Edition) forsøger Java således at positionere Java som IoT-udvikleres foretrukne platform. Java ME-edition er udviklet med henblik på at gøre Java Standard-Edition tilgængelig på “embedded devices” med begrænset hukommelse og regnekraft. På det mobile domæne oplever Java også øget anvendelighed gennem RoboVM, der gør det muligt at udvikle Java-apps til det populære iOS. RoboVM oversætter automatisk Java til til native iOS kode, så der ikke er brug for en indbygget oversætter. Løsningen er allerede live, og der eksisterer på nuværende tidspunkt også apps i AppStore, der er lavet med RoboVM, så der er ingen grund til at frygte at dine apps bliver fanget i Apples strenge review-proces.

Du kan læse meget mere om RoboVM her: http://robovm.com/

 

Vil du vide mere?

Ønsker du at vide mere kan du kontakte Christian Gasser på mail chg@lakeside.dk eller telefon +45 2843 3872.

 

 
Bent Bilstrup
Bent Bilstrup
Bent arbejder primært med generel projektstøtte, teknologiundersøgelser og technology roadmapping – dvs. udarbejdelse af ledelsesstrategisk beslutningsgrundlag.