Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented...
Transcript of Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented...
![Page 1: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/1.jpg)
BASLE BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA
HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART VIENNA ZURICH
Modern .NET Software ArchitectureWhere are we today?
Christoph Pletz, CL-SOLManuel Meyer, ZH-AD
![Page 2: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/2.jpg)
Agenda
Modern .NET Software Architecture2 09.09.2016
1. TicTacTech
2. A Brief History of Software Engineering
3. Microservice Characteristics
4. Microservice Examples
5. Inside TicTacTech
6. Summary
![Page 3: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/3.jpg)
TicTacTech
Modern .NET Software Architecture3 09.09.2016
GamePlayer Statistics
![Page 4: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/4.jpg)
TicTacTech
Modern .NET Software Architecture4 09.09.2016
http://tictactech.azurewebsites.net/
On Android I had problems
with Chrome, but it works
great with Opera !?
![Page 5: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/5.jpg)
Modern .NET Software Architecture5 09.09.2016
A Brief History of
Sofware Engineering
![Page 6: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/6.jpg)
A Look Around Today
Modern .NET Software Architecture6 09.09.2016
Google Trend „Microservices“
![Page 7: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/7.jpg)
A Look Around Today
Modern .NET Software Architecture7 09.09.2016
Google Trend „SOA“
![Page 8: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/8.jpg)
A Look Around Today
Modern .NET Software Architecture8 09.09.2016
Google Trend „SOA“
![Page 9: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/9.jpg)
A Look Around Today
Modern .NET Software Architecture9 09.09.2016
Google Trend „Microservices“ versus „Service Oriented Architecture“
![Page 10: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/10.jpg)
A Brief History of Software Engineering
Modern .NET Software Architecture10 09.09.2016
1940
09.09.2016Mark 1
1978
The UNIX
Philosophy
(DOTADIW)
1970
WWW
1989
1996
SOA
2001
Agile
Manifesto
RESTful
Services
2000
2003
DDD
2002
The Cloud
2007
DevOps
2005
‘’Micro-
Web-
Services‘’
2011
Microservices
2013
Reactive
Manifesto
![Page 11: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/11.jpg)
The Unix Philosophy (1978) - DOTADIW
Modern .NET Software Architecture11 09.09.2016
![Page 12: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/12.jpg)
Modern .NET Software Architecture12 09.09.2016
![Page 13: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/13.jpg)
The Unix Philosophy (1978) - DOTADIW
Modern .NET Software Architecture13 09.09.2016
![Page 14: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/14.jpg)
The Unix Philosophy (1978) - DOTADIW
Modern .NET Software Architecture14 09.09.2016
„Do one thing and do it well“
Make each program do one thing well
Expect the output of every program to become the input to another
Design software and systems to be tried early, don‘t hesitate to throw away
Use and make tools.
![Page 15: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/15.jpg)
The Reactive Manifesto
Modern .NET Software Architecture15 09.09.2016
https://www.reactivemanifesto.org/
REACTIVE
Elastic
Responsive Resilient
Message
Driven
![Page 16: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/16.jpg)
Modern .NET Software Architecture16 09.09.2016
Microservice Characteristics
![Page 17: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/17.jpg)
The Evolution of Software Architecture
Modern .NET Software Architecture17 09.09.2016
![Page 18: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/18.jpg)
The Evolution of Software Architecture
Modern .NET Software Architecture18 09.09.2016
![Page 19: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/19.jpg)
The Evolution of Software Architecture
Modern .NET Software Architecture19 09.09.2016
![Page 20: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/20.jpg)
Microservice Characteristics
Modern .NET Software Architecture20 09.09.2016
Small and self contained, owns its datasource, owned by 1 team
Easy to replace, individually deployable and disposable
Organized around capabilities
Implemented with „what fits best“
„Smart endpoints and dumb pipes“
Designed for failure
http://martinfowler.com/articles/microservices.html/
![Page 21: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/21.jpg)
N-Tier / X-Layer Microservice
Modern .NET Software Architecture21 09.09.2016
![Page 22: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/22.jpg)
Modern .NET Software Architecture22 09.09.2016
Microservice Examples
![Page 23: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/23.jpg)
Microservice Example 1: Microsoft Azure
Modern .NET Software Architecture23 09.09.2016
Clemens Vasters: Utopia ESB
http://channel9.msdn.com/Blogs/Subscribe/Wheres-the-ESB
![Page 24: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/24.jpg)
Microservice Example 2
Modern .NET Software Architecture24 09.09.2016
«MicroMonolith - Top anti-
patterns of distributed systems»
- Michal Franc
NDC Oslo 2016
https://vimeo.com/171704583
![Page 25: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/25.jpg)
Microservice Example 3
Modern .NET Software Architecture25 09.09.2016
«A High-Performance Solution
to Microservices UI
Composition»
NDC Oslo 2016
https://vimeo.com/171927597
![Page 26: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/26.jpg)
Modern .NET Software Architecture26 09.09.2016
Inside TicTacTech
![Page 27: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/27.jpg)
ServiceBus
Modern .NET Software Architecture27 09.09.2016
PlayerChanged
Logged-In
HTML - JS
Web API
Data Collector
Sig
nalR
“Branding Service”
Arch
itetu
reO
verv
iew
HTML - JS
Web API
Reliable Actors
Reliable Service
Service Bus Listener
Game Events
Sig
nalR
Web API
HTML - JS
Document DB
![Page 28: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/28.jpg)
Microservice Example 4: TicTacTech
Modern .NET Software Architecture28 09.09.2016
PlayerService GameService StatisticsService User Interface
Azure ServiceBus
aurelia.io
Azure Web Job
Service Fabric
Reliable Actors
Sql Server
![Page 29: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/29.jpg)
Azure Service Fabric
Modern .NET Software Architecture29 09.09.2016
Cluster Management
Stateful Middle Tier
Runs any EXE
Specific APIs
– Reliable Actors
– Reliable Services
Rolling Updates
![Page 30: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/30.jpg)
Actors: “Objects done right”
Modern .NET Software Architecture30 09.09.2016
![Page 31: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/31.jpg)
Other Technologies to look at
Modern .NET Software Architecture31 09.09.2016
Actors
Messaging
– Server
– Server to UI
NServiceBus
![Page 32: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/32.jpg)
Microservice Challenges
Modern .NET Software Architecture32 09.09.2016
UI Composition – How to separate UI parts?
Complexity
Logging / Monitoring
Integration testing
Deployment
![Page 33: Modern .NET Software Architecture · Google Trend „Microservices“ versus „Service Oriented Architecture“ ... 1978 The UNIX Philosophy (DOTADIW) 1970 WWW 1989 1996 SOA 2001](https://reader034.fdocuments.us/reader034/viewer/2022042219/5ec59e3868eec74f36141687/html5/thumbnails/33.jpg)
Thank You!Manuel Meyer ([email protected])
Christoph Pletz ([email protected])
09.09.2016 Modern .NET Software Architecture33