Share
Embed
Guiding Architectural Decision Making on Quality Aspects in Microservice APIs
ICSOC2018 Paper Presentation by Uwe Zdun, Mirko Stocker, Olaf Zimmermann, Cesare Pautasso, and Daniel Lübke
pautasso
November 15, 2018
Transcript
27 slides
-
$3, 6HFXULW\ 5HOLDELOLW\ 8VDELOLW\ 3HUIRUPDQFH 6LPSOLFLW\ &RVW (YROYDELOLW\ 0DLQWDLQDELOLW\ 6XVWDLQDELOLW\
3ULYDF\ 7HVWDELOLW\ 6FDODELOLW\ SRZHUHGE\ -
.QRZOHGJH6RXUFHV $PD]RQ(&$3,$PD]RQ6$:6/DPEGD&ORXG&RQYHUW$3,&RQѺXHQFH 5(67$3,)DFHERRN*UDSK$3,)LOH7UDQVIHU6HUYLFH$3,)LQDQFH,QGXVWU\ :HE6HUYLFH$3,*LW+XE$3,Y*LW+XE$3,Y*RRJOH&DOHQGDU$3, *RRJOH&RPSXWH(QJLQH-,5$&ORXG$3,/LQNHG,Q$3,0LFURVRIW$]XUH 0LFURVRIW'\QDPLFV&500LFURVRIW*UDSK$3,2SHQ:HDWKHU0DS 2SWLPL]HO\3D\3DO$3,4XDQGO$3,6DOHVIRUFH$3,6LQJOHZLUH6WULSH$3, 6:,)76ZLVV%DQN$3,6ZLVV)HGHUDO$GPLQLVWUDWLRQUHJLVWU\RI FRPSDQLHVZHEVHUYLFH$3,6ZLVV,QVXUDQFH$3,70)RUXP5(67$3, 7ZLWWHU$3,<RX7XEH'DWD$3,
$GLGDV$3,6SHF$PD]RQ$3,*DWHZD\DSLVW\OHERRNFRP%DVLF $XWKHQWLFDWLRQ&+$3($3(&6/$*XLGHOLQHV+773&RQGLWLRQDO 5HTXHVWV-621$3,6SHF.HUEHURV/'$30XOH6RIW$3,0DQDJHU2$XWK 2SHQ,'&RQQHFW2:$635(676HFXULW\3OD\*XDUG5(67$3,GHVLJQ ERRN5(67IXO:HE6HUYLFHV&RRNERRN5)&6$0/6/$%HVW 3UDFWLFHV6/$:KLWHSDSHU6XJJHVWHG5(673UDFWLFHV70)RUXP $SSOLFDWLRQV)UDPHZRUN SRZHUHGE\ -
([SOLFLW6SHFLѹFDWLRQRI4XDOLW\ 2EMHFWLYHVDQG3HQDOWLHV 'HFLVLRQ&ULWHULD &RQVXPHU$WWUDFWLYHQHVV 3URYLGHUFRVWHIѹFLHQF\DQG EXVLQHVVULVNV *RYHUQPHQWUHJXODWLRQV 5HOHYDQWTXDOLW\DWWULEXWHV $YDLODELOLW\3HUIRUPDQFH 3ULYDF\
%XVLQHVVDJLOLW\YLWDOLW\ 2SWLRQV ,QWURGXFH 6HUYLFH/HYHO $JUHHPHQW ,QWHUQDOXVHRQO\ ([WHUQDOXVH 5HSUHVHQW6/$ZLWK ,QIRUPDOVSHFLѹFDWLRQ QDWXUDOODQJXDJH )RUPDOVSHFLѹFDWLRQ SRZHUHGE\ -
6HUYLFH/HYHO$JUHHPHQW +RZFDQDQ$3,FOLHQWOHDUQDERXWWKHVSHFLѹFTXDOLW\RI VHUYLFHFKDUDFWHULVWLFVRIDQ$3,DQGLWVRSHUDWLRQV"+RZFDQ WKHVHFKDUDFWHULVWLFVDQGWKHFRQVHTXHQFHVRIQRWPHHWLQJ WKHPEHGHѹQHGLQDPHDVXUDEOHZD\" $VDQ$3,SURYLGHUGHѹQHDVWUXFWXUHG6HUYLFH/HYHO $JUHHPHQW 6/$ WKDWLVZULWWHQLQDQDVVHUWLYHXQDPELJXRXV ZD\WKH6/$PXVWLGHQWLI\WKH$3,RSHUDWLRQWKDWLWSHUWDLQV
WRDQGPXVWFRQWDLQDWOHDVWRQHPHDVXUDEOH6HUYLFH/HYHO 2EMHFWLYH 6/2 VXFKDVSHUIRUPDQFHRUDYDLODELOLW\ SRZHUHGE\ -
$3,&OLHQW,GHQWLѹFDWLRQDQG $XWKHQWLFDWLRQ 'HFLVLRQ&ULWHULD 5HTXLUHGVHFXULW\OHYHO (DVHRIXVHIRUFOLHQWV 8VHUFUHGHQWLDOPDQDJHPHQW 3HUIRUPDQFHRYHUKHDG 2SWLRQV ,QWURGXFH$XWKHQWLFDWLRQ 0HFKDQLVP
$3,.H\ $3,.H\ZLWK6HFUHW $XWKHQWLFDWLRQ3URWRFRO SRZHUHGE\ -
0HWHULQJDQG&KDUJLQJIRU$3, &RQVXPSWLRQ 'HFLVLRQ&ULWHULD 3ULFLQJ%XVLQHVV0RGHOV 0HWHULQJDQG%LOOLQJ$FFXUDF\ 0HWHU*UDQXODULW\ 6HFXULW\DQG3ULYDF\ 2SWLRQV 0RQLWRU&OLHQW8VDJHIRU %LOOLQJZLWK
5DWH3ODQ YDULDQWV )ODWUDWHVXEVFULSWLRQ 3D\SHUXVH 0DUNHWEDVHG$OORFDWLRQ $XFWLRQVW\OH$OORFDWLRQ )UHHPLXP0RGHO SRZHUHGE\ -
$YRLG8QQHFHVVDU\'DWD7UDQVIHUV 'HFLVLRQ&ULWHULD &OLHQW,QIRUPDWLRQ1HHGV 1HWZRUNERWWOHQHFNV 3HUIRUPDQFH 6HFXULW\ 'HYHORSPHQWDQG7HVWLQJ &RPSOH[LW\ 2SWLRQV
:LVK/LVW :LVK7HPSODWH &RQGLWLRQDO5HTXHVW 5HTXHVW%XQGOH SRZHUHGE\ -
&RQGLWLRQDO5HTXHVW +RZFDQXQQHFHVVDU\VHUYHUVLGHSURFHVVLQJDQGEDQGZLGWK XVDJHEHDYRLGHGZKHQIUHTXHQWO\LQYRNLQJ$3,RSHUDWLRQV WKDWUHWXUQUDUHO\FKDQJLQJGDWD" 6XSSRUWFRQGLWLRQDOUHTXHVWVE\DOORZLQJFOLHQWWRDGGRQH RUPRUHPHWDGDWDHOHPHQWVWRWKHUHTXHVWPHVVDJH UHSUHVHQWDWLRQV RUSURWRFROKHDGHUV WKDWUHTXHVWVDUH SURFHVVHGE\WKHSURYLGHURQO\LIDFRQGLWLRQLVPHW,IWKH
FRQGLWLRQLVQRWPHWWKHSURYLGHUGRHVQRWUHSO\ZLWKDIXOO UHVSRQVHEXWUHWXUQVDVSHFLDOVWDWXVFRGHLQVWHDG SRZHUHGE\ -
5HTXHVW%XQGOH &RVW >5L@ 680 &RVW 5L *(7 5 *(7
5 *(7 5 *(7 >555@ SRZHUHGE\ -
3UHYHQW([FHVVLYH$3,8VDJH 'HFLVLRQ&ULWHULD *XDUDQWHH6HUYLFH 3HUIRUPDQFH6FDODELOLW\DQG 6XVWDLQDELOLW\ 0DNH&OLHQWV$ZDUHRI/LPLWV ,PSDFW6HYHULW\RI$EXVH 1HJRWLDWLRQ&RPSOH[LW\ 2SWLRQV 0RQLWRU&OLHQW8VDJH
IRU%LOOLQJZLWK 5DWH3ODQ ZLWKLQ 5DWH/LPLW RUERWK SRZHUHGE\ -
$3,4XDOLW\'HVLJQ6SDFH ([SOLFLW6SHFLѹFDWLRQRI4XDOLW\2EMHFWLYHVDQG3HQDOWLHV ,QWHUQDO6/$ ([WHUQDO6/$ ,QIRUPDO6/$ )RUPDO6/$ $3,&OLHQW,GHQWLѹFDWLRQDQG$XWKHQWLFDWLRQ $3,.H\ $3,.H\ZLWK6HFUHW $XWKHQWLFDWLRQ3URWRFRO
0HWHULQJDQG&KDUJLQJIRU$3,&RQVXPSWLRQ )ODW5DWH3ODQ 3D\SHUXVH 0DUNHWEDVHG $OORFDWLRQ $XFWLRQVW\OH $OORFDWLRQ )UHHPLXP0RGHO $YRLG8QQHFHVVDU\'DWD7UDQVIHU :LVK/LVW :LVK7HPSODWH &RQGLWLRQDO5HTXHVW 5HTXHVW%XQGOH 3UHYHQWLQJ$3,&OLHQWVIURP([FHVVLYH$3,8VDJH %LOOZLWK5DWH3ODQ 5DWH/LPLWV &RPPXQLFDWH(UURUV 3URWRFROOHYHO(UURU&RGHV 3URWRFROLQGHSHQGHQW(UURU5HSRUWLQJ SRZHUHGE\ -
8QFHUWDLQW\(VWLPDWLRQ :LWK0RGHO :LWKRXW0RGHO 3RVVLEOH'HFLVLRQ 2XWFRPHV $OORZHG2SWLRQ &RPELQDWLRQV A 2SWLRQV 'HFLVLRQ&ULWHULD
$VVHVVPHQWV 8QGHFLGHG &ULWHULD &ULWHULD2SWLRQV SRZHUHGE\ -
8QFHUWDLQW\5HGXFWLRQ $3,/HYHO'HFLVLRQV2SHUDWLRQ/HYHO'HFLVLRQV 'HFLVLRQ&ULWHULD'HFLVLRQ2SWLRQV :LWK0RGHO :LWKRXW0RGHO 3RVVLEOH'HFLVLRQ 2XWFRPHV
'HFLVLRQ&ULWHULD $VVHVVPHQWV SRZHUHGE\ -
5HIHUHQFHV 8ZH=GXQ0LUNR6WRFNHU2ODI=LPPHUPDQQ&HVDUH3DXWDVVR 'DQLHO/¾ENH 3URFRIWKHWK,QWHUQDWLRQDO &RQIHUHQFHRQ6HUYLFH2ULHQWHG&RPSXWLQJ ,&62& +DQJ]KRX=KHMLDQJ&KLQD1RYHPEHU 0LUNR6WRFNHU2ODI=LPPHUPDQQ'DQLHO/¾ENH8ZH=GXQ &HVDUH3DXWDVVR
3URFRIWKHUG (XURSHDQ&RQIHUHQFHRQ3DWWHUQ/DQJXDJHVRI3URJUDPV (XUR3/R3 .ORVWHU,UVHH*HUPDQ\-XO\ *XLGLQJ$UFKLWHFWXUDO'HFLVLRQ0DNLQJRQ4XDOLW\ $VSHFWVRI0LFURVHUYLFH$3,V ,QWHUIDFH4XDOLW\3DWWHUQV&UDIWLQJDQG &RQVXPLQJ0HVVDJH%DVHG5HPRWH$3,V SRZHUHGE\