Consolidating services with middleware - NDC London 2017
-
Upload
christian-horsdal -
Category
Software
-
view
125 -
download
4
Transcript of Consolidating services with middleware - NDC London 2017
CONSOLIDATING SERVICES WITH MIDDLEWARE
CHRISTIAN HORSDAL
HORSDAL CONSULT
@CHR_HORSDAL
Flexible
Componentized
Reusable
Testable
STUFF FROM THE REAL WORLD
5
MICROSERVICES
WHY MICROSERVICES?
• ENABLES CONTINUOUS DELIVERY
• HIGHLY MAINTAINABLE SERVICES
• EFFICIENT DEVELOPER WORKFLOW
• ROBUST BY DESIGN
• FLEXIBLE SCALABILITY
ALL HTTP
Listing Store
Dealer App
Partner site
VerticalClassifieds
site
Classifieds site
Vertical Listing store
Search index
Search index
ALL HTTP
WHEN CAN YOU USE MICROSERVICE?
AUTOMATED DEPLOYS
FAST PROVISIONING
AUTOMATED BUILDS
AUTOMATED TESTS
LOGGING AND MONITORING
CLOSE DEV-OPS RELATIONSHIP
WEB APIS AND MIDDLEWARE
WEB APIS HANDLE HTTP REQUESTS
12
ASP.NET CORE: PIPELINE
13
Kestrel Application
ASP.NET CORE: PIPELINE
• USE PIPES AND FILTERS
• A CONTEXT IS PIPED THROUGH MIDDLEWARE
14
ASP.NET CORE: PIPELINE
15
KestrelThrottling
Middleware
OAuth
MiddlewareApplication
MIDDLEWARE
• MIDDLEWARE TRANSFORMS THE REQUEST AND RESPONSE
• TAKES A CONTEXT IN
• CAN CALL NEXT STEP IN PIPELINE
• OR NOT
• UNIFORM INTERFACE
16
THINGS YOU MIGHT DO IN THE PIPELINE
• OPEN & DISPOSE RESOURCES
• LOGGING
• AUTHENTICATION
• AUTHORIZATION
• QUICK MONITORING ENDPOINTS
• SANITIZE INPUTS
• CONTENT NEGOTIATION
• CORS
17
THINGS YOU MIGHT DO IN THE PIPELINE
• OPEN & DISPOSE RESOURCES
• LOGGING
• AUTHENTICATION
• AUTHORIZATION
• QUICK MONITORING ENDPOINTS
• SANITIZE INPUTS
• CONTENT NEGOTIATION
• CORS
18
Cross-cutting concerns
Re-use
Test separately
Update separately
Distribute separately
A MICROSERVICE PLATFORM
Kestrel
Correlation Id
Request
Logging
Performance
Logging
Monitoring
endpoints
Authentication
Application
CODE
Flexible
Componentized
Reusable
Testable
ABOUT ME
Christian HorsdalIndependent Consultant
www.horsdal-consult.dk
@chr_horsdal