SlideShare una empresa de Scribd logo
1 de 58
Azure Service Fabric
...a gentle introduction
Alessandro Melchiori
Solution architect @ Particular Software
alessandro [dot] melchiori [at] particular [dot] net
twitter: @amelchiori
blog: http://melkio.codiceplastico.com
github: http://github.com/melkio
Alessandro Melchiori
• Why Service Fabric?
• Service Fabric overview
• What is a microservice?
 Actor model
 Stateless and Stateful
• Monitoring
 Service Fabric Explorer
• Upgrade application
Agenda
Why Service Fabric?
Where Service Fabric?
Why Service Fabric?
Why Service Fabric?
Service Fabric Architecture
Service Fabric architecture: cluster
• Cluster is a federation of machines
• Cluster can scale to 1000s of
machines
Service Fabric architecture: replication system
P
S S
S S
• Replica states
 None
 Idle secondary
 Active secondary
 Primary
Service Fabric architecture: replication system
P
S S
S S
• Reads are completed at the
primary
Service Fabric architecture: replication system
P
S S
S S
• Writes are replicated to the write
quorum of secondaries
Service Fabric architecture: replication system
P
S S
S S
• Writes are replicated to the write
quorum of secondaries
Service Fabric architecture: replication system
P
S S
S S
• Writes are replicated to the write
quorum of secondaries
Service Fabric architecture: replication system
P
S S
S S
• Writes are replicated to the write
quorum of secondaries
Service Fabric architecture: replication system
P
S S
S S
• Writes are replicated to the write
quorum of secondaries
Service Fabric architecture: replication system
P
S S
S S
• Writes are replicated to the write
quorum of secondaries
Service Fabric architecture: replication system reconfig
P
S S
S S
• Types of reconfiguration
 Primary failover
 Removing a failed secondary
 Adding recovered replica
 Building new secondary
Service Fabric architecture: replication system reconfig
P
S S
S S
• Types of reconfiguration
 Primary failover
 Removing a failed secondary
 Adding recovered replica
 Building new secondary
Service Fabric architecture: replication system reconfig
S P
S S
• Types of reconfiguration
 Primary failover
 Removing a failed secondary
 Adding recovered replica
 Building new secondary
Service Fabric architecture: replication system reconfig
S P
S S
• Types of reconfiguration
 Primary failover
 Removing a failed secondary
 Adding recovered replica
 Building new secondary
Service Fabric architecture: replication system reconfig
S P
S S
• Types of reconfiguration
 Primary failover
 Removing a failed secondary
 Adding recovered replica
 Building new secondary
Service Fabric architecture: replication system reconfig
P
S S
• Types of reconfiguration
 Primary failover
 Removing a failed secondary
 Adding recovered replica
 Building new secondary
Service Fabric architecture: replication system reconfig
P
P
S S
• Types of reconfiguration
 Primary failover
 Removing a failed secondary
 Adding recovered replica
 Building new secondary
Service Fabric architecture: replication system reconfig
S
P
S S
• Types of reconfiguration
 Primary failover
 Removing a failed secondary
 Adding recovered replica
 Building new secondary
Service Fabric architecture: replication system reconfig
S
P
S S
• Types of reconfiguration
 Primary failover
 Removing a failed secondary
 Adding recovered replica
 Building new secondary
Service Fabric architecture: replication system reconfig
S
P
S S
• Types of reconfiguration
 Primary failover
 Removing a failed secondary
 Adding recovered replica
 Building new secondary
B
Service Fabric architecture: replication system reconfig
S
S P
S S
• Types of reconfiguration
 Primary failover
 Removing a failed secondary
 Adding recovered replica
 Building new secondary
