skalerbare systemer

49
1 Skalerbare systemer – Modellering for skalerbarhet Tormod Varhaugvik, SITS-IS-UTV Juni 2010

Upload: tormod-varhaugvik

Post on 02-Jul-2015

509 views

Category:

Technology


3 download

DESCRIPTION

Presentasjonen inneholder en oppsummering av egenskaper ved store skalerbare systemer, og deres egnethet i målarkitekturen til Skatteetaten.

TRANSCRIPT

Page 1: Skalerbare systemer

1

Skalerbare systemer –Modellering for skalerbarhet

Tormod Varhaugvik, SITS-IS-UTVJuni 2010

Page 2: Skalerbare systemer

2

29.02.2012Skatteetaten – Skalerbare systemer 2

Bakgrunn

•Store systemer behandler store mengder data og logikk på de•Kompleksiteten er svært stor

•,og den har vokst seg inn i løsningene over tid•både funksjonelle krav •og ikke funksjonelle krav

•Hva er essensiell kompleksitet?•Skatteberegning / Avgiftsberegning / Renteberegning / Klassifisering

•Hva er inngrodd kompleksitet?•Beslutninger over tid / For store systemer / Mangel på struktur

•Tjenesteorientering er en del av basisen•Bevisst valg av arkitektur er med på å redusere kompleksitet•Arkitekturen er kompleks (for å redusere kompleksitet i det vi lager)

Beskrive hvordan man i samme logikk henter informasjon og sjekker ting underveis+++

Mangel på struktur er både del-systemer med data og prosesser

Page 3: Skalerbare systemer

3

29.02.2012Skatteetaten – Skalerbare systemer 3

Bakgrunn

•Tjenesteorientering – splitt og hersk•Organisatorisk•Funksjonelt•Teknisk Vi skal se på denne!

Med oppetid menes at systemet skal kunne ha ”fail-over” i tilfelle feil, men også at systemet skal være tilgjengelig ved høy last

Alle disse kan sorteres ut ved å se på systemet faktisk skal levere for hvem.Ved å dele opp i forskjellige funksjoner vil man kunne se konturene av forskjellige komponenter i arkitekturenNoe nedetid val man self ha, men det går ann å minimere det.

Page 4: Skalerbare systemer

4

29.02.2012Skatteetaten – Skalerbare systemer 4

Disposisjon

•Hvorfor – Krav og drivere•Hva – Egenskaper ved store systemer•Hvordan – Designe systemene for parallellitet•Med hva – Verktøy•Hva med oss?

Page 5: Skalerbare systemer

5

29.02.2012Skatteetaten – Skalerbare systemer 5

Drivere - Krav

•”Gjøre mer med mindre”

•Fange data og behandle de når det skjer•Selvbetjening – slipp publikum inn•Automatisering

•Dele ressurser•Dele på den samme maskinvare•Virtualisering, men på hvilket nivå?

•Oppetid•Systemet skal være tilgjengelig

•Endringsevne•Endringer skal i stor grad gjøres uten å miste oppetid•La andre kunne komme seg inn i ”koden”

Selvbetjening innebærer også mye blottlegging

Med oppetid menes at systemet skal kunne ha ”fail-over” i tilfelle feil, men også at systemet skal være tilgjengelig ved høy last

Alle disse kan sorteres ut ved å se på systemet faktisk skal levere for hvem.Ved å dele opp i forskjellige funksjoner vil man kunne se konturene av forskjellige komponenter i arkitekturenNoe nedetid val man self ha, men det går ann å minimere det.

Page 6: Skalerbare systemer

6

29.02.2012Skatteetaten – Skalerbare systemer 6

Drivere - Teknisk

•Flerkjerne CPU•Hastighet møter veggen•Vanskeligere å få det mindre•Flere kjerner i samme CPU presser på

•Mange små bokser små… (standardisering)•Lett tilgjengelig og mye billigere•Unix / linux ruler•Fleksibilitet – begynne i det små, skalere etter hvert•Facebook har 10.000 vis av servere•50 millioner transaksjoner i sekundet…•10’talls terrabyte med RAM

