In this session we will take a look on Azure Service Fabric and how we can create a web application using ASP.NET Core and microservices. During the presentation we will create a web application that will be hosted in Azure Service Fabric and use the most important capabilities of Azure Service Fabric.
Unlocking the Potential of the Cloud for IBM Power Systems
Azure Microservices in Practice, Radu Vunvulea, ITCamp 2016
1. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
Azure Microservices in Practice
Radu Vunvulea
Solution Architect, iQuest Technologies
Microsoft Azure MVP
@RaduVunvulea
4. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
RADU VUNVULEA MCTS MCP BANK HOME AUTOMATION
MVP ENTERPRISE
AUTOMOTIVE PHARMA
LEAN AND AGILE E-COMMERCE
WEB iQuest
AZURE JAVASCRIPT VUNVULEARADU.BLOGSPOT.COM
MOBILE DOTNET @RaduVunvulea
WCF WPF ENTHUSIASTIC
8. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
Software architecture style in which complex
applications are composed of small, independent
processes communicating with each other using
language-agnostic APIs
Microservices
10. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
If we need a system that should be…
High decoupled
Small
Easy to replace
Focus on doing a small task
Independent deployment units
Symmetrical architecture
11. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
Evolution
Maintenance
is hard
Adding new
features is slow
Changes are
expensive
Technology
becomes the
obstacle rather
than enabler
App Modernization
14. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
Service Fabric | Azure Service Fabric
Microservices
Cloud
…
Azure
Azure Service
Fabric
AWS Service Fabric
On-premises Service Fabric
15. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
Overview
Service Fabric
Azure
Windows
Server
Linux
On-premises
Windows
Server
Linux
Hosted clouds
Windows
Server
Linux
Micros
ervice
Micros
ervice
Micros
ervice
Micros
ervice
Micros
ervice
17. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
ReliableService •Classical
service
•Reliable
•Available
•Scalable
Actor
•State
•Turn-base
access
•Single
thread
•Reentrancy
21. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
• Multiple programing languages (C# & Java)
• Support different commucation mechanisms:
–HTTP(s)
–WCF
–TCP
–UDP
• Any protocol and communication stack is supported
• Capable to run a guest executable
How
30. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
• Local debugging like any other .NET application
• Attach debugger to any Service Fabric Application
(on-premises or cloud)
• Diagnostic Events persistent in Cluster
• Real time Streaming Traces (Diagnostics Events)
Debugging and tracing
32. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
• Low latency
• High-throughput
• Transactional
• Can be used only
with Reliable Services
Reliable Collections
Dictionary
and
Queue
Replicat
ed
Persiste
d
In-
memory
<<servic
e
instance
>>
Asynchr
onous
Transacti
onal
34. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
• Different instances of the same
service can access the same
Reliable Collection
• Instances from different
services cannot access the
same collection
Reliable Collection – Visibility
37. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
Timers and Reminders
Timers
Similar with .NET
Called at a specific
time interval
Reminders
Timer with
persistence
Trigered in all
circumstances
(deactivations and
failovers)
Concurrency
Turn based
concurrency
Stateful Actos only
43. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
Events
• Send events and
notifications from
services to caller
• Allows us be notified at
different steps on when
an exception occurs
• Can be used only for
actor-client
communication
44. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
• On Actor:
– IActorEvents
– Trigger our custom events
• On source:
– Implement callback (Event Handler)
– Subscribe our Event Handler
Events
49. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
Where we can control them
Application
• Partitioning
• Replication
Cluster
• Fault Domain
• Upgrade Domain
• Naming Service
• Resource
Balancer
• Failover Manager
53. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
Today: Enjoy ITCamp Day 1
Tomorow: Enjoy ITCamp Day 2
Saturday: Take a look on
https://github.com/Azure/
servicefabric-samples