SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
”Kinderegget”;
enklere, billigere og mye raskere
Softwaredesign for Grid arkitektur
• Hvordan utnytte den nye plattformen?
Ark 2012




Tormod Varhaugvik, SKD SITS, Oktober 2012
tormodv.blogspot.com
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 Java

Skatteetaten                                                23.10.2012   2
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 passer

Skatteetaten                                        23.10.2012   3
Softwaredesign




Skatteetaten                    23.10.2012   4
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 rikosjett

Skatteetaten                                              23.10.2012   5
Del opp problemet – ”Aggregate design”

Nøkkel-objekt
    Nøkkel-objekt
Tydelig tilgang,
konsistens og root”
   ”Aggregate                                                 Informasjon
innkapsling                                                  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
Grid arkitektur: Monster minne
                                             A
Minne 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
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.html
Skatteetaten                                                                      23.10.2012   8
Skattedomene




Skatteetaten                  23.10.2012   9
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å innkapslet
Skatteetaten                                        23.10.2012   10
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                                                 Selvangivelsen
angivelse                        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
Proof of concept




Skatteetaten                      23.10.2012   12
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
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.html
Skatteetaten                                                                    23.10.2012   14
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
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.html
Skatteetaten                                                                      23.10.2012   16
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 venn

http://tormodv.blogspot.no/2012/02/module-and-aggregate-design-in-cah.html
Skatteetaten                                                                 23.10.2012   17

Más contenido relacionado

Similar a Kinderegget; enklere, billigere og mye raskere

Enkelhet, testbarhet og skalerbarhet med grid bakgrunn
Enkelhet, testbarhet og skalerbarhet med grid   bakgrunnEnkelhet, testbarhet og skalerbarhet med grid   bakgrunn
Enkelhet, testbarhet og skalerbarhet med grid bakgrunnTormod Varhaugvik
 
Forenkling og framtidsretting hos skatteetaten
Forenkling og framtidsretting hos skatteetatenForenkling og framtidsretting hos skatteetaten
Forenkling og framtidsretting hos skatteetatenTormod Varhaugvik
 
[Norwegian only:] Hvordan skal vi bygge fellesskapets digitale tvilling?
[Norwegian only:] Hvordan skal vi bygge fellesskapets digitale tvilling?[Norwegian only:] Hvordan skal vi bygge fellesskapets digitale tvilling?
[Norwegian only:] Hvordan skal vi bygge fellesskapets digitale tvilling?André Torkveen
 
Monolitter og byggeklosser jon erik solheim - stacc
Monolitter og byggeklosser   jon erik solheim - staccMonolitter og byggeklosser   jon erik solheim - stacc
Monolitter og byggeklosser jon erik solheim - staccJon Solheim
 
Objektorientering og design av kode
Objektorientering og design av kodeObjektorientering og design av kode
Objektorientering og design av kodeRune Sundling
 
Kan vi skape mye mere verdi i softwareporosjekter
Kan vi skape mye mere verdi i softwareporosjekterKan vi skape mye mere verdi i softwareporosjekter
Kan vi skape mye mere verdi i softwareporosjekterThor Henning Hetland
 
Er Amazon EC2 klar for virksomhetskritiske systemer?
Er Amazon EC2 klar for virksomhetskritiske systemer?Er Amazon EC2 klar for virksomhetskritiske systemer?
Er Amazon EC2 klar for virksomhetskritiske systemer?mudnaes
 
Et datadrevet nav uninettdagene 20191112
Et datadrevet nav   uninettdagene 20191112Et datadrevet nav   uninettdagene 20191112
Et datadrevet nav uninettdagene 20191112Tommy Jocumsen
 
Hvordan bygge Big Data - Axel Borge
Hvordan bygge Big Data - Axel BorgeHvordan bygge Big Data - Axel Borge
Hvordan bygge Big Data - Axel BorgeBouvet ASA
 
Mellomvare og integrasjon en innføring i bruk av biz talk hos ikt agder iks
Mellomvare og integrasjon    en innføring i bruk av biz talk hos ikt agder iksMellomvare og integrasjon    en innføring i bruk av biz talk hos ikt agder iks
Mellomvare og integrasjon en innføring i bruk av biz talk hos ikt agder iksAtle Frydenlund
 
Frokostseminar 25.november 2020
Frokostseminar 25.november 2020Frokostseminar 25.november 2020
Frokostseminar 25.november 2020Thorbjørn Værp
 
