Enkelhet testbarhet og skalerbarhet med grid i skatteetaten

  • 198 views
Uploaded on

Skatteetaten har kjørt en proof-of-concept (PoC) for å vurdere grid-plattform som en del av det framtidige målbildet. Formålet er primært forbedret endringsevne og vesentlig reduserte …

Skatteetaten har kjørt en proof-of-concept (PoC) for å vurdere grid-plattform som en del av det framtidige målbildet. Formålet er primært forbedret endringsevne og vesentlig reduserte forvaltningskostnader; sekundært massiv parallellprosessering. Denne sesjonen tar for seg grid-plattformens sentrale egenskaper og hvilke problemstillinger en grid-applikasjon må håndtere, med eksempler og erfaringer fra PoCen. Spesielt ser vi på hvordan programmeringsmodellen og plattformen tilbyr ekstrem enkelhet og ypperlig testbarhet. Samtidig må man være særlig oppmerksom på områder som aggregat-design, serialisering, versjonering og robusthet. Vi viser også hvordan man kan oppnå lineær skalerbarhet med parallellisert, minnebasert prosessering, inkludert en demo av realistisk skatteberegning fra PoCen.

Relaterte ressurser:
o http://vimeo.com/49367410
o http://www.slideshare.net/tormodv/enkelhet-testbarhet-og-skalerbarhet-med-grid-bakgrunn


