Perinteisen palveluarkkitehtuurin (SOA) ja Microservices suuntauksen eroavaisuudet
Ketteryyden s辰ilytt辰minen sovelluskehityksess辰
miksi usein k辰y niin, ett辰 hyvin aloitettu ketter辰 kehitt辰minen muuttuukin kuukausien ja vuosien saatossa mateluksi?
1 of 20
Downloaded 14 times
More Related Content
Microservices - Palveluarkkitehtuurin uusi tuleminen - EMC Forum 2014
2. A NEW PLATFORM FOR A NEW ERA
息 2014 Pivotal Software, Inc. All rights reserved. #
3. Pivotal
At-a-Glance
New Independent Venture: Spun out &
jointly owned by EMC & VMware
Top Talent: 1700~ employees
Proven Leadership: Paul Maritz, CEO
Global Customer Validation:
+1000 Tier-1 Enterprise Customers
Strategic Backing: $105M investment by
GE
Bold Vision: New platform for a new era,
focused on the intersection of Big Data,
PaaS, and Agile Software Development
息 2014 Pivotal Software, Inc. All rights reserved. #
5. Agenda
Perinteisen palveluarkkitehtuurin (SOA) ja Microservices
suuntauksen eroavaisuudet
Ketteryyden s辰ilytt辰minen sovelluskehityksess辰
息 2014 Pivotal Software, Inc. All rights reserved. 高##財
6. SOA on suunniteltu ratkaisemaan
samalla kertaa ainakin kaksi
keskeist辰 haastetta:
- uusien j辰rjestelmien nopeamman
kehitt辰misen ja jakelun
- eri j辰rjestelmien v辰lisen
integroinnin.
http://fi.wikipedia.org/wiki/Palvelukeskeinen_arkkitehtuuri
息 2014 Pivotal Software, Inc. All rights reserved. #
7. Mihin softakehityksess辰 kaivataan
ratkaisuja?
Nopea mukautuminen liiketoiminnan muuttuviin tarpeisiin:
uusien innovatiivisten palveluiden tuottaminen
liiketoiminnan optimointi / kustannusten karsiminen
mahdollisimman nopeasti ja kustannustehokkaasti
息 2014 Pivotal Software, Inc. All rights reserved. 高##財
8. Perinteisten palveluarkkitehtuuri (SOA)
hankkeiden keskeisi辰 ongelmia
Tuote ja teknologial辰ht旦isyys ja riippuvaisuus
k辰ytt辰j辰keskeisyys heikkoa
tuoteostoja, ei todellisia tekoja
Ratkaisujen
ep辰realistisuus
eiv辰t vastaa tarpeita
Organisaation huomioimatta j辰tt辰minen (Conwayn laki)
Tavoitteita ei ole pystytty t辰ytt辰m辰辰n
kustannustehokkaasti.
SOA on suunniteltu ratkaisemaan
samalla kertaa ainakin kaksi keskeist辰
haastetta:
- uusien j辰rjestelmien nopeamman
kehitt辰misen ja jakelun
- eri j辰rjestelmien v辰lisen integroinnin.
息 2014 Pivotal Software, Inc. All rights reserved. 高##財
9. Conwayn laki
Melvin Conway esitti vuonna 1968, ett辰
j辰rjestelm辰arkkitehtuuri ja sit辰 kehitt辰v辰n tai yll辰pit辰v辰n
organisaation rakenne alkavat muistuttaa toisiaan.
"Jos organisaation osat eiv辰t tarkkaan heijasta oleellisia
osia tuotteen rakennetta (tai p辰in vastoin), niin projekti on
pulassa. Sen vuoksi varmista, ett辰 organisaatio on
yhteensopiva tuotteen arkkitehtuurin kanssa."
Coplien and Harrison (July 2004). Organizational
Patterns of Agile Software Development. ISBN 978-0-
13-146740-8.
息 2014 Pivotal Software, Inc. All rights reserved. 高##財
10. Yhteisi辰 ominaisuuksia onnistuneille
softaprojekteille tai hankkeille
Projektien pieni koko
Yksinkertaisuus
Modulaarisuus
Ben Moseley, Peter Marks: Out of the Tar Pit , 1986
https://github.com/papers-we-love/papers-we-love/raw/master/design/out-of-the-tar-
pit.pdf
The software crisis was first identified in 1968 [NR69, p70] and in the
intervening decades has deepened rather than abated. The biggest problem in
the development and maintenance of large-scale software systems is
complexity large systems are hard to understand.
息 2014 Pivotal Software, Inc. All rights reserved. 高##財
11. Miksi ketter辰kehitys muuttuu mateluksi?
source: https://twitter.com/mfloryan/status/517238405781274624
息 2014 Pivotal Software, Inc. All rights reserved. #
12. Microservices
Suunnittelussa l辰hdet辰辰n siit辰, ett辰 tavoiteltava ratkaisu
on systeemi pienempi辰 systeemej辰
Systeemill辰 (mikropalvelulla) oma tietovarasto / tietokanta
ei jaettuja resursseja tai tietokantoja!
Teknologia/tuote ei ole ratkaisu
Adaptiivisuus, oppiminen, lean, agile, pragmaattisuus
API-ajattelu
Palvelut tehd辰辰n tarpeeseen (pull vs. push)
Tarvittaessa "samaan asiaan" tehd辰辰n useampi erilainen
rajapinta sen ollessa j辰rkev辰辰 (esim. client-tyyppi
spesifiset rajapinnat)
息 2014 Pivotal Software, Inc. All rights reserved. 高##財
13. Microservices
Yksitt辰iset palvelut voidaan p辰ivitt辰辰 milloin tahansa.
Integraatiotestauksen sijaan keskityt辰辰n tuotannossa
tapahtuvaan monitorointiin ja ongelmatilanteisiin reagointiin
esim. Blue/Green (Canary) -deployment malli
Pyrit辰辰n mahdollistamaan jatkuva integrointi suoraan
tuotantoon ilman ylim辰辰r辰isi辰 vaiheita. T辰m辰 sen vuoksi,
ett辰 hukkaty旦t辰 on t辰ll旦in mahdollisimman v辰h辰n.
Varmistelu ja testaaminen ei itsess辰辰n tuota lis辰arvoa.
ei poista tai korvaa esim. yksikk旦testausta
Palvelujen k辰yt旦ss辰 varaudutaan tilanteisiin, jolloin toinen
palvelu ei ole k辰ytett辰viss辰 - j辰rjestelm辰 suunnitellaan
toimimaan esimerkiksi rajoitetuilla ominaisuuksilla, kun jokin
yksitt辰inen palvelu ei ole toiminnassa.
息 2014 Pivotal Software, Inc. All rights reserved. 高##財
14. K辰ytt辰j辰kokemus / UX
Loppuk辰ytt辰j辰n n辰k旦kulmasta mikropalvelut eiv辰t saa
n辰ytt辰yty辰.
Koottu n辰kym辰
息 2014 Pivotal Software, Inc. All rights reserved. 高##財
15. No shared layers!
Eroon monoliiteista!
息 2014 Pivotal Software, Inc. All rights reserved. 高##財
16. There is no silver bullet
Essential complexity and accidental complexity
Fredrik P. Brooks, Jr.: No Silver Bullet - Essense and Accident in Software Engineering , 1986
http://worrydream.com/refs/Brooks-NoSilverBullet.pdf
息 2014 Pivotal Software, Inc. All rights reserved. 高##財
17. Haasteet ja uudet ongelmat
Datan konsistenttius
hajautetut tietovarastot aiheuttaa uudenlaisia
haasteita
CAP teoreema
Hajautettujen j辰rjestelmien ongelmat
1. s辰辰nt旦: 辰l辰 hajauta
Erilliset tietosaarekkeet (data island) joista aiemmin
pyrittiin eroon
l辰 unohda Master Data Management (MDM) tarvetta,
tosin sen pit辰辰 my旦s mukautua uuteen malliin
息 2014 Pivotal Software, Inc. All rights reserved. 高##財
18. Periaatteita pit辰辰 muuttaa
Mikropalvelujen k辰ytt旦 saattaa tarkoittaa sit辰, ett辰
esimerkiksi asiakastietoja on useammassa
j辰rjestelm辰ss辰 eik辰 niit辰 ole keskitetty kuten
useammassa asiakastietojen keskitt辰mishankkeessa
saattaa olla tavoitteena.
Tarvitaan uutta innovatiivista ajattelua, jossa
optimoidaan haluttuja asioita ja muutetaan
j辰rjestelm辰periaatteita tilanteen vaatimalla tavalla
Uudenlainen Master Data Management (MDM,
Perustiedot) on tarpeen. Perinteinen MDM voi olla
voimakkaassa konfliktissa mikropalveluperiaatteiden
kanssa.
息 2014 Pivotal Software, Inc. All rights reserved. 高##財