Service Fabric architecture: partitioning
• Allow data/computation to be spread across nodes
• A partition must fit in 1 node / 1 node can hold multiple partitions
• Cross-partitions operations requires network hops and different transactions
• SF balances partitions across nodes
Service Fabric architecture: partitioning
Service Fabric architecture: partitioning
Service Fabric application model
Service Fabric application model
DEMO
run your local cluster
• Encapsulate a business scenario
• Can be written in any programming language
• Consist of code and (optionally) state that is independently versioned, deployed
and scaled
• Has a unique name, used to resolve its location
• Remains consistent and available in the presence of failure
• Interacts with other microservices
What is a microservice?
The actor model in computer science is a mathematical model of
concurrent computation that treats "actors" as the universal primitives of
concurrent computation: in response to a message that it receives, an
actor can make local decisions, create more actors, send more
messages, and determine how to respond to the next message received
https://en.wikipedia.org/wiki/Actor_model
Actor model
The actor model in computer science is a mathematical model of
concurrent computation that treats "actors" as the universal primitives of
concurrent computation: in response to a message that it receives, an
actor can make local decisions, create more actors, send more
messages, and determine how to respond to the next message received
https://en.wikipedia.org/wiki/Actor_model
Actor model
Actor model
Actor model
• Actors are isolated, single-threaded components that encapsulate both state and
behavior
• Each such actor is uniquely identified by an actor ID
• Actors interact with rest of the system, including other actors, by passing
asynchronous messages using a request-response pattern
Service Fabric Reliable Actors API
public interface ICalculatorActor : IActor
{
Task Increment();
Task<Int32> GetValue();
}
Stateless actor: definition
public interface ICalculatorActor : IActor
{
Task Increment();
Task<Int32> GetValue();
}
Stateless actor: definition
public interface ICalculatorActor : IActor
{
Task Increment();
Task<Int32> GetValue();
}
Stateless actor: definition
public interface ICalculatorActor : IActor
{
Task Increment();
Task<Int32> GetValue();
}
public class CalculatorActor : StatelessActor, ICalculatorActor
{
...
}
Stateless actor: definition
public interface ICalculatorActor : IActor
{
Task Increment();
Task<Int32> GetValue();
}
public class CalculatorActor : StatelessActor, ICalculatorActor
{
...
}
Stateless actor: definition
public interface ICalculatorActor : IActor
{
Task Increment();
Task<Int32> GetValue();
}
Stateful actor: definition
public interface ICalculatorActor : IActor
{
Task Increment();
Task<Int32> GetValue();
}
public class CalculatorActor : StatefulActor<ActorState>,
ICalculatorActor
{
...
}
Stateful actor: definition
public interface ICalculatorActor : IActor
{
Task Increment();
Task<Int32> GetValue();
}
public class CalculatorActor : StatefulActor<ActorState>,
ICalculatorActor
{
...
}
Stateless actor: definition
var actorId = ActorId.NewId();
var applicationName = "fabric:/CalculatorActorApp";
var actor = ActorProxy.Create<ICalculatorActor>(actorId,
applicationName)
Actor communication: the actor proxy
var actorId = ActorId.NewId();
var applicationName = "fabric:/CalculatorActorApp";
var actor = ActorProxy.Create<ICalculatorActor>(actorId,
applicationName)
Actor communication: the actor proxy
DEMO
stateless actor vs stateful actor
Upgrade application (with zero downtime)
Upgrade application (with zero downtime)
Upgrade application (with zero downtime)
Upgrade application (with zero downtime)
DEMO
upgrade application
Free e-book available at:
http://go.particular.net/Liguria
Curiosi?

Más contenido relacionado

La actualidad más candente

Deep dive into service fabric after 2 years
Deep dive into service fabric after 2 yearsDeep dive into service fabric after 2 years
Deep dive into service fabric after 2 yearsTomasz Kopacz
 
Microservices with Azure Service Fabric
Microservices with Azure Service FabricMicroservices with Azure Service Fabric
Microservices with Azure Service FabricDavide Benvegnù
 
Microservice and Service Fabric talk
Microservice and Service Fabric talkMicroservice and Service Fabric talk
Microservice and Service Fabric talkDaniel Kreuzhofer
 
Microservices to Scale using Azure Service Fabric
Microservices to Scale using Azure Service FabricMicroservices to Scale using Azure Service Fabric
Microservices to Scale using Azure Service FabricMukul Jain
 
Distributed Computing made easy with Service Fabric
Distributed Computing made easy with Service FabricDistributed Computing made easy with Service Fabric
Distributed Computing made easy with Service FabricBizTalk360
 
.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric.NET microservices with Azure Service Fabric
.NET microservices with Azure Service FabricDavide Benvegnù
 
The Microservices world in. NET Core and. NET framework
The Microservices world in. NET Core and. NET frameworkThe Microservices world in. NET Core and. NET framework
The Microservices world in. NET Core and. NET frameworkMassimo Bonanni
 
Microservices and Azure App Services
Microservices and Azure App ServicesMicroservices and Azure App Services
Microservices and Azure App ServicesDamir Dobric
 
Windows Azure AppFabric
Windows Azure AppFabricWindows Azure AppFabric
Windows Azure AppFabricDavid Chou
 
Azure in Developer Perspective
Azure in Developer PerspectiveAzure in Developer Perspective
Azure in Developer Perspectiverizaon
 
Resume_Ashok-updated (1) (1)
Resume_Ashok-updated (1) (1)Resume_Ashok-updated (1) (1)
Resume_Ashok-updated (1) (1)chimmili ashok
 
Usage of Reliable Actors in Azure Service Fabric
Usage of Reliable Actors in Azure Service FabricUsage of Reliable Actors in Azure Service Fabric
Usage of Reliable Actors in Azure Service FabricAlexander Laysha
 
PaaS and Container Innovation – What’s new with App Service
PaaS and Container Innovation – What’s new with App ServicePaaS and Container Innovation – What’s new with App Service
PaaS and Container Innovation – What’s new with App ServiceMicrosoft Tech Community
 