•Compute-grid•Billigere RAM•Mange servere kan dele felles minne

•De største framskritt i prosessering ligger på algoritmer og ikke i HW•Parellellitet: Generelle algoritmer i dag klarer kanskje 20%

Page 7: Skalerbare systemer

7

29.02.2012Skatteetaten – Skalerbare systemer 7

Drivere - Teknisk

Page 8: Skalerbare systemer

8

29.02.2012Skatteetaten – Skalerbare systemer 8

Hva består skyen av?

Page 9: Skalerbare systemer

9

29.02.2012Skatteetaten – Skalerbare systemer 9

Drivere - arkitektur

•Arkitekturen gir nye muligheter•Lagdeling•Komponenter •Spesialisering•Standardisering

•Etablert praksis for god design•Presentasjonslag•Forretningslogikk•Data•-> Så kan man spørre seg: Men har vi ikke det da?•-> De skal være uavhengig fordi de skal behandles forskjellig

•Så da er det bare på plassere funksjonalitet i sine spesialiserte komponenter!

Standadisering og erfaringer har gitt arkitekturkomponenter som avlaste

Page 10: Skalerbare systemer

10

29.02.2012Skatteetaten – Skalerbare systemer 10

Drivere - Space Based Arhitecture

What is a Processing Unit:• Bundle of services, data, messaging

• Collocation into single VM

• Unified Messaging & Data

• In-Memory

Cloud of Processing Units• Scale through

Partitioning

• Virtualized middleware

What is a Space:

• Elegant – 4 API

• Solves:

• Data sharing

• Messaging

• Workflow

• Parallel processing

Space-Based Architecture (SBA) is a software architecture pattern for achieving linear scalability of stateful, high-performance applications, based on Yale’sTuple-Space Model (Source Wikipedia)

Hvi det ikke paser inn i Yale’s modell så får man finne på noe annet.

Page 11: Skalerbare systemer

11

29.02.2012Skatteetaten – Skalerbare systemer 11

Drivere - utfordring

•For å utnytte dette må vi dele opp problemet slik at det:•Passer med lagene i arkitekturen•Utnytter standarder•Finne datasett og funksjoner som kan håndteres hver for seg

•Kan håndteres i parallell•Funksjonelt er lettere å forstå

•Skattyterfamilien

•Mål:•Endringsfleksibilitet•Tilgjengelighet•Oppetid•Utnytter plattformen (HW/SW) mer effektivt

Page 12: Skalerbare systemer

12

29.02.2012Skatteetaten – Skalerbare systemer 12

Disposisjon

•Hvorfor – Krav og drivere•Hva – Egenskaper ved store systemer•Hvordan – Designe systemene for parallellitet•Med hva – Verktøy•Hva med oss?

Page 13: Skalerbare systemer

13

29.02.2012Skatteetaten – Skalerbare systemer 13

Egenskaper for store systemer

•Masse data•Mange funksjoner og regler•Mange brukere•Mange interessenter•Mange perspektiv•Distribuert•Heterogent•----------------------•Alt passer ikke i den samme bøtta•Den guddommelige silo finnes ikke•Tjenesteorientering har mye av svaret•Tid er vanskelig

•Alt er egentlig i fortid, så hvordan skal vi håndtere det?•I mellomtiden kan du banne på at det har skjedd noe

Page 14: Skalerbare systemer

14

29.02.2012Skatteetaten – Skalerbare systemer 14

En verden av tid og rom

• Nettbutikk

Eksempel på tidDet tar 3-5 sekunder fra lageret har sagt hvor mye som er det.ens brukeren bestemmer segså har noen andre kjøpt noe…Brukeren kan ikke holde på en lø helt inn i lageret

Dette må man rett og slett håndtere!

Page 15: Skalerbare systemer

15

29.02.2012Skatteetaten – Skalerbare systemer 15

Verden av tid og rom

