SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
BASLE BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA
HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART VIENNA ZURICH
Modern .NET Software Architecture
Where are we today?
Christoph Pletz, CL-SOL
Manuel 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
SignalR
“Branding Service”
ArchitetureOverview
HTML - JS
Web API
Reliable Actors
Reliable Service
Service Bus Listener
Game Events
SignalR
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 (manuel.meyer@trivadis.com)
Christoph Pletz (christoph.pletz@trivadis.com)
09.09.2016 Modern .NET Software Architecture33

Contenu connexe

Similaire à Trivadis TechEvent 2016 Microservices, Containers, CQRS, Actors in .NET for the Cloud by Christoph Pletz and Manuel Meyer

ITCamp 2013 - Melania Danciu - HTML5 apps with LightSwitch
ITCamp 2013 - Melania Danciu - HTML5 apps with LightSwitchITCamp 2013 - Melania Danciu - HTML5 apps with LightSwitch
ITCamp 2013 - Melania Danciu - HTML5 apps with LightSwitch
ITCamp
 

Similaire à Trivadis TechEvent 2016 Microservices, Containers, CQRS, Actors in .NET for the Cloud by Christoph Pletz and Manuel Meyer (20)

HPC in the cloud comes of age - Red Oak HPC Seminar
HPC in the cloud comes of age - Red Oak HPC SeminarHPC in the cloud comes of age - Red Oak HPC Seminar
HPC in the cloud comes of age - Red Oak HPC Seminar
 
FEVR - Micro Frontend
FEVR - Micro FrontendFEVR - Micro Frontend
FEVR - Micro Frontend
 
Vito Flavio Lorusso - How to deploy and run Magento Commerce on Azure
Vito Flavio Lorusso - How to deploy and run Magento Commerce on AzureVito Flavio Lorusso - How to deploy and run Magento Commerce on Azure
Vito Flavio Lorusso - How to deploy and run Magento Commerce on Azure
 
How will the internet of things
How will the internet of thingsHow will the internet of things
How will the internet of things
 
Mobile and Social CPS including Augmented Reality
Mobile and Social CPS including Augmented RealityMobile and Social CPS including Augmented Reality
Mobile and Social CPS including Augmented Reality
 
Micro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMicro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - Plansoft
 
ITCamp 2013 - Melania Danciu - HTML5 apps with LightSwitch
ITCamp 2013 - Melania Danciu - HTML5 apps with LightSwitchITCamp 2013 - Melania Danciu - HTML5 apps with LightSwitch
ITCamp 2013 - Melania Danciu - HTML5 apps with LightSwitch
 
Devteach 2016: A practical overview of actors in service fabric
Devteach 2016: A practical overview of actors in service fabricDevteach 2016: A practical overview of actors in service fabric
Devteach 2016: A practical overview of actors in service fabric
 
OpenShift-webinaari 31.1. / Ambientian esitykset
OpenShift-webinaari 31.1. / Ambientian esityksetOpenShift-webinaari 31.1. / Ambientian esitykset
OpenShift-webinaari 31.1. / Ambientian esitykset
 
CloudSME EU project by Tamas Kiss
CloudSME EU project by Tamas KissCloudSME EU project by Tamas Kiss
CloudSME EU project by Tamas Kiss
 
Visual Studio 2017 Saturday - Key note
Visual Studio 2017 Saturday - Key noteVisual Studio 2017 Saturday - Key note
Visual Studio 2017 Saturday - Key note
 
SysML for Modeling Co-Simulation Orchestration over FMI, INTO-CPS Approach
SysML for Modeling Co-Simulation Orchestration over FMI, INTO-CPS ApproachSysML for Modeling Co-Simulation Orchestration over FMI, INTO-CPS Approach
SysML for Modeling Co-Simulation Orchestration over FMI, INTO-CPS Approach
 
KNX Web services - introduction version 0.9
KNX Web services - introduction version 0.9KNX Web services - introduction version 0.9
KNX Web services - introduction version 0.9
 
SC7 Workshop 3: Big Data Europe Project
SC7 Workshop 3: Big Data Europe ProjectSC7 Workshop 3: Big Data Europe Project
SC7 Workshop 3: Big Data Europe Project
 