Introduction to Windows Azure AppFabric Applications
Introduction to Windows Azure AppFabric ApplicationsIntroduction to Windows Azure AppFabric Applications
Introduction to Windows Azure AppFabric ApplicationsNeil Mackenzie
 
Microservice.net by sergey seletsky
Microservice.net by sergey seletskyMicroservice.net by sergey seletsky
Microservice.net by sergey seletskySergey Seletsky
 
Azure Service Fabric: The road ahead for microservices
Azure Service Fabric: The road ahead for microservicesAzure Service Fabric: The road ahead for microservices
Azure Service Fabric: The road ahead for microservicesMicrosoft Tech Community
 

La actualidad más candente (20)

Azure Service Fabric Overview
Azure Service Fabric OverviewAzure Service Fabric Overview
Azure Service Fabric Overview
 
Deep dive into service fabric after 2 years
Deep dive into service fabric after 2 yearsDeep dive into service fabric after 2 years
Deep dive into service fabric after 2 years
 
Microservices with Azure Service Fabric
Microservices with Azure Service FabricMicroservices with Azure Service Fabric
Microservices with Azure Service Fabric
 
Microservice and Service Fabric talk
Microservice and Service Fabric talkMicroservice and Service Fabric talk
Microservice and Service Fabric talk
 
Microservices to Scale using Azure Service Fabric
Microservices to Scale using Azure Service FabricMicroservices to Scale using Azure Service Fabric
Microservices to Scale using Azure Service Fabric
 
Distributed Computing made easy with Service Fabric
Distributed Computing made easy with Service FabricDistributed Computing made easy with Service Fabric
Distributed Computing made easy with Service Fabric
 
.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric
 
Azure service fabric
Azure service fabricAzure service fabric
Azure service fabric
 
MicroServices on Azure
MicroServices on AzureMicroServices on Azure
MicroServices on Azure
 
The Microservices world in. NET Core and. NET framework
The Microservices world in. NET Core and. NET frameworkThe Microservices world in. NET Core and. NET framework
The Microservices world in. NET Core and. NET framework
 
Microservices and Azure App Services
Microservices and Azure App ServicesMicroservices and Azure App Services
Microservices and Azure App Services
 
Windows Azure AppFabric
Windows Azure AppFabricWindows Azure AppFabric
Windows Azure AppFabric
 
Azure in Developer Perspective
Azure in Developer PerspectiveAzure in Developer Perspective
Azure in Developer Perspective
 
Resume_Ashok-updated (1) (1)
Resume_Ashok-updated (1) (1)Resume_Ashok-updated (1) (1)
Resume_Ashok-updated (1) (1)
 
Usage of Reliable Actors in Azure Service Fabric
Usage of Reliable Actors in Azure Service FabricUsage of Reliable Actors in Azure Service Fabric
Usage of Reliable Actors in Azure Service Fabric
 
PaaS and Container Innovation – What’s new with App Service
PaaS and Container Innovation – What’s new with App ServicePaaS and Container Innovation – What’s new with App Service
PaaS and Container Innovation – What’s new with App Service
 
Introduction to Windows Azure AppFabric Applications
Introduction to Windows Azure AppFabric ApplicationsIntroduction to Windows Azure AppFabric Applications
Introduction to Windows Azure AppFabric Applications
 
Azure Messaging Services 2
Azure Messaging Services 2Azure Messaging Services 2
Azure Messaging Services 2
 
Microservice.net by sergey seletsky
Microservice.net by sergey seletskyMicroservice.net by sergey seletsky
Microservice.net by sergey seletsky
 
Azure Service Fabric: The road ahead for microservices
Azure Service Fabric: The road ahead for microservicesAzure Service Fabric: The road ahead for microservices
Azure Service Fabric: The road ahead for microservices
 

Destacado

The new Azure App Service Architecture
The new Azure App Service ArchitectureThe new Azure App Service Architecture
The new Azure App Service ArchitectureJoão Pedro Martins
 
Azure Service Fabric - weaving services in hyper-scale
Azure Service Fabric - weaving services in hyper-scaleAzure Service Fabric - weaving services in hyper-scale
Azure Service Fabric - weaving services in hyper-scaleSebastian Gebski
 
Gaming in the Cloud at Websummit Dublin
Gaming in the Cloud at Websummit DublinGaming in the Cloud at Websummit Dublin
Gaming in the Cloud at Websummit DublinIan Massingham
 
Azure Mobile Apps with Xamarin
Azure Mobile Apps with XamarinAzure Mobile Apps with Xamarin
Azure Mobile Apps with Xamarindanhermes
 
Introduction to Azure Service Fabric
Introduction to Azure Service FabricIntroduction to Azure Service Fabric
Introduction to Azure Service FabricTakekazu Omi
 
Project Orleans - Actor Model framework
Project Orleans - Actor Model frameworkProject Orleans - Actor Model framework
Project Orleans - Actor Model frameworkNeil Mackenzie
 
