Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
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
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
TicTacTech
Modern .NET Software Architecture3 09.09.2016
GamePlayer Statistics
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 !?
Modern .NET Software Architecture5 09.09.2016
A Brief History of
Sofware Engineering
A Look Around Today
Modern .NET Software Architecture6 09.09.2016
Google Trend „Microservices“
A Look Around Today
Modern .NET Software Architecture7 09.09.2016
Google Trend „SOA“
A Look Around Today
Modern .NET Software Architecture8 09.09.2016
Google Trend „SOA“
A Look Around Today
Modern .NET Software Architecture9 09.09.2016
Google Trend „Microservices“ versus „Service Oriented Architecture“
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
The Unix Philosophy (1978) - DOTADIW
Modern .NET Software Architecture11 09.09.2016
Modern .NET Software Architecture12 09.09.2016
The Unix Philosophy (1978) - DOTADIW
Modern .NET Software Architecture13 09.09.2016
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.
The Reactive Manifesto
Modern .NET Software Architecture15 09.09.2016
https://www.reactivemanifesto.org/
REACTIVE
Elastic
Responsive Resilient
Message
Driven
Modern .NET Software Architecture16 09.09.2016
Microservice Characteristics
The Evolution of Software Architecture
Modern .NET Software Architecture17 09.09.2016
The Evolution of Software Architecture
Modern .NET Software Architecture18 09.09.2016
The Evolution of Software Architecture
Modern .NET Software Architecture19 09.09.2016
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/
N-Tier / X-Layer Microservice
Modern .NET Software Architecture21 09.09.2016
Modern .NET Software Architecture22 09.09.2016
Microservice Examples
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
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
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
Modern .NET Software Architecture26 09.09.2016
Inside TicTacTech
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
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
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
Actors: “Objects done right”
Modern .NET Software Architecture30 09.09.2016
Other Technologies to look at
Modern .NET Software Architecture31 09.09.2016
Actors
Messaging
– Server
– Server to UI
NServiceBus
Microservice Challenges
Modern .NET Software Architecture32 09.09.2016
UI Composition – How to separate UI parts?
Complexity
Logging / Monitoring
Integration testing
Deployment
Thank You!Manuel Meyer ([email protected])
Christoph Pletz ([email protected])
09.09.2016 Modern .NET Software Architecture33