Trivadis TechEvent 2016 IoT Portal with PowerBI and SharePoint by Jens Berten...
Trivadis TechEvent 2016 IoT Portal with PowerBI and SharePoint by Jens Berten...Trivadis TechEvent 2016 IoT Portal with PowerBI and SharePoint by Jens Berten...
Trivadis TechEvent 2016 IoT Portal with PowerBI and SharePoint by Jens Berten...
 
JavaOne 2016 - Faces Counter
JavaOne 2016 -  Faces CounterJavaOne 2016 -  Faces Counter
JavaOne 2016 - Faces Counter
 
Intro to IoT-23Sep2015
Intro to IoT-23Sep2015Intro to IoT-23Sep2015
Intro to IoT-23Sep2015
 
CeBIT 2016 - The Data Centre in the age of Microservices
CeBIT 2016 - The Data Centre in the age of MicroservicesCeBIT 2016 - The Data Centre in the age of Microservices
CeBIT 2016 - The Data Centre in the age of Microservices
 
SFScon17 - Frank Karlitschek: "The next steps for secure enterprise file sync...
SFScon17 - Frank Karlitschek: "The next steps for secure enterprise file sync...SFScon17 - Frank Karlitschek: "The next steps for secure enterprise file sync...
SFScon17 - Frank Karlitschek: "The next steps for secure enterprise file sync...
 
NET !!! A must have tool under your belt
NET !!! A must have tool under your beltNET !!! A must have tool under your belt
NET !!! A must have tool under your belt
 

Plus de Trivadis

Plus de Trivadis (20)

