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
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
High decoupled
Small
Easy to replace
Symmetrical architecture
Focus on doing a small task
Independent deployment units
Capabilities
Scalability
Availability
Performance
Lifecycle
management
Portability
Monitoring
Service Fabric
Azure
Windows
Server
Linux
On-premises
Windows
Server
Linux
Hosted clouds
Windows
Server
Linux
Microservice
MicroserviceMicroserviceMicroservice
Microservice
Reliable
Services
Reliable
Actors
Stateful
Stateless
ReliableService
• Classical
service
• Reliable
• Available
• Scalable
ReliableActor
• State
• Turn-base
access
• Single
thread
• Reentrancy
Stateless
• No state
persisted
between
calls
Stateful
• ‘A’ state
is
persisted
between
calls
Reliable
Services
Reliable
Actors
Stateful
Stateless
Reliable
Services
Reliable
Actors
Stateful
Stateless
Reliable
Services
Reliable
Actors
Stateful
Stateless
Dictionary
and
Queue
Replicated
Persisted
In-memory
<<service
instance>>
Asynchronous
Transactional
•
•
•
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
False
•
•
•
•
Register
Call the event from our actor
Application
• Partitioning
• Replication
Cluster
• Fault Domain
• Upgrade Domain
• Naming Service
• Resource
Balancer
• Failover
Manager
<ServiceTemplates>
<StatelessService ServiceTypeName=“PaymentService" InstanceCount=“8">
<SingletonPartition />
</StatelessService>
…
</ServiceTemplates>
<ServiceTemplates>
<StatelessService ServiceTypeName=“CardTransactionService" InstanceCount=“8">
<SingletonPartition />
<ServiceCorrelations>
<ServiceCorrelation Scheme="Affinity" ServiceName="fabric:/shopApp/paymentService"/>
</ServiceCorrelations>
</StatelessService>
</ServiceTemplates>
<ServiceTemplates>
<StatelessService ServiceTypeName=“PaymentService" InstanceCount=“8">
<SingletonPartition />
</StatelessService>
…
</ServiceTemplates>
<ServiceTemplates>
<StatelessService ServiceTypeName=“CardTransactionService" InstanceCount=“8">
<SingletonPartition />
<ServiceCorrelations>
<ServiceCorrelation Scheme="Affinity" ServiceName="fabric:/shopApp/paymentService"/>
</ServiceCorrelations>
</StatelessService>
</ServiceTemplates>
<ServiceTemplates>
<StatelessService ServiceTypeName=“UserCheckService" InstanceCount=“8">
<SingletonPartition />
<ServiceCorrelations>
<ServiceCorrelation Scheme="Affinity" ServiceName="fabric:/shopApp/cardTransactionservice"/>
</ServiceCorrelations>
</StatelessService>
</ServiceTemplates>
Service Fabric
Web Sites
Application
Custom
logic
Question
Answers
{
“name” : “Radu Vunvulea,
“blog” : “vunvulearadu.blogspot.com”,
“email” : ”vunvulear@outlook.com”,
“socialMedia” :
{
“twitter” : “@RaduVunvulea”,
“fb” : “radu.vunvulea”
}
}
Today: Enjoy the afternoon
Tonight: Take a look on
https://github.com/Azure/
servicefabric-samples
{
“name” : “Radu Vunvulea,
“blog” : “vunvulearadu.blogspot.com”,
“email” : ”vunvulear@outlook.com”,
“socialMedia” :
{
“twitter” : “@RaduVunvulea”,
“fb” : “radu.vunvulea”
}
}

Radu Vunvulea - Microsoft TechDay Baltic 2016 | First 13 steps to be able to design an application for Azure Service Fabric