MicroApp architecture PDF

Transcription

MicroApp architecture PDF
How to slice your
monolithic webapp
using
M
a
s
p
p
A
o
icr
e
r
u
t
c
e
t
i
rch
value.quality.scale
@yonatanm
value.quality.scale
n
i
a
r
b
t
Ou
Unique Visitors
>0.5B
200B
Recommendations
per Month
once upon a time
After few years ...
**Multiple
Multipleteams
teams
**Multiple
Multipleproducts
products
**More
Moreand
andmore
morefeatures
features
But...
**High
HighTechnology
Technologydebt
debt
**High
HighComplexity
Complexity
How to handle –
quality, ownership
autonomy, velocity ???
Want to buy a MicroService?
**Hiding
Hidingimpl.
impl.details
details
**Deploy
Deployindependently
independently
**Isolation
Isolationfailures
failures
**Independence
Independence//Autonomy
Autonomy
MicroServices to the rescue?
s
n
o
i
s
s
e
**SS e s s i o n s
y
t
i
r
u
c
e
t
S
i
** S e c u r y
s
k
n
i
l
s
s
p
k
p
n
i
a
l
s
s
s
p
o
**CCrros s a p
S
R
O
C
S
n
i
R
g
O
i
r
C
O
n
i
w
g
i
**AAlllloo w - O r
e
c
n
e
i
r
e
e
c
p
n
x
e
e
i
r
r
e
e
**UUss e r e x p
MicroApps to the rescue!
**Define
Defineyour
yourareas
areas
**Map
Mapthe
theareas
areas
**Change
Changerouts
routsififneeded
needed
ACY
G
E
L
app
b
e
w
1/
/ ap p
**
2/**
p
p
/a
MicroApps overview
App
o
r
Mic
app1
APP2
Login
Logout
Password
Profile
Auth
DE
A
C
FA ICE /app1/**
V
SER
Proxy
Auth
Auth
/app2 /**
Proxy
/app3 /**
Proxy
Authentication && Session Management
r
Mic
p
oAp
Proxy and all that Jazz
**Routing
Routing
**Handles
Handlesinbound
inboundrequest
request
app1
Auth
1/**
p
p
/a
App1
Proxy
**Handles
Handlesoutbound
outboundresponses
responses
Leg
Web aCY
App
The Proxy Protocol
oA
r
c
Mi
pp
app1
**Session
Sessionheader
header
**Specific
Specificcookie
cookie
Auth
**Body
Body
**Encoding
Encoding
**HTTP
HTTPStatus
Status
**User's
User'sIP
IP
App1
Proxy
FAC
SER ADE
VIC
E
Know your Proxy
**The
TheProxy
Proxy Protocol
Protocol
**Connection
Connectionpool
pool
**Performance
Performancemetrics
metrics
**Failures
Failuresmetrics
metrics
**logs
logs
Infrastructure as a service
**SSL
SSL
**Access
Accesslogs
logs
**Security
Security
**Monitoring
Monitoring
**CDN
CDNintegration
integration
ADE
C
A
F
ICE /app1/**
V
R
SE
Proxy
/app2 /**
Proxy
/app3 /**
Proxy
Authentication && Session Management
Technology
**one
onesession
sessionfor
forall
allmicroApps
microApps
**Better
Bettertechnology
technologystack
stack
**Reducing
Reducingtech
techdebt
debt
**Gradual
Gradualupgrade
upgrade
**Quality
Quality
Culture
**Autonomy
Autonomyand
andFreedom
Freedom I did it my Way
**Ownership
Ownership
**Separation
Separation of
ofconcern
concern
**Focus
Focus
Giving
Givingppl
pplas
asmuch
much
m
o
as
possible
to
do
their
job
d
e
as
possible
to
do
their
job
e
r
f
**Another
Anothermoving
movingpart
part
**Latency
Latency
**hard
hardto
tocompete
competeHAProxy
HAProxy
**no
nomore
moreone
oneCSS
CSSto
torule
rule
them
themall
all
MicroApps
In
**Initiated
Initiatedon
onJan
Jan'15
'15(well,
(well,not
notreally)
really)
**Started
Startedwith
withone
onemicroApp
microApp
**Gradual
Gradualrollout
rollout
**We
Wehave
havenow
now44(and
(andkeep
keepgrowing)
growing)
Managed
Managedby
bydifferent
differentteams
teams
Each
Eachhas
hasaadifferent
differenttechnology
technologystack
stack
**Highly
Highlymonitored
monitored
Future work
**circuit
circuitbreaker
breaker
**Rewrite
RewriteFacade
FacadeService
Service
**reusing
reusingweb
webresources
resources
**open
opensource
sourceitit??
Thank You
Want
Wantto
toknow
knowmore
moreabout
about
O utb r a i n's
Architecture?
Contact
Contactme
me
Q && A
value.quality.scale