Continuous delivery with azure app service
Continuous delivery with azure app serviceContinuous delivery with azure app service
Continuous delivery with azure app serviceNabeel Khan
 
Akka.NET Fundamentals — #ProgNet15
Akka.NET Fundamentals — #ProgNet15Akka.NET Fundamentals — #ProgNet15
Akka.NET Fundamentals — #ProgNet15petabridge
 
Azure app service to create web and mobile apps
Azure app service to create web and mobile appsAzure app service to create web and mobile apps
Azure app service to create web and mobile appsKen Cenerelli
 
A Brief Intro to Microsoft Orleans
A Brief Intro to Microsoft OrleansA Brief Intro to Microsoft Orleans
A Brief Intro to Microsoft OrleansUri Goldstein
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursMicrosoft
 
From Zero to the Actor Model (With Akka.Net) - CodeMash2017 - Tamir Dresher
From Zero to the Actor Model (With Akka.Net) - CodeMash2017 - Tamir DresherFrom Zero to the Actor Model (With Akka.Net) - CodeMash2017 - Tamir Dresher
From Zero to the Actor Model (With Akka.Net) - CodeMash2017 - Tamir DresherTamir Dresher
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps  with AzureCloud Powered Mobile Apps  with Azure
Cloud Powered Mobile Apps with AzureKris Wagner
 
From a monolith to microservices with Azure Service Fabric
From a monolith to microservices with Azure Service FabricFrom a monolith to microservices with Azure Service Fabric
From a monolith to microservices with Azure Service FabricStéphane ERBRECH
 
Akka.net versus microsoft orleans
Akka.net versus microsoft orleansAkka.net versus microsoft orleans
Akka.net versus microsoft orleansBill Tulloch
 
Service Fabric – building tomorrows applications today
Service Fabric – building tomorrows applications todayService Fabric – building tomorrows applications today
Service Fabric – building tomorrows applications todayBizTalk360
 
Azure App Service Architecture. Web Apps.
Azure App Service Architecture. Web Apps.Azure App Service Architecture. Web Apps.
Azure App Service Architecture. Web Apps.Alexander Feschenko
 

Destacado (18)

The new Azure App Service Architecture
The new Azure App Service ArchitectureThe new Azure App Service Architecture
The new Azure App Service Architecture
 
Azure Service Fabric - weaving services in hyper-scale
Azure Service Fabric - weaving services in hyper-scaleAzure Service Fabric - weaving services in hyper-scale
Azure Service Fabric - weaving services in hyper-scale
 
Gaming in the Cloud at Websummit Dublin
Gaming in the Cloud at Websummit DublinGaming in the Cloud at Websummit Dublin
Gaming in the Cloud at Websummit Dublin
 
Azure Mobile Apps with Xamarin
Azure Mobile Apps with XamarinAzure Mobile Apps with Xamarin
Azure Mobile Apps with Xamarin
 
Introduction to Azure Service Fabric
Introduction to Azure Service FabricIntroduction to Azure Service Fabric
Introduction to Azure Service Fabric
 
Project Orleans - Actor Model framework
Project Orleans - Actor Model frameworkProject Orleans - Actor Model framework
Project Orleans - Actor Model framework
 
Continuous delivery with azure app service
Continuous delivery with azure app serviceContinuous delivery with azure app service
Continuous delivery with azure app service
 
Akka.NET Fundamentals — #ProgNet15
Akka.NET Fundamentals — #ProgNet15Akka.NET Fundamentals — #ProgNet15
Akka.NET Fundamentals — #ProgNet15
 
Azure app service to create web and mobile apps
Azure app service to create web and mobile appsAzure app service to create web and mobile apps
Azure app service to create web and mobile apps
 
A Brief Intro to Microsoft Orleans
A Brief Intro to Microsoft OrleansA Brief Intro to Microsoft Orleans
A Brief Intro to Microsoft Orleans
 
Azure app services API apps
Azure app services API appsAzure app services API apps
Azure app services API apps
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeurs
 
From Zero to the Actor Model (With Akka.Net) - CodeMash2017 - Tamir Dresher
From Zero to the Actor Model (With Akka.Net) - CodeMash2017 - Tamir DresherFrom Zero to the Actor Model (With Akka.Net) - CodeMash2017 - Tamir Dresher
From Zero to the Actor Model (With Akka.Net) - CodeMash2017 - Tamir Dresher
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps  with AzureCloud Powered Mobile Apps  with Azure
Cloud Powered Mobile Apps with Azure
 
From a monolith to microservices with Azure Service Fabric
From a monolith to microservices with Azure Service FabricFrom a monolith to microservices with Azure Service Fabric
From a monolith to microservices with Azure Service Fabric
 
Akka.net versus microsoft orleans
Akka.net versus microsoft orleansAkka.net versus microsoft orleans
Akka.net versus microsoft orleans
 
Service Fabric – building tomorrows applications today
Service Fabric – building tomorrows applications todayService Fabric – building tomorrows applications today
Service Fabric – building tomorrows applications today
 