• Skatt; Vi er aldri konsistent med omverdenen

måneder og dager før dette er riktig

Vår prosessering

Si litt om Altinn også. Det kan ta inntil 2 døgn før vi har data i husVi kan hende å behandle data som allerede er feil (det er mer i pipeline på vei inn)

Forsinkelser mellom våre systemer også.

Vi forholder oss til ett snapshot av verden

Page 16: Skalerbare systemer

16

29.02.2012Skatteetaten – Skalerbare systemer 16

ACID

•Kjære egenskaper ved databaseløsninger•Dette har med endring av tilstand og tid å gjøre, med samtidige hendelser (transaksjoner)

•Databaseteori kalles dette ”Serialiserbarhet”

Hvis noe feiler skal det forbli konsistentRobustDurability

En transaksjon skal gjennomføres som om ingenting annet skjer

IsolertIsolation

Resultatet er konsistentKonsistentConsistency

Transaksjonen er en enhet, alle eller ingenAtomærAtomicity

Page 17: Skalerbare systemer

17

29.02.2012Skatteetaten – Skalerbare systemer 17

BASE

•BASE passer bedre for store systemer

•Splitt og hersk•Det handler om å ha kontroll (over det distribuerte systemet)•Global serialiserbarhet

Ha kontroll over systemene slik at vi kan garantere et det blir konsistent

Eventually-Consistent

Tilstand (på person) mellom to systemer er løsrevet. Innad riktig men til tider ikke i mellom

Soft State

Systemet skal i hovedsak være tilgjengelig, som følge av feil eller av oppgraderinger

Hovedsakelig tilgjengelig

BasicallyAvailable

BA – Det betyr at noen deler av systemer kan ha ekstrem oppetid, mens andre tar dette litt mer med ro. Hensikten er å dele opp slik at det blir håndterbartEC – i de systemene vi snakker om er det sekunder mellom at tilstand blir propagert inn i systemene. Vi bestemmer selv hvo fort sette skal gå.

Page 18: Skalerbare systemer

18

29.02.2012Skatteetaten – Skalerbare systemer 18

CAP kompromiss

•Teoremet sier at det er umulig for et distribuert system å ha alle tre•Prinsippet er teknisk og går på at du maks kunne tilby 2

Funksjoner kan utføres selv om noder i systemet er nede. Distribuert robusthet

Partition-Tolerance

Funksjoner skal kunne utføres slik de er tiltenktTilgjengeligAvailability

Funksjoner skal legge fra seg en konsistent tilstandKonsistentConsistency

•Fra samtidighet til samhandling? (concurrent to concurring)•ACID sprekker i store sammenhenger•Enkeltsystemer eller komponenter må gjerne ha ACID

CAP - Det er faktisk bevist at det er slik (se wikipedia)

Page 19: Skalerbare systemer

19

29.02.2012Skatteetaten – Skalerbare systemer 19

Disposisjon

•Hvorfor – Krav og drivere•Hva – Egenskaper ved store systemer•Hvordan – Designe systemene for skalerbarhet•Med hva – Verktøy•Hva med oss?

Page 20: Skalerbare systemer

20

29.02.2012Skatteetaten – Skalerbare systemer 20

God design - lagdeling

•Lagdelt design har vært kjent lenge•Disse var til å begynne med drevet av å lage systemer som var lettere åforstå og å forvalte

•Har etter hvert også vist seg nyttig for skalerbarhet

•Lagene deler applikasjonen opp etter funksjoner

View

View model

Business

Data

Page 21: Skalerbare systemer

21

29.02.2012Skatteetaten – Skalerbare systemer 21

God design - lagdeling

•Disse kan skaleres opp slik at•lasten kan fordeles•bedre oppetid•endringsfleksibilitet

•Horisontal skalering – flere maskiner

•Vertikal skalering – flere prosesser / tråder

•Fremskutte cache’r

•Dette tar kapasiteten ett stykke videre, men før eller siden møtes de i databasen

App

Web

AppApp

