Your SlideShare is downloading. ×
Kinderegget; enklere, billigere og mye raskere
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Kinderegget; enklere, billigere og mye raskere

638
views

Published on

Foredrag 24. oktober: Ark2012 i regi av Dataforeningen. …

Foredrag 24. oktober: Ark2012 i regi av Dataforeningen.
Kinderegget; enklere, billigere og mye raskere
Tormod Varhaugvik, seniorrådgiver, Skatteetatens IT- og servicepartner (SITS)

Hovedmålet med Skatteetatens målarkitektur er endringsevne og forvaltningskost. I kjernen finnes en beregningsarkitektur for skatt og avgift. Beregningskjernen må ha høy endringsevne, full testbarhet, lineær skalering, store datamengder, lang levetid, fleksibel sourcing og massiv spørring 24/7. Vi har en radikal tilnærming og satt sammen en innovativ pakke. Vi tror vi er alene i verden på dette innen offentlig sektor. Hva med 100% funksjonell testdekning, 30% av dagens forvaltningskost, 5% av hardwarekost og 1000 ganger raskere? Presentasjon viser hvordan en drar nytte av Grid teknologi med Java.

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
638
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. ”Kinderegget”;enklere, billigere og mye raskereSoftwaredesign for Grid arkitektur• Hvordan utnytte den nye plattformen?Ark 2012Tormod Varhaugvik, SKD SITS, Oktober 2012tormodv.blogspot.com
  • 2. Utfordringen – Helhet og Fremtidsrettet• Årsversjoner evn e• Helhet r ings End• Selvbetjening Handlingsrom• Store volum Forv altni ngsk• Lang levetid o st• Massiv spørring• Hendelsesdrevet• Designpakke; Domain Driven Design, Tuple Space, CQRS, BASE, SOA, ODS, XML-dokumenter og god gammel JavaSkatteetaten 23.10.2012 2
  • 3. Muligheter • Markedssituasjon, nå og framover • Kompetanse og infrastruktur • Involvere markedet mengde data En som endres samlet Dokument• Flerkjerne CPU• Mange billige standard maskiner• Vi må designe for parallellitet• Skalere ”ut av boksen”• Ikke alle problemer passerSkatteetaten 23.10.2012 3
  • 4. SoftwaredesignSkatteetaten 23.10.2012 4
  • 5. Kompleksitet• Du kan ikke flykte fra kompleksitet• Kan ikke pakkes inn og late som ingenting• Kompleksitet har ett omfang, og det må holdes samlet• Testbarhet, testbarhet og testbarhet• Tas dette feil, vil kompleksiteten komme som en rikosjettSkatteetaten 23.10.2012 5
  • 6. Del opp problemet – ”Aggregate design”Nøkkel-objekt Nøkkel-objektTydelig tilgang,konsistens og root” ”Aggregate Informasjoninnkapsling kan ikke sees C på alene! B Oppførsel må A også med… Nå har vi 3 •God innkapsling er egentlig bare god softwaredesign dokumenter. •God tjenesteorientering Eks. Lønn, Saldo •Det gir forvaltbare og testbare komponenter og Selvangivesle •Der gir uavhengige informasjonsmengder •Uavhengighet gir parallellitet Skatteetaten 23.10.2012 6
  • 7. Grid arkitektur: Monster minne AMinne og prosessering som Key Value omfatter flere maskiner Disklager i bakkant B Key Value Applikasjon C Key Value• Frikoble fra datalaget• Sammensetting skjer i Applikasjon• Forretningslogikk skjer i Applikasjon• Nøkkelobjektet kan være sammensatt• Applikasjon er upåvirket av volum og krav til svartid• Big Data Skatteetaten 23.10.2012 7
  • 8. Lagringsarkitektur - Dokument• Tenke Aggregat-design (info+use)• Forretningslogikk styrende• Endringsevne og testbarhet• Robust, konsistent og skalerbar• Redusert I/O og mindre låsing Superdokument• Superdokument <hode/>• Alle dokumenter har skjema <prosess/>• Hva med funksjoner på tvers av <aggregat/> aggregater/dokumenter? <beslutning/>• Søkemotor <avvik/> <logg/> http://tormodv.blogspot.com/2011/02/document-store-for-enterprise.htmlSkatteetaten 23.10.2012 8
  • 9. SkattedomeneSkatteetaten 23.10.2012 9
  • 10. Helhetlig skatteprosess• Enhetlig prosessering rundt ett stort datalager• Dyrker forretningsmessig likhet• Løpende saksbehandling• Skille funksjonalitet fra informasjon• Skille informasjonen fra hverandre• Skille funksjonalitet fra hverandre• Skille funksjonalitet fra infrastruktur• Unik eier av informasjon• Tenk massivt arkiv med dokumenter• … hvor vedtakene ligger utenfor• Testbar = Forvaltbar• Essensiell kompleksitet er nå innkapsletSkatteetaten 23.10.2012 10
  • 11. XML dokumentstruktur id, Nøkkel til tidspunkt, Hode gjelder, tilstand [privat, åpen, fjernet, erstattet] dokumentet rapportert av, erstatter skjematype, gyldighetsperiode [inntektsår, datoperiode], fase [prognose, PSA, levert, fastsatt, klage] Lik for alle Sak versjon tilstand [ny, behandles, ferdig ] post2.1.1 Tilstand på Selv- text Selvangivelsenangivelse verdi ref Id post3.1.12.7 Spesifikk pr … post5 skjematype Selvangivelsen Avvik avvikbeskrivelse gjelderPoster brukernavn Logg tidspunkt hendelse begrunnelse Lik for alle endredePoster Skatteetaten 23.10.2012 11
  • 12. Proof of conceptSkatteetaten 23.10.2012 12
  • 13. Realiserbart!• Erfaring med Smalltalk viste meget stor effektivitet når man kunne ha forretningslogikk horisontalt • Ekte objektorientering • Lekker og veldikeholdbar kode (DSL) • Kommer langt med en enkel programmeringsmodell• Erfaring med domene-orientert distribuert system viser at meldinger til sammen bygger opp ett system • En Moduls data kan bygges opp ”fra ingenting” • Fikk kontroll på datamodellen og forretningshendelser • Dokumentene er grensesnitt mellom Modulene • En stor datamodell kan (og bør) deles opp i Aggregater• Likhet med Finans og Gambling er slående • Det John Davies / Cameron Purdy har messet om lenge!Skatteetaten 23.10.2012 13
  • 14. Proof of Concept mål• Enkel; ved at regler, informasjon og prosess er tettest opp mot forretningsbegrep• Testbar; ved at moduler lar seg teste hver for seg i en tydelig verdikjede• Skalerbar; ved at volum og svartider lar ? seg løse ved kjøp av mer hardware, og ikke igjennom å skrive om regler, informasjon eller prosess http://tormodv.blogspot.com/2011/09/tax-norways-proof-of-concept.htmlSkatteetaten 23.10.2012 14
  • 15. Kjøremiljø• Alle noder er funksjonelt like • Flokkoppførsel• Hver node har sin andel data • Elastisitet, omkonfigurasjon • Skattefamilie samlokalisert • Overvåkning (teknisk)• ”Grid” skjermer teknisk kompleksitet • Konsistens (funksjonelt) (partisjonering, søk, jobber, redundans, overflow, lagring, failover, indekser, med mer.) • ”Rett på jernet”, ikke virtualiser• Transparent for logikken • Hva hvis strømmen går? Maskin (server) Maskin (server) Maskin (server) Grid-node (JVM) Grid-node (JVM) Grid-node (JVM) PSA PSA PSA Saldo- og rentemeldinger Saldo- og rentemeldinger Saldo- og rentemeldinger Lønns- og trekkoppgaver Lønns- og trekkoppgaver Lønns- og trekkoppgaver Skattefamilie Skattefamilie Skattefamilie Skatteetaten 23.10.2012 15
  • 16. Estimert fullskala produksjon• 28.000 Selvangivelser i sekundet (ca 3 minutter)• 56.000 Skatteberegninger i sekunder (ca 90 sekunder) • 5.100.000 Selvangivelse & Skatt og Skattekort • 80.000.000 Grunnlagsdata & Underskjemaer • 120 Gb RAM netto • 370 Gb RAM brutto med 1x redundans og indekser • 12 Servere (Intel i7) a 32 Gb • Last av XML fra fil: 6000tps => 5 timer• Ekstrem ytelse ikke så viktig i seg selv, men gir handlingsrom• Kost ca 400.000 i servere og 1 million i lisens• Forretningsnær og vedlikeholdbar kode kan yte sykt bra http://tormodv.blogspot.com/2012/01/tax-norways-poc-results.htmlSkatteetaten 23.10.2012 16
  • 17. Softwaredesign er gull• Ta det på alvor, det er lov å tenke seg om• Fysiske lover kan ikke knekkes, … men ting kan gjøres smart• Isoler foretningslogikk fra teknisk arkitektur• Kompleksitet er din største trussel• Software må skrives om for å dra nytte av ”dette nye i skyen”• Testbarhet, enkelhet og parallellitet går hånd i hånd• Gull også for de som ikke har store datamengder• Frikoble fra tregt datalager Lev deg inn i DDD. POJO er din beste vennhttp://tormodv.blogspot.no/2012/02/module-and-aggregate-design-in-cah.htmlSkatteetaten 23.10.2012 17