Azure App Service Architecture. Web Apps.
Azure App Service Architecture. Web Apps.Azure App Service Architecture. Web Apps.
Azure App Service Architecture. Web Apps.
 

Similar a Azure service fabric: a gentle introduction

Getting Deep on Orchestration: APIs, Actors, and Abstractions in a Distribute...
Getting Deep on Orchestration: APIs, Actors, and Abstractions in a Distribute...Getting Deep on Orchestration: APIs, Actors, and Abstractions in a Distribute...
Getting Deep on Orchestration: APIs, Actors, and Abstractions in a Distribute...Docker, Inc.
 
Cooking Akka.net and Azure Service Fabric together
Cooking Akka.net and Azure Service Fabric togetherCooking Akka.net and Azure Service Fabric together
Cooking Akka.net and Azure Service Fabric togetherAlessandro Melchiori
 
Moving Applications into Azure Kubernetes
Moving Applications into Azure KubernetesMoving Applications into Azure Kubernetes
Moving Applications into Azure KubernetesHussein Salman
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101Huy Vo
 
Stephane Lapointe & Alexandre Brisebois: Développer des microservices avec Se...
Stephane Lapointe & Alexandre Brisebois: Développer des microservices avec Se...Stephane Lapointe & Alexandre Brisebois: Développer des microservices avec Se...
Stephane Lapointe & Alexandre Brisebois: Développer des microservices avec Se...MSDEVMTL
 
Microservices: How loose is loosely coupled?
Microservices: How loose is loosely coupled?Microservices: How loose is loosely coupled?
Microservices: How loose is loosely coupled?John Rofrano
 
Three Degrees of Mediation: Challenges and Lessons in building Cloud-agnostic...
Three Degrees of Mediation: Challenges and Lessons in building Cloud-agnostic...Three Degrees of Mediation: Challenges and Lessons in building Cloud-agnostic...
Three Degrees of Mediation: Challenges and Lessons in building Cloud-agnostic...Alex Maclinovsky
 
Software architecture
Software architectureSoftware architecture
Software architectureUri Meirav
 
Magento Developer Talk. Microservice Architecture and Actor Model
Magento Developer Talk. Microservice Architecture and Actor ModelMagento Developer Talk. Microservice Architecture and Actor Model
Magento Developer Talk. Microservice Architecture and Actor ModelIgor Miniailo
 
ASP.NET Core and Docker
ASP.NET Core and DockerASP.NET Core and Docker
ASP.NET Core and DockerChuck Megivern
 
Exploring Twitter's Finagle technology stack for microservices
Exploring Twitter's Finagle technology stack for microservicesExploring Twitter's Finagle technology stack for microservices
Exploring Twitter's Finagle technology stack for microservices💡 Tomasz Kogut
 
Genomic Computation at Scale with Serverless, StackStorm and Docker Swarm
Genomic Computation at Scale with Serverless, StackStorm and Docker SwarmGenomic Computation at Scale with Serverless, StackStorm and Docker Swarm
Genomic Computation at Scale with Serverless, StackStorm and Docker SwarmDmitri Zimine
 
Java Web services
Java Web servicesJava Web services
Java Web servicesSujit Kumar
 
Exploring microservices in a Microsoft landscape
Exploring microservices in a Microsoft landscapeExploring microservices in a Microsoft landscape
Exploring microservices in a Microsoft landscapeAlex Thissen
 
Cloudify workshop at CCCEU 2014
Cloudify workshop at CCCEU 2014 Cloudify workshop at CCCEU 2014
Cloudify workshop at CCCEU 2014 Uri Cohen
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesAmazon Web Services
 
Reference architectures shows a microservices deployed to Kubernetes
Reference architectures shows a microservices deployed to KubernetesReference architectures shows a microservices deployed to Kubernetes
Reference architectures shows a microservices deployed to KubernetesRakesh Gujjarlapudi
 
Diksha sda presentation
Diksha sda presentationDiksha sda presentation
Diksha sda presentationdikshagupta111
 

Similar a Azure service fabric: a gentle introduction (20)

Getting Deep on Orchestration: APIs, Actors, and Abstractions in a Distribute...
Getting Deep on Orchestration: APIs, Actors, and Abstractions in a Distribute...Getting Deep on Orchestration: APIs, Actors, and Abstractions in a Distribute...
Getting Deep on Orchestration: APIs, Actors, and Abstractions in a Distribute...
 
Cooking Akka.net and Azure Service Fabric together
Cooking Akka.net and Azure Service Fabric togetherCooking Akka.net and Azure Service Fabric together
Cooking Akka.net and Azure Service Fabric together
 
Akka.Net Overview
Akka.Net OverviewAkka.Net Overview
Akka.Net Overview
 
Micro services
Micro servicesMicro services
Micro services
 