WebWebWeb

Proxy

Page 22: Skalerbare systemer

22

29.02.2012Skatteetaten – Skalerbare systemer 22

Tilstand skalerer ikke

•Databasen holder tilstand og har sverget på ACID•Jo mer som puttes i en og samme database, jo tøffere jobb har den med å beholde tilstand

•Vi må dele opp dataene slik at de kan håndteres hver for seg•Uavhengige data kan prosesseres i parallell•Optimalt ønsker vi å dele

•funksjonene i lag•dataene i partisjoner eller komponenter

•Lineær skalering betyr at•doble cpu eller ekstra tråd -> behandle dobbelt så mye

•Målet er uavhengige systemer som samarbeider

Det må ikke missforstås med at det er en sentral database med partitionoing: Fremdeles en og samme databasemotor som skal håndtere det hele.

Page 23: Skalerbare systemer

23

29.02.2012Skatteetaten – Skalerbare systemer 23

Hva er lineært?

•Vi ønsker lineær egenkaper•En gruppe problemer kalles ”NP-komplette”

•det er kjent at disse absolutt ikke skalerer•for eksempel: alle venners venner, korteste vei, hva passer best i sekken•Relasjons joinen…

•1000x1000 går bra, 1000000x1000000 vil aldri svare•Fantastisk fleksibel, men skummel ytelsesmessig

•Den funksjonalitet vi lager skal ha en lineær funksjon•Men da må dataene også modelleres slik at de passer formålet

•Alle med basis IT utdanning har hatt ”Algoritmer og datastrukturer”•så la oss bruke det!

NP - Non-Polynomial in Time Complete

Page 24: Skalerbare systemer

24

29.02.2012Skatteetaten – Skalerbare systemer 24

Designe for ytelse / pallellitet

•Hva skal dataene brukes til?•Innkapsling og tjenesteorientering

•Det som ble gjennomgått ifbm. ”Hva er god tjenesteorientering?”•Skille primær produkt, mot mer sekundære produkter

•Beregn skatt•… ikke tilrettelegging for annen bruk

•Kø-modellering•I stedet for å tenke data, kan man tenke hva som skal behandles hver for seg

•Trinnvis tilrettelegging av data•Prosessering går ofte i en verdikjede, og da kan man legge opp passelige mellomprodukter (aka. likningsutkast)

•Spesialisering og masterdata

Køer gir tydelige grensesitt, løskobling, tydelige grenser mellom moduler. Letter også testbarhet

Page 25: Skalerbare systemer

25

29.02.2012Skatteetaten – Skalerbare systemer 25

Eksempler: Facebook, yr.no

Cache

Tekst

Tilrettelegg

Sett sammen

Tilrettelegg

Tilrettelegg

Sett sammen

Sett sammen

Sett sammen

StrukturBilder x4

Løpende tilretteleggingAsynkront, bygger opp webside ”etter hvert”, ting joines først på”din side”.400 millioner brukereVenners venner er vanskelig…

Page 26: Skalerbare systemer

26

29.02.2012Skatteetaten – Skalerbare systemer 26

Eksempel bwin.com

Poker

Roulette

Betting

?

Spill-logg == fasit

Viktigste egenskap er tilgjengelighet og

ytelse

Hver eneste transaksjon slik den

ble utført; og av hvem. Identifisering er viktig

OppgjørReskontro

Analyse og bedrageri

Regler (land, person)

Styreparametere(VIP, stopp)

Styreparametere Rapportering

Business Intelligence

Spillehistorikk

Person

Spillebord

Kan når som helst regenerere

akkumulerte data som følge av endringer i logikk eller feilretting

Forskjellige komponenter bearbeider og

tilrettelegger data

Viktigste egenskap er fleksibilitet og

korrekthet

Oppgjør

Page 27: Skalerbare systemer

27

29.02.2012Skatteetaten – Skalerbare systemer 27

Eksempel - kømodellering

Transaksjon

Se hvordan du ligger an på tid. Hopp evt over.