Kontinuerlig leveransei skatteetatenpart-2
Kontinuerlig leveransei skatteetatenpart-2Kontinuerlig leveransei skatteetatenpart-2
Kontinuerlig leveransei skatteetatenpart-2ilmyggo
 
Inngåelse og oppfølging av it kontrakter
Inngåelse og oppfølging av it kontrakterInngåelse og oppfølging av it kontrakter
Inngåelse og oppfølging av it kontrakterKjell Steffner
 
Splitt og hersk: Fleksibel arkitektur med mikrotjenester!
Splitt og hersk: Fleksibel arkitektur med mikrotjenester!Splitt og hersk: Fleksibel arkitektur med mikrotjenester!
Splitt og hersk: Fleksibel arkitektur med mikrotjenester!Henrik Schwarz
 
2012 – Strøm D - Siri Sundby - Smidig prosjektgjennomføring
2012 – Strøm D - Siri Sundby - Smidig prosjektgjennomføring2012 – Strøm D - Siri Sundby - Smidig prosjektgjennomføring
2012 – Strøm D - Siri Sundby - Smidig prosjektgjennomføringProsjekt 2013
 

Similar a Kinderegget; enklere, billigere og mye raskere (20)

Enkelhet, testbarhet og skalerbarhet med grid bakgrunn
Enkelhet, testbarhet og skalerbarhet med grid   bakgrunnEnkelhet, testbarhet og skalerbarhet med grid   bakgrunn
Enkelhet, testbarhet og skalerbarhet med grid bakgrunn
 
Skalerbare systemer
Skalerbare systemerSkalerbare systemer
Skalerbare systemer
 
Forenkling og framtidsretting hos skatteetaten
Forenkling og framtidsretting hos skatteetatenForenkling og framtidsretting hos skatteetaten
Forenkling og framtidsretting hos skatteetaten
 
Ta styringen!
Ta styringen!Ta styringen!
Ta styringen!
 
Aws på kartet - 2
Aws på kartet - 2Aws på kartet - 2
Aws på kartet - 2
 
[Norwegian only:] Hvordan skal vi bygge fellesskapets digitale tvilling?
[Norwegian only:] Hvordan skal vi bygge fellesskapets digitale tvilling?[Norwegian only:] Hvordan skal vi bygge fellesskapets digitale tvilling?
[Norwegian only:] Hvordan skal vi bygge fellesskapets digitale tvilling?
 
Monolitter og byggeklosser jon erik solheim - stacc
Monolitter og byggeklosser   jon erik solheim - staccMonolitter og byggeklosser   jon erik solheim - stacc
Monolitter og byggeklosser jon erik solheim - stacc
 
Objektorientering og design av kode
Objektorientering og design av kodeObjektorientering og design av kode
Objektorientering og design av kode
 
Kan vi skape mye mere verdi i softwareporosjekter
Kan vi skape mye mere verdi i softwareporosjekterKan vi skape mye mere verdi i softwareporosjekter
Kan vi skape mye mere verdi i softwareporosjekter
 
Er Amazon EC2 klar for virksomhetskritiske systemer?
Er Amazon EC2 klar for virksomhetskritiske systemer?Er Amazon EC2 klar for virksomhetskritiske systemer?
Er Amazon EC2 klar for virksomhetskritiske systemer?
 
Et datadrevet nav uninettdagene 20191112
Et datadrevet nav   uninettdagene 20191112Et datadrevet nav   uninettdagene 20191112
Et datadrevet nav uninettdagene 20191112
 
Hvordan bygge Big Data - Axel Borge
Hvordan bygge Big Data - Axel BorgeHvordan bygge Big Data - Axel Borge
Hvordan bygge Big Data - Axel Borge
 
Mellomvare og integrasjon en innføring i bruk av biz talk hos ikt agder iks
Mellomvare og integrasjon    en innføring i bruk av biz talk hos ikt agder iksMellomvare og integrasjon    en innføring i bruk av biz talk hos ikt agder iks
Mellomvare og integrasjon en innføring i bruk av biz talk hos ikt agder iks
 
Semantisk integrasjon
Semantisk integrasjonSemantisk integrasjon
Semantisk integrasjon
 
Frokostseminar 25.november 2020
Frokostseminar 25.november 2020Frokostseminar 25.november 2020
Frokostseminar 25.november 2020
 
Kontinuerlig leveransei skatteetatenpart-2
Kontinuerlig leveransei skatteetatenpart-2Kontinuerlig leveransei skatteetatenpart-2
Kontinuerlig leveransei skatteetatenpart-2
 