Moving Applications into Azure Kubernetes
Moving Applications into Azure KubernetesMoving Applications into Azure Kubernetes
Moving Applications into Azure Kubernetes
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
Stephane Lapointe & Alexandre Brisebois: Développer des microservices avec Se...
Stephane Lapointe & Alexandre Brisebois: Développer des microservices avec Se...Stephane Lapointe & Alexandre Brisebois: Développer des microservices avec Se...
Stephane Lapointe & Alexandre Brisebois: Développer des microservices avec Se...
 
Microservices: How loose is loosely coupled?
Microservices: How loose is loosely coupled?Microservices: How loose is loosely coupled?
Microservices: How loose is loosely coupled?
 
Three Degrees of Mediation: Challenges and Lessons in building Cloud-agnostic...
Three Degrees of Mediation: Challenges and Lessons in building Cloud-agnostic...Three Degrees of Mediation: Challenges and Lessons in building Cloud-agnostic...
Three Degrees of Mediation: Challenges and Lessons in building Cloud-agnostic...
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
Magento Developer Talk. Microservice Architecture and Actor Model
Magento Developer Talk. Microservice Architecture and Actor ModelMagento Developer Talk. Microservice Architecture and Actor Model
Magento Developer Talk. Microservice Architecture and Actor Model
 
ASP.NET Core and Docker
ASP.NET Core and DockerASP.NET Core and Docker
ASP.NET Core and Docker
 
Exploring Twitter's Finagle technology stack for microservices
Exploring Twitter's Finagle technology stack for microservicesExploring Twitter's Finagle technology stack for microservices
Exploring Twitter's Finagle technology stack for microservices
 
Genomic Computation at Scale with Serverless, StackStorm and Docker Swarm
Genomic Computation at Scale with Serverless, StackStorm and Docker SwarmGenomic Computation at Scale with Serverless, StackStorm and Docker Swarm
Genomic Computation at Scale with Serverless, StackStorm and Docker Swarm
 
Java Web services
Java Web servicesJava Web services
Java Web services
 
Exploring microservices in a Microsoft landscape
Exploring microservices in a Microsoft landscapeExploring microservices in a Microsoft landscape
Exploring microservices in a Microsoft landscape
 
Cloudify workshop at CCCEU 2014
Cloudify workshop at CCCEU 2014 Cloudify workshop at CCCEU 2014
Cloudify workshop at CCCEU 2014
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
Reference architectures shows a microservices deployed to Kubernetes
Reference architectures shows a microservices deployed to KubernetesReference architectures shows a microservices deployed to Kubernetes
Reference architectures shows a microservices deployed to Kubernetes
 
Diksha sda presentation
Diksha sda presentationDiksha sda presentation
Diksha sda presentation
 

Más de Alessandro Melchiori

Developing reliable applications with .net core and AKS
Developing reliable applications with .net core and AKSDeveloping reliable applications with .net core and AKS
Developing reliable applications with .net core and AKSAlessandro Melchiori
 
Developing reliable applications with .net core and AKS
Developing reliable applications with .net core and AKSDeveloping reliable applications with .net core and AKS
Developing reliable applications with .net core and AKSAlessandro Melchiori
 
How to search...better! (azure search)
How to search...better! (azure search)How to search...better! (azure search)
How to search...better! (azure search)Alessandro Melchiori
 
A quick tour around Azure Dev Spaces
A quick tour around Azure Dev SpacesA quick tour around Azure Dev Spaces
A quick tour around Azure Dev SpacesAlessandro Melchiori
 
Azure functions: from a function to a whole application in 60 minutes
Azure functions: from a function to a whole application in 60 minutesAzure functions: from a function to a whole application in 60 minutes
Azure functions: from a function to a whole application in 60 minutesAlessandro Melchiori
 
Monitoring docker: from zero to Azure
Monitoring docker: from zero to AzureMonitoring docker: from zero to Azure
Monitoring docker: from zero to AzureAlessandro Melchiori
 
ACR + ACS + VSTS: a complete ALM pipeline with docker and azure
ACR + ACS + VSTS: a complete ALM pipeline with docker and azureACR + ACS + VSTS: a complete ALM pipeline with docker and azure
ACR + ACS + VSTS: a complete ALM pipeline with docker and azureAlessandro Melchiori
 
Come ti "pusho" il web con WebSockets: da 0 a SignalR
Come ti "pusho" il web con WebSockets: da 0 a SignalR Come ti "pusho" il web con WebSockets: da 0 a SignalR
Come ti "pusho" il web con WebSockets: da 0 a SignalR Alessandro Melchiori
 
From CRUD to messages: a true story
From CRUD to messages: a true storyFrom CRUD to messages: a true story
From CRUD to messages: a true storyAlessandro Melchiori
 

Más de Alessandro Melchiori (20)

Scale your (aks) cluster, luke!
Scale your (aks) cluster, luke!Scale your (aks) cluster, luke!
Scale your (aks) cluster, luke!
 