Page 28: Skalerbare systemer

28

29.02.2012Skatteetaten – Skalerbare systemer 28

Disposisjon

•Hvorfor – Krav og drivere•Hva – Egenskaper ved store systemer•Hvordan – Designe systemene for skalerbarhet•Med hva – Verktøy•Hva med oss?

Page 29: Skalerbare systemer

29

29.02.2012Skatteetaten – Skalerbare systemer 29

Verktøy - prinsipper

•Endringskapasitet•Alle løsningers funksjonalitet skal være fleksible nok til å kunne følge forventede endringer i samfunnet og i etatens tjenester innen rimelig tid og prisramme.

•Gjenbruk•Gjenbruk skal prioriteres, både ved å velge allerede gjenbrukbar funksjonalitet ovenfor ny utvikling/anskaffelse og ved å investere i gjenbrukbarhet ved utvikling/anskaffelse av ny funksjonalitet.

•Livsløp•Ved utvikling og anskaffelser skal gevinst- og kostnadsbildet ta høyde for helheten i SKEs systemportefølje, hele livsløpsbildet for løsningen, samt de ikke-funksjonelle kravene.

Page 30: Skalerbare systemer

30

29.02.2012Skatteetaten – Skalerbare systemer 30

Java så klart! – Sitat Oracle

•Java, including Java Platform, Enterprise Edition (Java EE), has become the platform of choice for mission-critical applications for a number of important reasons:

•Java is the premier platform for cutting-edge Web services, clustering, and grid technologies — all vital to today’s competitive landscape.

•Substantial standardized infrastructure is available for building, deploying, and managing Java-based applications.

•There is a large pool of professionals available to build and support Java-based systems.

•Almost every new component, library, and application has an API availablefor Java.

•Java provides an unprecedented number of flexible deployment options —more than any other software platform — including the ability to upgradeapplications and services without downtime; the flexibility to implementphased transitions, such as the transition from big iron and UNIX servers to scale-out, commodity hardware; and support on every major server hardware platform and operating system.

Objektorientering og standarddisering samt VM

Page 31: Skalerbare systemer

31

29.02.2012Skatteetaten – Skalerbare systemer 31

Konteiner

•En konteiner er en standardisert arkitekturramme som inneholder forretningslogikk

•En konteiner tilbyr standard infrastruktur slik at forretningslogikken kan rendyrkes

•Infrastrukturtjenester:•Minne•Tråder•Sikkerhet •Feilhåndtering / Exceptions•Transaksjoner•Ressurser (filer, køer, databaser)

•Konteiner er rundt beskrevet, mye av mulighetene ligger også i bruk av standardiserte komponenter

•Arkitekturprinsippet Inversion of Control (IoC) er en premiss

Page 32: Skalerbare systemer

32

29.02.2012Skatteetaten – Skalerbare systemer 32

Konteiner - kjøremiljø

•Det finner mange slags konteinere, spesialiserte for sine formål•En konteiner kan deployes i vidt forskjellige kjøremiljøer•En Applikasjons-tjener eller web-tjener gir kjøremiljø•En konteiner har kjøre parametere som kalles deployment-descriptor•Deployment-descriptoren tilpasses kjøremiljøet (utv, test prod)

•forretningslogikken er uforandret•Ved å strukturere forretningslogikken i det små, kan de deployes over i det virkelig store

•I det små på din PC i samme VM med lite testdata•I det mellomstore med tjenestene på bussen•I det store i ”skyen” hvor tjenestene og bussen kjører der

Page 33: Skalerbare systemer

33

29.02.2012Skatteetaten – Skalerbare systemer 33

Dynamisk skalering / oppetid / lastbalansering

Krav og policys rundt svartid og type forespørsel.Nye tas opp eller stenges ned etter behovNye versjoner startes gradvis

App

App

App

App

Ta i mot, sorter og

route

Forespørsler

Page 34: Skalerbare systemer

34

29.02.2012Skatteetaten – Skalerbare systemer 34

