microservices - palveluarkkitehtuurin uusi tuleminen - emc forum 2014

20
‹#› © 2014 Pivotal Software, Inc. All rights reserved. ‹#› © 2014 Pivotal Software, Inc. All rights reserved. Microservices - Palveluarkkitehtuurin uusi tuleminen Lari Hotari, Pivotal Software Inc.

Upload: lari-hotari

Post on 19-Jun-2015

679 views

Category:

Software


3 download

DESCRIPTION

• 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?

TRANSCRIPT

Page 1: Microservices - Palveluarkkitehtuurin uusi tuleminen - EMC Forum 2014

‹#›© 2014 Pivotal Software, Inc. All rights reserved. ‹#›© 2014 Pivotal Software, Inc. All rights reserved.

Microservices - Palveluarkkitehtuurin uusi tuleminenLari Hotari, Pivotal Software Inc.

Page 2: Microservices - Palveluarkkitehtuurin uusi tuleminen - EMC Forum 2014

‹#›© 2014 Pivotal Software, Inc. All rights reserved.

A NEW PLATFORM FOR A NEW ERA

Page 3: Microservices - Palveluarkkitehtuurin uusi tuleminen - EMC Forum 2014

‹#›© 2014 Pivotal Software, Inc. All rights reserved.

PivotalAt-a-Glance

‹#›© 2014 Pivotal Software, Inc. All rights reserved.

• 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

Page 4: Microservices - Palveluarkkitehtuurin uusi tuleminen - EMC Forum 2014

‹#›© 2014 Pivotal Software, Inc. All rights reserved.

Pivotal Analytics

Page 5: Microservices - Palveluarkkitehtuurin uusi tuleminen - EMC Forum 2014

‹#›© 2014 Pivotal Software, Inc. All rights reserved. ‹#›© 2014 Pivotal Software, Inc. All rights reserved.

Agenda

• Perinteisen palveluarkkitehtuurin (SOA) ja Microservices suuntauksen eroavaisuudet

• Ketteryyden säilyttäminen sovelluskehityksessä

Page 6: Microservices - Palveluarkkitehtuurin uusi tuleminen - EMC Forum 2014

‹#›© 2014 Pivotal Software, Inc. All rights reserved.

http://fi.wikipedia.org/wiki/Palvelukeskeinen_arkkitehtuuri

“SOA on suunniteltu ratkaisemaan samalla kertaa

ainakin kaksi keskeistä haastetta:

- uusien järjestelmien nopeamman kehittämisen ja

jakelun

- eri järjestelmien välisen integroinnin.”

Page 7: Microservices - Palveluarkkitehtuurin uusi tuleminen - EMC Forum 2014

‹#›© 2014 Pivotal Software, Inc. All rights reserved. ‹#›© 2014 Pivotal Software, Inc. All rights reserved.

Mihin softakehityksessä kaivataan ratkaisuja?

• Nopea mukautuminen liiketoiminnan muuttuviin tarpeisiin:– uusien innovatiivisten palveluiden tuottaminen– liiketoiminnan optimointi / kustannusten karsiminen– mahdollisimman nopeasti ja kustannustehokkaasti

Page 8: Microservices - Palveluarkkitehtuurin uusi tuleminen - EMC Forum 2014

‹#›© 2014 Pivotal Software, Inc. All rights reserved. ‹#›© 2014 Pivotal Software, Inc. All rights reserved.

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.”

Page 9: Microservices - Palveluarkkitehtuurin uusi tuleminen - EMC Forum 2014

‹#›© 2014 Pivotal Software, Inc. All rights reserved. ‹#›© 2014 Pivotal Software, Inc. All rights reserved.

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.

Page 10: Microservices - Palveluarkkitehtuurin uusi tuleminen - EMC Forum 2014

‹#›© 2014 Pivotal Software, Inc. All rights reserved. ‹#›© 2014 Pivotal Software, Inc. All rights reserved.

Yhteisiä ominaisuuksia onnistuneille softaprojekteille tai hankkeille

• Projektien pieni koko• Yksinkertaisuus• Modulaarisuus

Ben Moseley, Peter Marks: Out of the Tar Pit , 1986https://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.”

Page 11: Microservices - Palveluarkkitehtuurin uusi tuleminen - EMC Forum 2014

‹#›© 2014 Pivotal Software, Inc. All rights reserved.

Miksi ketteräkehitys muuttuu mateluksi?

source: https://twitter.com/mfloryan/status/517238405781274624

Page 12: Microservices - Palveluarkkitehtuurin uusi tuleminen - EMC Forum 2014

‹#›© 2014 Pivotal Software, Inc. All rights reserved. ‹#›© 2014 Pivotal Software, Inc. All rights reserved.

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)

Page 13: Microservices - Palveluarkkitehtuurin uusi tuleminen - EMC Forum 2014

‹#›© 2014 Pivotal Software, Inc. All rights reserved. ‹#›© 2014 Pivotal Software, Inc. All rights reserved.

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.

Page 14: Microservices - Palveluarkkitehtuurin uusi tuleminen - EMC Forum 2014

‹#›© 2014 Pivotal Software, Inc. All rights reserved. ‹#›© 2014 Pivotal Software, Inc. All rights reserved.

Käyttäjäkokemus / UX

• Loppukäyttäjän näkökulmasta mikropalvelut eivät saa näyttäytyä.

• Koottu näkymä

Page 15: Microservices - Palveluarkkitehtuurin uusi tuleminen - EMC Forum 2014

‹#›© 2014 Pivotal Software, Inc. All rights reserved. ‹#›© 2014 Pivotal Software, Inc. All rights reserved.

No shared layers!

• Eroon monoliiteista!

Page 16: Microservices - Palveluarkkitehtuurin uusi tuleminen - EMC Forum 2014

‹#›© 2014 Pivotal Software, Inc. All rights reserved. ‹#›© 2014 Pivotal Software, Inc. All rights reserved.

There is no silver bullet

• Essential complexity and accidental complexity

Fredrik P. Brooks, Jr.: No Silver Bullet - Essense and Accident in Software Engineering , 1986http://worrydream.com/refs/Brooks-NoSilverBullet.pdf

Page 17: Microservices - Palveluarkkitehtuurin uusi tuleminen - EMC Forum 2014

‹#›© 2014 Pivotal Software, Inc. All rights reserved. ‹#›© 2014 Pivotal Software, Inc. All rights reserved.

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

Page 18: Microservices - Palveluarkkitehtuurin uusi tuleminen - EMC Forum 2014

‹#›© 2014 Pivotal Software, Inc. All rights reserved. ‹#›© 2014 Pivotal Software, Inc. All rights reserved.

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.

Page 19: Microservices - Palveluarkkitehtuurin uusi tuleminen - EMC Forum 2014

‹#›© 2014 Pivotal Software, Inc. All rights reserved. ‹#›© 2014 Pivotal Software, Inc. All rights reserved.

@lhotari

Kiitos!

[email protected]

Page 20: Microservices - Palveluarkkitehtuurin uusi tuleminen - EMC Forum 2014

‹#›© 2014 Pivotal Software, Inc. All rights reserved.

A NEW PLATFORM FOR A NEW ERA