A quick introduction to AKS
A quick introduction to AKSA quick introduction to AKS
A quick introduction to AKS
 
Developing reliable applications with .net core and AKS
Developing reliable applications with .net core and AKSDeveloping reliable applications with .net core and AKS
Developing reliable applications with .net core and AKS
 
VS Code tools for docker
VS Code tools for dockerVS Code tools for docker
VS Code tools for docker
 
Developing reliable applications with .net core and AKS
Developing reliable applications with .net core and AKSDeveloping reliable applications with .net core and AKS
Developing reliable applications with .net core and AKS
 
How to search...better! (azure search)
How to search...better! (azure search)How to search...better! (azure search)
How to search...better! (azure search)
 
AKS: k8s e azure
AKS: k8s e azureAKS: k8s e azure
AKS: k8s e azure
 
How to search...better!
How to search...better!How to search...better!
How to search...better!
 
A quick tour around Azure Dev Spaces
A quick tour around Azure Dev SpacesA quick tour around Azure Dev Spaces
A quick tour around Azure Dev Spaces
 
Azure functions: from a function to a whole application in 60 minutes
Azure functions: from a function to a whole application in 60 minutesAzure functions: from a function to a whole application in 60 minutes
Azure functions: from a function to a whole application in 60 minutes
 
Aks: k8s e azure
Aks:  k8s e azureAks:  k8s e azure
Aks: k8s e azure
 
Monitoring docker: from zero to Azure
Monitoring docker: from zero to AzureMonitoring docker: from zero to Azure
Monitoring docker: from zero to Azure
 
Azure data platform overview
Azure data platform overviewAzure data platform overview
Azure data platform overview
 
ACR + ACS + VSTS: a complete ALM pipeline with docker and azure
ACR + ACS + VSTS: a complete ALM pipeline with docker and azureACR + ACS + VSTS: a complete ALM pipeline with docker and azure
ACR + ACS + VSTS: a complete ALM pipeline with docker and azure
 
Docker & Azure
Docker & AzureDocker & Azure
Docker & Azure
 
Docker and Azure
Docker and AzureDocker and Azure
Docker and Azure
 
Come ti "pusho" il web con WebSockets: da 0 a SignalR
Come ti "pusho" il web con WebSockets: da 0 a SignalR Come ti "pusho" il web con WebSockets: da 0 a SignalR
Come ti "pusho" il web con WebSockets: da 0 a SignalR
 
Docker &amp; azure
Docker &amp; azureDocker &amp; azure
Docker &amp; azure
 
From CRUD to messages: a true story
From CRUD to messages: a true storyFrom CRUD to messages: a true story
From CRUD to messages: a true story
 
Functional Reactive Programming
Functional Reactive ProgrammingFunctional Reactive Programming
Functional Reactive Programming
 

Último

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
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...Drew Madelung
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
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 Scriptwesley chun
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
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.pdfsudhanshuwaghmare1
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
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...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