Eksempel - cache

Kan ta alle data i db og legge ut, men logikken er desverre sylta inn i databasen

Page 35: Skalerbare systemer

35

29.02.2012Skatteetaten – Skalerbare systemer 35

Eksempel – Replikert cache

GSCGSC

Replication

Partition 1-BackupPartition 1-Primary

GSCGSC

Replication

GSCGSC

Replication

Partition 2-BackupPartition 2-Primary

Partition 3-BackupPartition 3-Primary

Page 36: Skalerbare systemer

36

29.02.2012Skatteetaten – Skalerbare systemer 36

Eksempel – Replikert cache

• Routing basert på skattyter/familie• Spørring – ”Map – Reduce”

Writer

Reader

GSCGSC

Replication

Partition 1-BackupPartition 1-Primary

GSCGSC

Replication

GSCGSC

Replication

Partition 2-BackupPartition 2-Primary

Partition 3-BackupPartition 3-Primary

Page 37: Skalerbare systemer

37

29.02.2012Skatteetaten – Skalerbare systemer 37

Funksjoner

•Dette er basis-operasjonene for å hente, utveksle og å lagre informasjon

•Read/write er db•Take/Notify er kø

•Take 1:1•Notify 1:n

Write TakeTake

Write

Read

Take

Notify

Page 38: Skalerbare systemer

38

29.02.2012Skatteetaten – Skalerbare systemer 38

XML – Dokumentsentrisk

•Ingen join!•1 til 1 med funksjonalitet•Tilrettelagte data•Master, komponenten eier sine data•Versjoner•Uavhengige data•Tydelige definisjon (xsd - XML Schema Definition)•Settes sammen lengre opp i lagene

•Ulemper:•Vanskelig med å se ting på tvers av hierarkisk struktur

Men her kommer dette med løpende tilrettelegging inn

Page 39: Skalerbare systemer

39

29.02.2012Skatteetaten – Skalerbare systemer 39

Prosessflyt

•Skill •Utvalg •Behandling•Levere resultat

•Trinnvis berikelse•Forenklet totalprosess•Man går ikke i butikken for å handle mens man lager mat!

Skill: gir løs koblingbedrer testbarhet betraktelig

Page 40: Skalerbare systemer

40

29.02.2012Skatteetaten – Skalerbare systemer 40

Design for de ikke-funksjonelle krav

•Vær edruelig mhp. krav•Ikke alle løsninger trenger kompleks arkitektur•Både funksjonelle og ikke-funksjonelle krav koster•Unødvendig funksjonalitet er dyrt•Unødvendig komplekse løsninger er dyrt

•Sentrale arkitekturbeslutninger bør analyseres nøye•… de setter spor•I ukjent terreng er en smidig tilnærming risikoreduserende•Kjør en Pilot

•Utfordre kravstillere med de ikke-funksjonelle kravene•Oppetid, svartid, volum, antall samtidige brukere•… og sikkerhet

Mye er overdesignet, og annet er ikke forberedt!(undersøkelser viser at mye av de vi lager ikke blir brukt…)

Page 41: Skalerbare systemer

41

29.02.2012Skatteetaten – Skalerbare systemer 41

Eksempel: Ikke-funksjonelle krav

Meldings-motor

Butikk Utvalg

Ekstern

AuthorizationPris Saksbehandling

B3B2

B1

Innkjøp

AHA1

A2

N1

S1B1

B2B3

S1

AHA1

A2

AH

2-phase commit

2-phase commit

1 tråd, alt i

sekvens

Page 42: Skalerbare systemer

42

29.02.2012Skatteetaten – Skalerbare systemer 42

Disposisjon

•Hvorfor – Krav og drivere•Hva – Egenskaper ved store systemer•Hvordan – Designe systemene for parallellitet•Med hva – Verktøy•Hva med oss?

Page 43: Skalerbare systemer

43

29.02.2012Skatteetaten – Skalerbare systemer 43

Tid og konsistens