More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
198
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
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. ENKELHET, TESTBARHET OG SKALERBARHET MED GRID Proof of Concept Skatteetaten JavaZone 2012 Tormod Varhaugvik og Trond Arve Wasskog 12.09.2012
  • 2. Målsetning
  • 3. Skatteetatens arkitekturavdeling ønsket å gjennomføre Proof of Concept på ny plattform for liknings- og skatteprosessene
  • 4. Overordnet målsetting var å senke forvaltningskostnadene, økeendringsevnen og bygge systemer som i større grad vil svare på fremtidige utfordringer.
  • 5. Primært bevise hypotesen om atinnsamling, fastsetting og skatt- og avgifts-beregning kan bygges vesentlig enklere og gi et enklere vedlikehold.
  • 6. Sekundært bevise hypotesen om at systemene kan bygges for massivparallell-prosessering til en lavere kostnad.
  • 7. Tilnærming
  • 8. Testbarhet
  • 9. Enkelhet
  • 10. Vedlikeholdbarhet
  • 11. Driftbarhet
  • 12. Grid 101
  • 13. Node 1 Node 2 Node 3 A B C D E F
  • 14. Node 1 Node 2 Node 3A D E C B F
  • 15. Node 1 Node 2 Node 3A D E C B F
  • 16. Node 1 Node 2 Node 3 A D E C B F 1 1 11. Kjør distribuert jobb
  • 17. Node 1 Node 2 Node 3 A D E C B F 2 2 21. Kjør distribuert jobb2. Aggreger del-resultat
  • 18. Node 1 Node 2 Node 3A D E C B FB C A F D E
  • 19. Node 1 Node 2 Node 3A D E C B FB C A F D E
  • 20. Node 2 Node 3E C B FA F D EB D C A
  • 21. Node 1 Node 2 Node 3A D E C B F
  • 22. Skatteberegning PoC
  • 23. Prosesserings- Prosesserings- Prosesserings- Prosesserings- Prosessering modul modul modul modul Grid(distribuert cache) Lagring XML XML XML Dokumentdatabase Dokumentdatabase Dokumentdatabase
  • 24. Server Legge (komprimert) Grid-node Java-objekter i griden Beregnet skatt ”Beregn skatt” Generere java-objekerSkattegrunnlag ”Generer SG” Parse XML-filerSaldo- ogFodselsnr rente- Part ”Last S/R” meldinger 08017212345 Person {Navn=”Per”, Partner=”...”, BarnAv=”..”} Dekomprimere 31124698765 Person {Navn=”Arne”, Partner=”...”, BarnAv=”..”}Lønns- og24046934567 trekk- zip-arkiv ”Last LTO’er” Person {Navn=”Anne”, Partner=”...”, BarnAv=”..”} oppgaver 16098745678 Person {Navn=”Lise”, Partner=”...”, BarnAv=”..”} Lese zip-arkiver Parter ”Last parter” fra disk Skattefamilie ”Last skattefamilie”
  • 25. Server Server Grid-node Grid-nodeSaldo- og rente Saldo- og rente ”Last S/R” meldinger meldingerLønns- og trekk Lønns- og trekk ”Last LTO’er” oppgaver oppgaver Parter Parter Parter ”Last parter” Skattefamilie Skattefamilie ”Last skattefamilie”
  • 26. Server Server Grid-node Grid-node Saldo- og rente meldinger Lønns- og trekk oppgaver ParterSkattefamilie Skattefamilie
  • 27. Server Server Grid-node Grid-nodeBeregnet skatt Beregnet skattSkattegrunnlag SkattegrunnlagSaldo- og rente Saldo- og rente meldinger meldingerLønns- og trekk Lønns- og trekk oppgaver oppgaver Parter Parter Skattefamilie Skattefamilie
  • 28. Enkelhet
  • 29. DomeneSpring Batch JPA EJB CDI JTA JSF Spring Java EE Java SE Oracle RDBMS
  • 30. Domene GridJava SE
  • 31. Plain Old Java Objects
  • 32. Map<UUID,Oppgave>
  • 33. MultiTask task = new MultiTask(myCallable, members);ExecutorService executorService = Hazelcast.getExecutorService();executorService.execute(task);Collection results = task.get();
  • 34. Utviklingsarkitektur
  • 35. Enkelhet
  • 36. Sølvkule?
  • 37. Aggregatdesign
  • 38. <<aggregate root>> <<value object>> Leveranse LeveranseId <<aggregate root>> Oppgave <<entity>> Part <<value object>> <<value object>> Avvik PartId
  • 39. Serialisering
  • 40. Source: https://github.com/eishay/jvm-serializers
  • 41. Idempotens
  • 42. JobbInfoLeveranse Oppgave Status = READY FAILED RUNNINGUUID=3xh340b3 ID=17127123908 0..* Status = READY ... SUCCESS... ... Behandle Persistent lager Leveranse Jobb 0 100 000 200 000 300 000 400 000 0 5s 10s 15s 20s
  • 43. Asynkronitet
  • 44. 1400 1200 1000Oppgaver 800 600 Write-through Write-behind 400 200 0 1 2 3 4 Tid
  • 45. Konsistens
  • 46. DEMO
  • 47. Resultater
  • 48. Kjørende løsning for forhåndsutfylt selvangivelse og skatteberegning basert på reelle grunnlagsdata
  • 49. Implementasjon som dekkerskatteregler for 70% av Norges befolkning
  • 50. RESULTAT PSA-GENERERING antall/min 500,000 435,143 450,000 400,000 350,000 287,678 300,000 250,000 200,000 150,000 123,646 100,000 50,000 0 1 2 3 Antall noder
  • 51. Hva betyr det når vi har …?
  • 52. 5 100 000 selvangivelser,skatteberegninger og skattekort ...
  • 53. ...og80 000 000grunnlagsdata og underskjermaer
  • 54. Jo, vi trenger …
  • 55. 370 GB RAM 120 GB RAM netto+ redundans og indekser
  • 56. =12 servereá 32 GB RAM
  • 57. Men da kan vi til gjengjeld ...
  • 58. ... lage selvangivelserfor hele landets befolkning på...
  • 59. 3 minutter
  • 60. ... og gjøreskatteberegningfor alle sammen på...
  • 61. 1,5 minutter
  • 62. ... med en årliginfrastrukturkostnad på 1 400 000,-
  • 63. SPØRSMÅL OG SVAR