Azure service fabric: a gentle introduction

  • 1. Azure Service Fabric ...a gentle introduction Alessandro Melchiori
  • 2. Solution architect @ Particular Software alessandro [dot] melchiori [at] particular [dot] net twitter: @amelchiori blog: http://melkio.codiceplastico.com github: http://github.com/melkio Alessandro Melchiori
  • 3. • Why Service Fabric? • Service Fabric overview • What is a microservice?  Actor model  Stateless and Stateful • Monitoring  Service Fabric Explorer • Upgrade application Agenda
  • 6.
  • 10. Service Fabric architecture: cluster • Cluster is a federation of machines • Cluster can scale to 1000s of machines
  • 11. Service Fabric architecture: replication system P S S S S • Replica states  None  Idle secondary  Active secondary  Primary
  • 12. Service Fabric architecture: replication system P S S S S • Reads are completed at the primary
  • 13. Service Fabric architecture: replication system P S S S S • Writes are replicated to the write quorum of secondaries
  • 14. Service Fabric architecture: replication system P S S S S • Writes are replicated to the write quorum of secondaries
  • 15. Service Fabric architecture: replication system P S S S S • Writes are replicated to the write quorum of secondaries
  • 16. Service Fabric architecture: replication system P S S S S • Writes are replicated to the write quorum of secondaries
  • 17. Service Fabric architecture: replication system P S S S S • Writes are replicated to the write quorum of secondaries
  • 18. Service Fabric architecture: replication system P S S S S • Writes are replicated to the write quorum of secondaries
  • 19. Service Fabric architecture: replication system reconfig P S S S S • Types of reconfiguration  Primary failover  Removing a failed secondary  Adding recovered replica  Building new secondary
  • 20. Service Fabric architecture: replication system reconfig P S S S S • Types of reconfiguration  Primary failover  Removing a failed secondary  Adding recovered replica  Building new secondary
  • 21. Service Fabric architecture: replication system reconfig S P S S • Types of reconfiguration  Primary failover  Removing a failed secondary  Adding recovered replica  Building new secondary
  • 22. Service Fabric architecture: replication system reconfig S P S S • Types of reconfiguration  Primary failover  Removing a failed secondary  Adding recovered replica  Building new secondary
  • 23. Service Fabric architecture: replication system reconfig S P S S • Types of reconfiguration  Primary failover  Removing a failed secondary  Adding recovered replica  Building new secondary
  • 24. Service Fabric architecture: replication system reconfig P S S • Types of reconfiguration  Primary failover  Removing a failed secondary  Adding recovered replica  Building new secondary
  • 25. Service Fabric architecture: replication system reconfig P P S S • Types of reconfiguration  Primary failover  Removing a failed secondary  Adding recovered replica  Building new secondary
  • 26. Service Fabric architecture: replication system reconfig S P S S • Types of reconfiguration  Primary failover  Removing a failed secondary  Adding recovered replica  Building new secondary
  • 27. Service Fabric architecture: replication system reconfig S P S S • Types of reconfiguration  Primary failover  Removing a failed secondary  Adding recovered replica  Building new secondary
  • 28. Service Fabric architecture: replication system reconfig S P S S • Types of reconfiguration  Primary failover  Removing a failed secondary  Adding recovered replica  Building new secondary B
  • 29. Service Fabric architecture: replication system reconfig S S P S S • Types of reconfiguration  Primary failover  Removing a failed secondary  Adding recovered replica  Building new secondary
  • 30. Service Fabric architecture: partitioning • Allow data/computation to be spread across nodes • A partition must fit in 1 node / 1 node can hold multiple partitions • Cross-partitions operations requires network hops and different transactions • SF balances partitions across nodes
  • 36. • Encapsulate a business scenario • Can be written in any programming language • Consist of code and (optionally) state that is independently versioned, deployed and scaled • Has a unique name, used to resolve its location • Remains consistent and available in the presence of failure • Interacts with other microservices What is a microservice?
  • 37. The actor model in computer science is a mathematical model of concurrent computation that treats "actors" as the universal primitives of concurrent computation: in response to a message that it receives, an actor can make local decisions, create more actors, send more messages, and determine how to respond to the next message received https://en.wikipedia.org/wiki/Actor_model Actor model
  • 38. The actor model in computer science is a mathematical model of concurrent computation that treats "actors" as the universal primitives of concurrent computation: in response to a message that it receives, an actor can make local decisions, create more actors, send more messages, and determine how to respond to the next message received https://en.wikipedia.org/wiki/Actor_model Actor model
  • 41. • Actors are isolated, single-threaded components that encapsulate both state and behavior • Each such actor is uniquely identified by an actor ID • Actors interact with rest of the system, including other actors, by passing asynchronous messages using a request-response pattern Service Fabric Reliable Actors API
  • 42. public interface ICalculatorActor : IActor { Task Increment(); Task<Int32> GetValue(); } Stateless actor: definition
  • 43. public interface ICalculatorActor : IActor { Task Increment(); Task<Int32> GetValue(); } Stateless actor: definition
  • 44. public interface ICalculatorActor : IActor { Task Increment(); Task<Int32> GetValue(); } Stateless actor: definition
  • 45. public interface ICalculatorActor : IActor { Task Increment(); Task<Int32> GetValue(); } public class CalculatorActor : StatelessActor, ICalculatorActor { ... } Stateless actor: definition
  • 46. public interface ICalculatorActor : IActor { Task Increment(); Task<Int32> GetValue(); } public class CalculatorActor : StatelessActor, ICalculatorActor { ... } Stateless actor: definition
  • 47. public interface ICalculatorActor : IActor { Task Increment(); Task<Int32> GetValue(); } Stateful actor: definition
  • 48. public interface ICalculatorActor : IActor { Task Increment(); Task<Int32> GetValue(); } public class CalculatorActor : StatefulActor<ActorState>, ICalculatorActor { ... } Stateful actor: definition
  • 49. public interface ICalculatorActor : IActor { Task Increment(); Task<Int32> GetValue(); } public class CalculatorActor : StatefulActor<ActorState>, ICalculatorActor { ... } Stateless actor: definition
  • 50. var actorId = ActorId.NewId(); var applicationName = "fabric:/CalculatorActorApp"; var actor = ActorProxy.Create<ICalculatorActor>(actorId, applicationName) Actor communication: the actor proxy
  • 51. var actorId = ActorId.NewId(); var applicationName = "fabric:/CalculatorActorApp"; var actor = ActorProxy.Create<ICalculatorActor>(actorId, applicationName) Actor communication: the actor proxy
  • 52. DEMO stateless actor vs stateful actor
  • 53. Upgrade application (with zero downtime)
  • 54. Upgrade application (with zero downtime)
  • 55. Upgrade application (with zero downtime)
  • 56. Upgrade application (with zero downtime)
  • 58. Free e-book available at: http://go.particular.net/Liguria Curiosi?