Høy ytelse og store data
Morten Udnæs jobber som Java-basert løsnings- og systemarkitekt. Vi spurte han om Java-trender.
Han har sin utdannelse fra Universitetet i Oslo, og har jobbet i it-bransjen siden 1992. Nå jobber han i Miles og har erfaring fra blant annet Provida, Seer og CSC. Ifølge presentasjonen Miles gir av ham, har han solid kompetanse og erfaring som utvikler og arkitekt, og har hatt arkitektansvar i store kompliserte utviklingsprosjekter. Han holder foredrag under Javazone om å ha det moro med grid med HazelCast.
Et par trender han ser i Java-miljøet er grid-teknologi – å prosessere store datamengder i minne, "platform as a service" – selvbetjent oppsett av test- og produksjonsmiljøer og automatisering av deler av utviklingsprosessene.
Kjør i minne
- Det er en økt interesse og bruk av in-memory data grid for å holde på data slik at det kan prosesseres langt raskere enn med database. Dette er også nyttig i tjenestebaserte arkitekturer som ofte må ha kompliserte caching-løsninger eller treg ytelse. Minne er billig, og det er få praktiske problemer med å ha en terabyte database i minne.
- Jeg har hørt innvendinger mot "grid", at begrepet kan ha en dårlig klang?
- Begrepet brukes jo om flere ting i bransjen, men her snakker vi "in-memory grid" som er enkel å sette opp i forhold til eldre grid-konsepter. Det gir deg tilgang til data med én gang uten at du trenger å sette opp noen tradisjonelle relasjonsdatabaser. Og så er det mye billigere. Enklere å lage applikasjoner for, og det blir mindre prosessering. Noe som igjen gir bedre ytelse. Og ytelsen igjen blir mer forutsigbar.
- Det kan høres ut som om du har sansen for dette, ja? Flere trender?
- Du må også få med deg at dette er nyttig i mange sammenhenger, ikke bare HPC (high perfomance computing – red. anm).
- En annen trend er at litt større driftsorganisasjoner har begynt se på muligheten til å tilby in-house plattform-as-a-service-funksjonalitet slik at man for eksempel får selvbetjent oppsett av test- og produksjonsmiljøer. Leverandører som VMware har produkter som kan brukes for intern paas.
Kontinuerlig levering
- Så har mange utviklere økt fokus på "build pipelines" og "continuous delivery". Det vil si automatiserte prosesser som gjør det enkelt å deploye små inkrementelle endringer helt til produksjon med lav risiko fordi man har kontroll på kvalitet og deployment-prosessen. Det som gjenstår å se, er om større organisasjoner tør å adoptere denne praksisen på virksomhetskritiske systemer.
Her ramser Udnæs opp url-er og linker til continuous delivery, Structure 101 – verktøy for visualisering og kontroll av store kodebaser, Graphite for visualisering av "det du måtte ønske" og LXC Linux Containers som skal gi et paravirtualisert VM som er fint å teste særlig ytelse, failover og deployment på. Og mer.