•Våre viktigste egenskaper er korrekthet, kvalitet og integritet•Så kommer fleksibilitet•Så kommer tidsmessighet•Eksempel:

•En skattyter mottar lønn•Det rapporteres til oss•Vi beregner konsekvensene•Skattyter mottar disse

•Det er ikke mulig å lage ett system som skal serve alle og som skal beholde ACID.

•Det viktigste for oss er•1. Vi skal godta at tilstand på skattyter er forskjellig i forskjellige perspektiv•2. Vi skal ha kontroll slik at tilstanden ”snart blir riktig”•3. Asynkron oppførsel

Page 44: Skalerbare systemer

44

29.02.2012Skatteetaten – Skalerbare systemer 44

Hva med oss?

•Det er noe BASE hos oss, men vi har ikke ”eventually consistent”•Vi må få kontroll på tilstand på skattyter•Forvaltningskostnadene vokser•Mye avstemming og manuell jobbing

•Vi har for mye ACID•Batchene vokser i tid•Forvaltningskost vokser•Oppetid synker

Page 45: Skalerbare systemer

45

29.02.2012Skatteetaten – Skalerbare systemer 45

Våre data

•Eksempel: skattyter og skatteunderlag•Må ha inn periode – eks. inntektsår•Andre områder kan struktureres på lik måte

Part

111-A/200.000,-

Grunnlag Fastsatt Skatt

111-A/20,-

116-A3.192,-

3.1.1/3.192,-

3.1.1/2,-

2.1/203.212,-

4.2.5/126.000,-

3.3.1/34.569,-

3.2.10/25.000,-

4.2/126.000,-

3.3/34.596,-

3.2/25.000,-

3.1/3.194,-

Formue – Stat/0

Toppskatt/10.101,-

Inntekt – Kommune/23.098,-

Inntekt – Stat/50.001,-

Formue – Kommune/0

Trygd/33.094,-

Page 46: Skalerbare systemer

46

29.02.2012Skatteetaten – Skalerbare systemer 46

Målbilde - Prosesseringsarkitektur

• Informasjon orienteres rundt en Part•Komponenter har eierskap til den informasjon den skaper

•Vi sender operasjoner med data•Køer mellom datalager og prosessering, og mellom prosessering og datalager

•1. Vi skal godta at tilstand påskattyter er forskjellig i forskjellige perspektiv

•2. Vi skal ha kontroll slik at tilstanden ”snart blir riktig”

•3. Asynkron oppførsel

Aut

omat

iser

tepr

oses

ser

Tren

ger

beha

ndlin

g

Lagre resultat

Man

uell

beha

ndlin

g

Processing Unit

Nevn eksepel med takseringssystem for strømforbruk på tog.Det sier seg selvat man ikke kan teste ved å kjøre tog rundt om kringTesting må kunne gjøres i en simulator

Page 47: Skalerbare systemer

47

29.02.2012Skatteetaten – Skalerbare systemer 47

Missforståtte egenskaper ved distribuerte systemer

•Nettverket er pålitelig•Latens er null•Båndbredde er ubegrenset•Nettverk er sikre•Topologi endres ikke•Bare en administrator•Transport er null•Nettverk er homogene•Systemet er homogen•Systemet er ferdig

Page 48: Skalerbare systemer

48

29.02.2012Skatteetaten – Skalerbare systemer 48

Oppsummering

•Beste grunnlag for skalering er å dele opp problemet•(som for Tjenesteorientering og distribuerte systemer)•Tenk uavhengige funksjoner•Tenk uavhengige data•Ha riktige ikke-funksjonelle krav

•Implementer riktig i det små, -> deploy inn i den arkitektur som kan bære den

Page 49: Skalerbare systemer

49

29.02.2012Skatteetaten – Skalerbare systemer 49

Takk for meg

•Noen linker:• http://www.springsource.org/spring-integration• http://www.gigaspaces.com/• http://www.oracle.com/technology/products/coherence/index.html• http://wiki.tangosol.com/display/CSIG/Presentations