Azure Days 2019: Azure Chatbot Development for Airline Irregularities (Remco ...
Azure Days 2019: Azure Chatbot Development for Airline Irregularities (Remco ...Azure Days 2019: Azure Chatbot Development for Airline Irregularities (Remco ...
Azure Days 2019: Azure Chatbot Development for Airline Irregularities (Remco ...
 
Azure Days 2019: Trivadis Azure Foundation – Das Fundament für den ... (Nisan...
Azure Days 2019: Trivadis Azure Foundation – Das Fundament für den ... (Nisan...Azure Days 2019: Trivadis Azure Foundation – Das Fundament für den ... (Nisan...
Azure Days 2019: Trivadis Azure Foundation – Das Fundament für den ... (Nisan...
 
Azure Days 2019: Business Intelligence auf Azure (Marco Amhof & Yves Mauron)
Azure Days 2019: Business Intelligence auf Azure (Marco Amhof & Yves Mauron)Azure Days 2019: Business Intelligence auf Azure (Marco Amhof & Yves Mauron)
Azure Days 2019: Business Intelligence auf Azure (Marco Amhof & Yves Mauron)
 
Azure Days 2019: Master the Move to Azure (Konrad Brunner)
Azure Days 2019: Master the Move to Azure (Konrad Brunner)Azure Days 2019: Master the Move to Azure (Konrad Brunner)
Azure Days 2019: Master the Move to Azure (Konrad Brunner)
 
Azure Days 2019: Keynote Azure Switzerland – Status Quo und Ausblick (Primo A...
Azure Days 2019: Keynote Azure Switzerland – Status Quo und Ausblick (Primo A...Azure Days 2019: Keynote Azure Switzerland – Status Quo und Ausblick (Primo A...
Azure Days 2019: Keynote Azure Switzerland – Status Quo und Ausblick (Primo A...
 
Azure Days 2019: Grösser und Komplexer ist nicht immer besser (Meinrad Weiss)
Azure Days 2019: Grösser und Komplexer ist nicht immer besser (Meinrad Weiss)Azure Days 2019: Grösser und Komplexer ist nicht immer besser (Meinrad Weiss)
Azure Days 2019: Grösser und Komplexer ist nicht immer besser (Meinrad Weiss)
 
Azure Days 2019: Get Connected with Azure API Management (Gerry Keune & Stefa...
Azure Days 2019: Get Connected with Azure API Management (Gerry Keune & Stefa...Azure Days 2019: Get Connected with Azure API Management (Gerry Keune & Stefa...
Azure Days 2019: Get Connected with Azure API Management (Gerry Keune & Stefa...
 
Azure Days 2019: Infrastructure as Code auf Azure (Jonas Wanninger & Daniel H...
Azure Days 2019: Infrastructure as Code auf Azure (Jonas Wanninger & Daniel H...Azure Days 2019: Infrastructure as Code auf Azure (Jonas Wanninger & Daniel H...
Azure Days 2019: Infrastructure as Code auf Azure (Jonas Wanninger & Daniel H...
 
Azure Days 2019: Wie bringt man eine Data Analytics Plattform in die Cloud? (...
Azure Days 2019: Wie bringt man eine Data Analytics Plattform in die Cloud? (...Azure Days 2019: Wie bringt man eine Data Analytics Plattform in die Cloud? (...
Azure Days 2019: Wie bringt man eine Data Analytics Plattform in die Cloud? (...
 
Azure Days 2019: Azure@Helsana: Die Erweiterung von Dynamics CRM mit Azure Po...
Azure Days 2019: Azure@Helsana: Die Erweiterung von Dynamics CRM mit Azure Po...Azure Days 2019: Azure@Helsana: Die Erweiterung von Dynamics CRM mit Azure Po...
Azure Days 2019: Azure@Helsana: Die Erweiterung von Dynamics CRM mit Azure Po...
 
TechEvent 2019: Kundenstory - Kein Angebot, kein Auftrag – Wie Du ein individ...
TechEvent 2019: Kundenstory - Kein Angebot, kein Auftrag – Wie Du ein individ...TechEvent 2019: Kundenstory - Kein Angebot, kein Auftrag – Wie Du ein individ...
TechEvent 2019: Kundenstory - Kein Angebot, kein Auftrag – Wie Du ein individ...
 
TechEvent 2019: Oracle Database Appliance M/L - Erfahrungen und Erfolgsmethod...
TechEvent 2019: Oracle Database Appliance M/L - Erfahrungen und Erfolgsmethod...TechEvent 2019: Oracle Database Appliance M/L - Erfahrungen und Erfolgsmethod...
TechEvent 2019: Oracle Database Appliance M/L - Erfahrungen und Erfolgsmethod...
 
TechEvent 2019: Security 101 für Web Entwickler; Roland Krüger - Trivadis
TechEvent 2019: Security 101 für Web Entwickler; Roland Krüger - TrivadisTechEvent 2019: Security 101 für Web Entwickler; Roland Krüger - Trivadis
TechEvent 2019: Security 101 für Web Entwickler; Roland Krüger - Trivadis
 
TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...
TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...
TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...
 
TechEvent 2019: DBaaS from Swisscom Cloud powered by Trivadis; Konrad Häfeli ...
TechEvent 2019: DBaaS from Swisscom Cloud powered by Trivadis; Konrad Häfeli ...TechEvent 2019: DBaaS from Swisscom Cloud powered by Trivadis; Konrad Häfeli ...
TechEvent 2019: DBaaS from Swisscom Cloud powered by Trivadis; Konrad Häfeli ...
 
TechEvent 2019: Status of the partnership Trivadis and EDB - Comparing Postgr...
TechEvent 2019: Status of the partnership Trivadis and EDB - Comparing Postgr...TechEvent 2019: Status of the partnership Trivadis and EDB - Comparing Postgr...
TechEvent 2019: Status of the partnership Trivadis and EDB - Comparing Postgr...
 
TechEvent 2019: More Agile, More AI, More Cloud! Less Work?!; Oliver Dörr - T...
TechEvent 2019: More Agile, More AI, More Cloud! Less Work?!; Oliver Dörr - T...TechEvent 2019: More Agile, More AI, More Cloud! Less Work?!; Oliver Dörr - T...
TechEvent 2019: More Agile, More AI, More Cloud! Less Work?!; Oliver Dörr - T...
 
TechEvent 2019: Kundenstory - Vom Hauptmann zu Köpenick zum Polizisten 2020 -...
TechEvent 2019: Kundenstory - Vom Hauptmann zu Köpenick zum Polizisten 2020 -...TechEvent 2019: Kundenstory - Vom Hauptmann zu Köpenick zum Polizisten 2020 -...
TechEvent 2019: Kundenstory - Vom Hauptmann zu Köpenick zum Polizisten 2020 -...
 
TechEvent 2019: Vom Rechenzentrum in die Oracle Cloud - Übertragungsmethoden;...
TechEvent 2019: Vom Rechenzentrum in die Oracle Cloud - Übertragungsmethoden;...TechEvent 2019: Vom Rechenzentrum in die Oracle Cloud - Übertragungsmethoden;...
TechEvent 2019: Vom Rechenzentrum in die Oracle Cloud - Übertragungsmethoden;...
 
TechEvent 2019: The sleeping Power of Data; Eberhard Lösch - Trivadis
TechEvent 2019: The sleeping Power of Data; Eberhard Lösch - TrivadisTechEvent 2019: The sleeping Power of Data; Eberhard Lösch - Trivadis
TechEvent 2019: The sleeping Power of Data; Eberhard Lösch - Trivadis
 

Dernier

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Dernier (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 

Trivadis TechEvent 2016 Microservices, Containers, CQRS, Actors in .NET for the Cloud by Christoph Pletz and Manuel Meyer

  • 1. BASLE BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART VIENNA ZURICH Modern .NET Software Architecture Where are we today? Christoph Pletz, CL-SOL Manuel Meyer, ZH-AD
  • 2. 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
  • 3. TicTacTech Modern .NET Software Architecture3 09.09.2016 GamePlayer Statistics
  • 4. 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 !?
  • 5. Modern .NET Software Architecture5 09.09.2016 A Brief History of Sofware Engineering
  • 6. A Look Around Today Modern .NET Software Architecture6 09.09.2016 Google Trend „Microservices“
  • 7. A Look Around Today Modern .NET Software Architecture7 09.09.2016 Google Trend „SOA“
  • 8. A Look Around Today Modern .NET Software Architecture8 09.09.2016 Google Trend „SOA“
  • 9. A Look Around Today Modern .NET Software Architecture9 09.09.2016 Google Trend „Microservices“ versus „Service Oriented Architecture“
  • 10. 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
  • 11. The Unix Philosophy (1978) - DOTADIW Modern .NET Software Architecture11 09.09.2016
  • 12. Modern .NET Software Architecture12 09.09.2016
  • 13. The Unix Philosophy (1978) - DOTADIW Modern .NET Software Architecture13 09.09.2016
  • 14. 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.
  • 15. The Reactive Manifesto Modern .NET Software Architecture15 09.09.2016 https://www.reactivemanifesto.org/ REACTIVE Elastic Responsive Resilient Message Driven
  • 16. Modern .NET Software Architecture16 09.09.2016 Microservice Characteristics
  • 17. The Evolution of Software Architecture Modern .NET Software Architecture17 09.09.2016
  • 18. The Evolution of Software Architecture Modern .NET Software Architecture18 09.09.2016
  • 19. The Evolution of Software Architecture Modern .NET Software Architecture19 09.09.2016
  • 20. 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/
  • 21. N-Tier / X-Layer  Microservice Modern .NET Software Architecture21 09.09.2016 
  • 22. Modern .NET Software Architecture22 09.09.2016 Microservice Examples
  • 23. 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
  • 24. 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
  • 25. 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
  • 26. Modern .NET Software Architecture26 09.09.2016 Inside TicTacTech
  • 27. ServiceBus Modern .NET Software Architecture27 09.09.2016 PlayerChanged Logged-In HTML - JS Web API Data Collector SignalR “Branding Service” ArchitetureOverview HTML - JS Web API Reliable Actors Reliable Service Service Bus Listener Game Events SignalR Web API HTML - JS Document DB
  • 28. 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
  • 29. 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
  • 30. Actors: “Objects done right” Modern .NET Software Architecture30 09.09.2016
  • 31. Other Technologies to look at Modern .NET Software Architecture31 09.09.2016 Actors Messaging – Server – Server to UI NServiceBus
  • 32. Microservice Challenges Modern .NET Software Architecture32 09.09.2016 UI Composition – How to separate UI parts? Complexity Logging / Monitoring Integration testing Deployment
  • 33. Thank You! Manuel Meyer (manuel.meyer@trivadis.com) Christoph Pletz (christoph.pletz@trivadis.com) 09.09.2016 Modern .NET Software Architecture33