Inngåelse og oppfølging av it kontrakter
Inngåelse og oppfølging av it kontrakterInngåelse og oppfølging av it kontrakter
Inngåelse og oppfølging av it kontrakter
 
Splitt og hersk: Fleksibel arkitektur med mikrotjenester!
Splitt og hersk: Fleksibel arkitektur med mikrotjenester!Splitt og hersk: Fleksibel arkitektur med mikrotjenester!
Splitt og hersk: Fleksibel arkitektur med mikrotjenester!
 
Bbs Tjueprosent Nosql
Bbs Tjueprosent NosqlBbs Tjueprosent Nosql
Bbs Tjueprosent Nosql
 
2012 – Strøm D - Siri Sundby - Smidig prosjektgjennomføring
2012 – Strøm D - Siri Sundby - Smidig prosjektgjennomføring2012 – Strøm D - Siri Sundby - Smidig prosjektgjennomføring
2012 – Strøm D - Siri Sundby - Smidig prosjektgjennomføring
 

Más de Tormod Varhaugvik

Software 2020 tormod varhaugvik digitalisering med informasjonskart
Software 2020 tormod varhaugvik digitalisering med  informasjonskartSoftware 2020 tormod varhaugvik digitalisering med  informasjonskart
Software 2020 tormod varhaugvik digitalisering med informasjonskartTormod Varhaugvik
 
Making Enterprise Architecture Succeed at Tax Norway
Making Enterprise Architecture Succeed at Tax NorwayMaking Enterprise Architecture Succeed at Tax Norway
Making Enterprise Architecture Succeed at Tax NorwayTormod Varhaugvik
 
Equity - Transparent and Live Risk Assessment
Equity - Transparent and Live Risk AssessmentEquity - Transparent and Live Risk Assessment
Equity - Transparent and Live Risk AssessmentTormod Varhaugvik
 
Tjenesteorientering og distribuerte systemer
Tjenesteorientering og distribuerte systemerTjenesteorientering og distribuerte systemer
Tjenesteorientering og distribuerte systemerTormod Varhaugvik
 
Massivt skalerbar skatteberegning
Massivt skalerbar skatteberegningMassivt skalerbar skatteberegning
Massivt skalerbar skatteberegningTormod Varhaugvik
 

Más de Tormod Varhaugvik (6)

Software 2020 tormod varhaugvik digitalisering med informasjonskart
Software 2020 tormod varhaugvik digitalisering med  informasjonskartSoftware 2020 tormod varhaugvik digitalisering med  informasjonskart
Software 2020 tormod varhaugvik digitalisering med informasjonskart
 
Digitalisering i sneglefart
Digitalisering i sneglefartDigitalisering i sneglefart
Digitalisering i sneglefart
 
Making Enterprise Architecture Succeed at Tax Norway
Making Enterprise Architecture Succeed at Tax NorwayMaking Enterprise Architecture Succeed at Tax Norway
Making Enterprise Architecture Succeed at Tax Norway
 
Equity - Transparent and Live Risk Assessment
Equity - Transparent and Live Risk AssessmentEquity - Transparent and Live Risk Assessment
Equity - Transparent and Live Risk Assessment
 
Tjenesteorientering og distribuerte systemer
Tjenesteorientering og distribuerte systemerTjenesteorientering og distribuerte systemer
Tjenesteorientering og distribuerte systemer
 
Massivt skalerbar skatteberegning
Massivt skalerbar skatteberegningMassivt skalerbar skatteberegning
Massivt skalerbar skatteberegning
 

Kinderegget; enklere, billigere og mye raskere

  • 1. ”Kinderegget”; enklere, billigere og mye raskere Softwaredesign for Grid arkitektur • Hvordan utnytte den nye plattformen? Ark 2012 Tormod Varhaugvik, SKD SITS, Oktober 2012 tormodv.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 Java Skatteetaten 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 passer Skatteetaten 23.10.2012 3
  • 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 rikosjett Skatteetaten 23.10.2012 5
  • 6. Del opp problemet – ”Aggregate design” Nøkkel-objekt Nøkkel-objekt Tydelig tilgang, konsistens og root” ”Aggregate Informasjon innkapsling 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 A Minne 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.html Skatteetaten 23.10.2012 8
  • 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å innkapslet Skatteetaten 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 Selvangivelsen angivelse 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
  • 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.html Skatteetaten 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.html Skatteetaten 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 venn http://tormodv.blogspot.no/2012/02/module-and-aggregate-design-in-cah.html Skatteetaten 23.10.2012 17