SlideShare a Scribd company logo
1 of 22
Service Fabric
Yves Goeleven
From Applications to MicroServices
What a difference 10 years makes
Deploy
10 years agoContinuous Integration Always-on, hyper-scale servicesService FabricContinuous Deployment
Yves Goeleven
Solution Architect
• MessageHandler.net
• Particular Software (NServiceBus)
• Windows Azure MVP
Automates Microservice Lifecycle Management
What is Service Fabric?
Service Fabric
It automates following aspects of the lifecycle:
• Zero-downtime deployment
• Rolling upgrade & side by side versioning
• Health monitoring & diagnostics
• Auto-scaling & resource balancing
• Data partitioning & replication
• Host integration (Windows Update coordination)
• Test In Production (Chaos service)
• Cross-datacenter clustering (optional)
It’s not new! It’s production proven technology.
What is Service Fabric?
Designed to host azure’s services:
• Azure Database
• Azure DocumentDB
• Power BI
• Azure Compute & Network provisioning (ARM)
• Event Hub
• Service Bus (ARM & Azure Pack)
• Azure Data Factory
• Intune
• Cortana
• Bing Weather
• Skype for Business
• Microsoft Online Directory Services
Microsoft Azure
Node Node Node Node Node
Nodes, Application Types & Service Types
What is a Service ?
Service represents:
• executable unit of code
• it’s configuration
• and data
Application
Service Service Service
Code Config Data Code Config Data Code Config Data
in any shape or form, including:
• Any x64 exe
• Container (Docker and friends)
• Dnx ( aspnet 5 )
• Actor models (Orleans, SF, Akka.net)
• Grouped into Application Types
• Managed by nodes
With resource balancing
Clustered into logical ring
Node
Node
Node
Node
Node
Developer Machine
An abstraction over virtual machines
Nodes
Azure Cluster Production DataCenterProduction: 1 Node == 1 VM
Nodes are weaved into orthogonal Update & Fault Domains
Why is it called a Fabric ?
Azure, own datacenter, windows, linux, amazon, …
Multiple hosting options
AZURE VMWARE HYPER-V
Availability
Replica
Management
Health ALM
Load
Balancing
Diagnostics Partitioning Placement
Service Fabric
Yves Goeleven
Demo Application Model
Runtime API Layers
Programming models
Actor Framework API
Service Framework API
Collection/KVS API
State Management API
Replication Set
Management API
[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
Provided By
Windows Fabric
Provided By User
Application
Replica set
Management
State
Replication
State
Storage
Messaging Programming
Model
Business
Logic
Games, IoT scenarios
Traditional Enterprise Applications
Custom communication
Replicated Data Structure Providers
Replicator Providers
High Level Comparison
Choosing between Actors & Services
Reliable Actors API Reliable Services API
Simplicity Flexibility
Small independent units of state & logic Logic across multiple components
Single threaded objects Use reliable collections to store & manage state
Framework manages concurrency & state You manage concurrency & state
Platform manages communication You want to manage communication
Partitioning scheme managed for you You can manage the partitioning scheme
Service Fabric
Yves Goeleven
Demo Actors
Statefull Stateless
Actor Model
Client
Reliable State
Manager
Transactional
Replicator
Local Persistent
Log
Shared Log
Dedicated
Log
To secondaries
Proxy
Ac1
Ac2
Ac3
Ac4
Ac5
Proxy
Proxy
Proxy
Proxy
Proxy
Client
Proxy
Ac1
Ac2
Ac3
Ac4
Ac5
Proxy
Proxy
Proxy
Proxy
Proxy
Reliable
Dictionary State
Provider
Actor Activation
State
State
State
State
State
Communication
Listener
Actor Activation
Communication
Listener
Concurrency
Actor Model
Time
ActorId1
Method1
ActorId1
Method2
ActorId1
Timer
ActorId2
Method1
ActorId2
Method2
ActorId2
Reminder
Request arrived, lock
acquired without wait
Entered method1
Created task
Exited method1
Task completed
Lock released
Lock acquired
Entered method2
Created task
Exited method2
Task completed
Lock released
Request arrived,
waiting for lock
asynchronously
Request arrived,
waiting for lock
asynchronously
Lock acquired
Entered callback
Created task
Exited callback
Task completed
Lock released
Lock acquired
Entered callback
Created task
Exited callback
Task completed
Lock released
Lock acquired
Entered method1
Created task
Exited method1
Task completed
Lock released
Request arrived, lock
acquired without wait
Entered method2
Created task
Exited method2
Task completed
Lock released
Request arrived,
waiting for lock
asynchronously
Request arrived,
waiting for lock
asynchronously
Service Fabric
Yves Goeleven
Demo Services
Statefull Stateless
Service Model
Client
Communication
Listener
Service Impl
StatefullService
StatefullServiceBase
Client
Communication
Listener
Service Impl
StatelessService
StatelessServiceBase
Other
Communication
Channels
Client
Other
Communication
Channels
Client
Reliable State
Manager
Transactional
Replicator
Local Persistent
Log
Shared Log
Dedicated
Log
To secondaries
Proxy Proxy
Service Fabric
Yves Goeleven
Demo ASP.Net
Single machine Cluster
Mind the load balancer
Machine
Client
Http
Http.sys
Node
Node
Node
Node
Node
Service Client
Http
Node
Node
Node
Node
Node
Http.sys
Http.sys
Http.sys
Http.sys
Http.sys
N
L
B
Service
Service
Service
Service
Service
*Probing may skew the results a bit
@YvesGoeleven
yves@goeleven.com
github.com/yvesgoeleven/ServiceFabric.IoTSample
Service Fabric
Yves Goeleven
VISUG Partners

More Related Content

What's hot

Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as CodeRobert Greiner
 
Bringing Serverless into the Enterprise (Global Azure Virtual 2020)
Bringing Serverless into the Enterprise (Global Azure Virtual 2020)Bringing Serverless into the Enterprise (Global Azure Virtual 2020)
Bringing Serverless into the Enterprise (Global Azure Virtual 2020)Callon Campbell
 
ASP.NET Core deployment options
ASP.NET Core deployment optionsASP.NET Core deployment options
ASP.NET Core deployment optionsKen Cenerelli
 
Latest Updates to Azure Integration Services
Latest Updates to Azure Integration ServicesLatest Updates to Azure Integration Services
Latest Updates to Azure Integration ServicesDaniel Toomey
 
Azure dev ops integrations with Jenkins
Azure dev ops integrations with JenkinsAzure dev ops integrations with Jenkins
Azure dev ops integrations with JenkinsDamien Caro
 
Serverless in Azure with Functions
Serverless in Azure with FunctionsServerless in Azure with Functions
Serverless in Azure with FunctionsChristos Matskas
 
Dev day serverless from a devs perspective
Dev day   serverless from a devs perspectiveDev day   serverless from a devs perspective
Dev day serverless from a devs perspectivebartlannoeye
 
Microservices and Azure App Services
Microservices and Azure App ServicesMicroservices and Azure App Services
Microservices and Azure App ServicesDamir Dobric
 
Microservices without servers
Microservices without serversMicroservices without servers
Microservices without servers99X Technology
 
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
 
Why Not Public Cloud?
Why Not Public Cloud?Why Not Public Cloud?
Why Not Public Cloud?Matt Ray
 
MS Insights Brazil 2015 containers and devops
MS Insights Brazil 2015   containers and devopsMS Insights Brazil 2015   containers and devops
MS Insights Brazil 2015 containers and devopsDamien Caro
 
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB201904_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019Kumton Suttiraksiri
 
Getting Started with Infrastructure as Code (IaC)
Getting Started with Infrastructure as Code (IaC)Getting Started with Infrastructure as Code (IaC)
Getting Started with Infrastructure as Code (IaC)Noor Basha
 
Cloud migration Through Automation
Cloud migration Through AutomationCloud migration Through Automation
Cloud migration Through AutomationUni Systems S.M.S.A.
 

What's hot (20)

Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
Azure Functions - Introduction
Azure Functions - IntroductionAzure Functions - Introduction
Azure Functions - Introduction
 
Serverless in action
Serverless in actionServerless in action
Serverless in action
 
Bringing Serverless into the Enterprise (Global Azure Virtual 2020)
Bringing Serverless into the Enterprise (Global Azure Virtual 2020)Bringing Serverless into the Enterprise (Global Azure Virtual 2020)
Bringing Serverless into the Enterprise (Global Azure Virtual 2020)
 
ASP.NET Core deployment options
ASP.NET Core deployment optionsASP.NET Core deployment options
ASP.NET Core deployment options
 
Latest Updates to Azure Integration Services
Latest Updates to Azure Integration ServicesLatest Updates to Azure Integration Services
Latest Updates to Azure Integration Services
 
Azure dev ops integrations with Jenkins
Azure dev ops integrations with JenkinsAzure dev ops integrations with Jenkins
Azure dev ops integrations with Jenkins
 
Azure web apps
Azure web appsAzure web apps
Azure web apps
 
Azure Functions 101
Azure Functions 101Azure Functions 101
Azure Functions 101
 
Serverless in Azure with Functions
Serverless in Azure with FunctionsServerless in Azure with Functions
Serverless in Azure with Functions
 
Dev day serverless from a devs perspective
Dev day   serverless from a devs perspectiveDev day   serverless from a devs perspective
Dev day serverless from a devs perspective
 
Microservices and Azure App Services
Microservices and Azure App ServicesMicroservices and Azure App Services
Microservices and Azure App Services
 
Microservices without servers
Microservices without serversMicroservices without servers
Microservices without servers
 
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
 
Why Not Public Cloud?
Why Not Public Cloud?Why Not Public Cloud?
Why Not Public Cloud?
 
MS Insights Brazil 2015 containers and devops
MS Insights Brazil 2015   containers and devopsMS Insights Brazil 2015   containers and devops
MS Insights Brazil 2015 containers and devops
 
Container DevOps in Azure
Container DevOps in AzureContainer DevOps in Azure
Container DevOps in Azure
 
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB201904_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
 
Getting Started with Infrastructure as Code (IaC)
Getting Started with Infrastructure as Code (IaC)Getting Started with Infrastructure as Code (IaC)
Getting Started with Infrastructure as Code (IaC)
 
Cloud migration Through Automation
Cloud migration Through AutomationCloud migration Through Automation
Cloud migration Through Automation
 

Viewers also liked

Windows Azure 上でのVPN 接続方法
Windows Azure 上でのVPN 接続方法Windows Azure 上でのVPN 接続方法
Windows Azure 上でのVPN 接続方法Masaki Takeda
 
OFI libfabric Tutorial
OFI libfabric TutorialOFI libfabric Tutorial
OFI libfabric Tutorialdgoodell
 
クラウドを活用するためのヒント
クラウドを活用するためのヒントクラウドを活用するためのヒント
クラウドを活用するためのヒントNaoto MATSUMOTO
 
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
 
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?Azure Service Fabric and the Actor Model: when did we forget Object Orientation?
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?João Pedro Martins
 
Building microservices with Scala, functional domain models and Spring Boot
Building microservices with Scala, functional domain models and Spring BootBuilding microservices with Scala, functional domain models and Spring Boot
Building microservices with Scala, functional domain models and Spring BootChris Richardson
 
ITIL Practical Guide - Continual Service Improvement (CSI)
ITIL Practical Guide - Continual Service Improvement (CSI)ITIL Practical Guide - Continual Service Improvement (CSI)
ITIL Practical Guide - Continual Service Improvement (CSI)Axios Systems
 
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)Codit
 

Viewers also liked (8)

Windows Azure 上でのVPN 接続方法
Windows Azure 上でのVPN 接続方法Windows Azure 上でのVPN 接続方法
Windows Azure 上でのVPN 接続方法
 
OFI libfabric Tutorial
OFI libfabric TutorialOFI libfabric Tutorial
OFI libfabric Tutorial
 
クラウドを活用するためのヒント
クラウドを活用するためのヒントクラウドを活用するためのヒント
クラウドを活用するためのヒント
 
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
 
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?Azure Service Fabric and the Actor Model: when did we forget Object Orientation?
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?
 
Building microservices with Scala, functional domain models and Spring Boot
Building microservices with Scala, functional domain models and Spring BootBuilding microservices with Scala, functional domain models and Spring Boot
Building microservices with Scala, functional domain models and Spring Boot
 
ITIL Practical Guide - Continual Service Improvement (CSI)
ITIL Practical Guide - Continual Service Improvement (CSI)ITIL Practical Guide - Continual Service Improvement (CSI)
ITIL Practical Guide - Continual Service Improvement (CSI)
 
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
 

Similar to Service Fabric Overview (Yves Goeleven)

TenerifeDev - Azure Service Fabric
TenerifeDev - Azure Service FabricTenerifeDev - Azure Service Fabric
TenerifeDev - Azure Service FabricAlberto Diaz Martin
 
20170209 dev day-websites_vs_cloudservices_vsservicefabric_scenarios
20170209 dev day-websites_vs_cloudservices_vsservicefabric_scenarios20170209 dev day-websites_vs_cloudservices_vsservicefabric_scenarios
20170209 dev day-websites_vs_cloudservices_vsservicefabric_scenariosRicardo González
 
Microservices with Azure Service Fabric
Microservices with Azure Service FabricMicroservices with Azure Service Fabric
Microservices with Azure Service FabricDavide Benvegnù
 
Azure Service Fabric - Hamida Rebai - CCDays
Azure Service Fabric - Hamida Rebai - CCDaysAzure Service Fabric - Hamida Rebai - CCDays
Azure Service Fabric - Hamida Rebai - CCDaysCodeOps Technologies LLP
 
Build intelligent solutions using Azure
Build intelligent solutions using AzureBuild intelligent solutions using Azure
Build intelligent solutions using AzureMostafa
 
DevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software DeliveryDevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software DeliveryAmazon Web Services
 
Voxxed Days Thesaloniki 2016 - A journey to Open Source Technologies on Azure
Voxxed Days Thesaloniki 2016 - A journey to Open Source Technologies on AzureVoxxed Days Thesaloniki 2016 - A journey to Open Source Technologies on Azure
Voxxed Days Thesaloniki 2016 - A journey to Open Source Technologies on AzureVoxxed Days Thessaloniki
 
London .NET Developers Azure Camp Keynote
London .NET Developers Azure Camp KeynoteLondon .NET Developers Azure Camp Keynote
London .NET Developers Azure Camp KeynoteTom Walker
 
AWS 2016 re:Invent Launch Summary
AWS 2016 re:Invent Launch SummaryAWS 2016 re:Invent Launch Summary
AWS 2016 re:Invent Launch SummaryAmazon Web Services
 
Build intelligent solutions using ms azure
Build intelligent solutions using ms azureBuild intelligent solutions using ms azure
Build intelligent solutions using ms azureMostafa
 
Windows Azure Platform
Windows Azure PlatformWindows Azure Platform
Windows Azure PlatformAsmTrash
 
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017Amazon Web Services
 
Azure Cloud Dev Camp - Introduction
Azure Cloud Dev Camp - IntroductionAzure Cloud Dev Camp - Introduction
Azure Cloud Dev Camp - Introductiongiventocode
 
Microsoft Azure Introduction
Microsoft Azure IntroductionMicrosoft Azure Introduction
Microsoft Azure IntroductionGameLandVN
 
Microsoft azure - the cloud for modern business
Microsoft azure - the cloud for modern businessMicrosoft azure - the cloud for modern business
Microsoft azure - the cloud for modern businessVinh Nguyen Quang
 
Cost Optimization for Microsoft Workloads on AWS - AWS Transformation Day: Sa...
Cost Optimization for Microsoft Workloads on AWS - AWS Transformation Day: Sa...Cost Optimization for Microsoft Workloads on AWS - AWS Transformation Day: Sa...
Cost Optimization for Microsoft Workloads on AWS - AWS Transformation Day: Sa...Amazon Web Services
 

Similar to Service Fabric Overview (Yves Goeleven) (20)

Azure Service Fabric Overview
Azure Service Fabric OverviewAzure Service Fabric Overview
Azure Service Fabric Overview
 
TenerifeDev - Azure Service Fabric
TenerifeDev - Azure Service FabricTenerifeDev - Azure Service Fabric
TenerifeDev - Azure Service Fabric
 
20170209 dev day-websites_vs_cloudservices_vsservicefabric_scenarios
20170209 dev day-websites_vs_cloudservices_vsservicefabric_scenarios20170209 dev day-websites_vs_cloudservices_vsservicefabric_scenarios
20170209 dev day-websites_vs_cloudservices_vsservicefabric_scenarios
 
Microservices with Azure Service Fabric
Microservices with Azure Service FabricMicroservices with Azure Service Fabric
Microservices with Azure Service Fabric
 
Micro services
Micro servicesMicro services
Micro services
 
Azure Service Fabric - Hamida Rebai - CCDays
Azure Service Fabric - Hamida Rebai - CCDaysAzure Service Fabric - Hamida Rebai - CCDays
Azure Service Fabric - Hamida Rebai - CCDays
 
Build intelligent solutions using Azure
Build intelligent solutions using AzureBuild intelligent solutions using Azure
Build intelligent solutions using Azure
 
DevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software DeliveryDevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software Delivery
 
Voxxed Days Thesaloniki 2016 - A journey to Open Source Technologies on Azure
Voxxed Days Thesaloniki 2016 - A journey to Open Source Technologies on AzureVoxxed Days Thesaloniki 2016 - A journey to Open Source Technologies on Azure
Voxxed Days Thesaloniki 2016 - A journey to Open Source Technologies on Azure
 
Windows Azure
Windows AzureWindows Azure
Windows Azure
 
London .NET Developers Azure Camp Keynote
London .NET Developers Azure Camp KeynoteLondon .NET Developers Azure Camp Keynote
London .NET Developers Azure Camp Keynote
 
AWS 2016 re:Invent Launch Summary
AWS 2016 re:Invent Launch SummaryAWS 2016 re:Invent Launch Summary
AWS 2016 re:Invent Launch Summary
 
Build intelligent solutions using ms azure
Build intelligent solutions using ms azureBuild intelligent solutions using ms azure
Build intelligent solutions using ms azure
 
Windows Azure Platform
Windows Azure PlatformWindows Azure Platform
Windows Azure Platform
 
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
 
AMIS Oracle OpenWorld 2013 Review Part 2 - Platform Middleware Publication
AMIS Oracle OpenWorld 2013 Review Part 2 - Platform Middleware PublicationAMIS Oracle OpenWorld 2013 Review Part 2 - Platform Middleware Publication
AMIS Oracle OpenWorld 2013 Review Part 2 - Platform Middleware Publication
 
Azure Cloud Dev Camp - Introduction
Azure Cloud Dev Camp - IntroductionAzure Cloud Dev Camp - Introduction
Azure Cloud Dev Camp - Introduction
 
Microsoft Azure Introduction
Microsoft Azure IntroductionMicrosoft Azure Introduction
Microsoft Azure Introduction
 
Microsoft azure - the cloud for modern business
Microsoft azure - the cloud for modern businessMicrosoft azure - the cloud for modern business
Microsoft azure - the cloud for modern business
 
Cost Optimization for Microsoft Workloads on AWS - AWS Transformation Day: Sa...
Cost Optimization for Microsoft Workloads on AWS - AWS Transformation Day: Sa...Cost Optimization for Microsoft Workloads on AWS - AWS Transformation Day: Sa...
Cost Optimization for Microsoft Workloads on AWS - AWS Transformation Day: Sa...
 

More from Visug

Gdbc keynote-visug
Gdbc keynote-visugGdbc keynote-visug
Gdbc keynote-visugVisug
 
Making enabling apps for disabled people
Making enabling apps for disabled peopleMaking enabling apps for disabled people
Making enabling apps for disabled peopleVisug
 
Sherlock Homepage (Maarten Balliauw)
Sherlock Homepage (Maarten Balliauw)Sherlock Homepage (Maarten Balliauw)
Sherlock Homepage (Maarten Balliauw)Visug
 
DDD, CQRS & ES lessons learned (Gitte Vermeiren)
DDD, CQRS & ES lessons learned (Gitte Vermeiren)DDD, CQRS & ES lessons learned (Gitte Vermeiren)
DDD, CQRS & ES lessons learned (Gitte Vermeiren)Visug
 
DevOps with Visual studio Release Management (Pieter Gheysens)
DevOps with Visual studio Release Management (Pieter Gheysens)DevOps with Visual studio Release Management (Pieter Gheysens)
DevOps with Visual studio Release Management (Pieter Gheysens)Visug
 
Asp.net core 1.0 (Peter Himschoot)
Asp.net core 1.0 (Peter Himschoot)Asp.net core 1.0 (Peter Himschoot)
Asp.net core 1.0 (Peter Himschoot)Visug
 
Exploring XLabs
Exploring XLabsExploring XLabs
Exploring XLabsVisug
 
Hello windows 10: An overview of the new features for developers in WIndows 10
Hello windows 10: An overview of the new features for developers in WIndows 10Hello windows 10: An overview of the new features for developers in WIndows 10
Hello windows 10: An overview of the new features for developers in WIndows 10Visug
 
Embracing HTTP in the era of API’s
Embracing HTTP in the era of API’sEmbracing HTTP in the era of API’s
Embracing HTTP in the era of API’sVisug
 
So you write JavaScript? Keep the crap out of there then!
So you write JavaScript? Keep the crap out of there then!So you write JavaScript? Keep the crap out of there then!
So you write JavaScript? Keep the crap out of there then!Visug
 
Visug: Say Hello to my little friend: a session on Kinect
Visug: Say Hello to my little friend: a session on KinectVisug: Say Hello to my little friend: a session on Kinect
Visug: Say Hello to my little friend: a session on KinectVisug
 

More from Visug (11)

Gdbc keynote-visug
Gdbc keynote-visugGdbc keynote-visug
Gdbc keynote-visug
 
Making enabling apps for disabled people
Making enabling apps for disabled peopleMaking enabling apps for disabled people
Making enabling apps for disabled people
 
Sherlock Homepage (Maarten Balliauw)
Sherlock Homepage (Maarten Balliauw)Sherlock Homepage (Maarten Balliauw)
Sherlock Homepage (Maarten Balliauw)
 
DDD, CQRS & ES lessons learned (Gitte Vermeiren)
DDD, CQRS & ES lessons learned (Gitte Vermeiren)DDD, CQRS & ES lessons learned (Gitte Vermeiren)
DDD, CQRS & ES lessons learned (Gitte Vermeiren)
 
DevOps with Visual studio Release Management (Pieter Gheysens)
DevOps with Visual studio Release Management (Pieter Gheysens)DevOps with Visual studio Release Management (Pieter Gheysens)
DevOps with Visual studio Release Management (Pieter Gheysens)
 
Asp.net core 1.0 (Peter Himschoot)
Asp.net core 1.0 (Peter Himschoot)Asp.net core 1.0 (Peter Himschoot)
Asp.net core 1.0 (Peter Himschoot)
 
Exploring XLabs
Exploring XLabsExploring XLabs
Exploring XLabs
 
Hello windows 10: An overview of the new features for developers in WIndows 10
Hello windows 10: An overview of the new features for developers in WIndows 10Hello windows 10: An overview of the new features for developers in WIndows 10
Hello windows 10: An overview of the new features for developers in WIndows 10
 
Embracing HTTP in the era of API’s
Embracing HTTP in the era of API’sEmbracing HTTP in the era of API’s
Embracing HTTP in the era of API’s
 
So you write JavaScript? Keep the crap out of there then!
So you write JavaScript? Keep the crap out of there then!So you write JavaScript? Keep the crap out of there then!
So you write JavaScript? Keep the crap out of there then!
 
Visug: Say Hello to my little friend: a session on Kinect
Visug: Say Hello to my little friend: a session on KinectVisug: Say Hello to my little friend: a session on Kinect
Visug: Say Hello to my little friend: a session on Kinect
 

Recently uploaded

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
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 Processorsdebabhi2
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
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 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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
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
 
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...Martijn de Jong
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I 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
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
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 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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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?
 
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...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
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?
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I 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
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

Service Fabric Overview (Yves Goeleven)

  • 2. From Applications to MicroServices What a difference 10 years makes Deploy 10 years agoContinuous Integration Always-on, hyper-scale servicesService FabricContinuous Deployment
  • 3. Yves Goeleven Solution Architect • MessageHandler.net • Particular Software (NServiceBus) • Windows Azure MVP
  • 4. Automates Microservice Lifecycle Management What is Service Fabric? Service Fabric It automates following aspects of the lifecycle: • Zero-downtime deployment • Rolling upgrade & side by side versioning • Health monitoring & diagnostics • Auto-scaling & resource balancing • Data partitioning & replication • Host integration (Windows Update coordination) • Test In Production (Chaos service) • Cross-datacenter clustering (optional)
  • 5. It’s not new! It’s production proven technology. What is Service Fabric? Designed to host azure’s services: • Azure Database • Azure DocumentDB • Power BI • Azure Compute & Network provisioning (ARM) • Event Hub • Service Bus (ARM & Azure Pack) • Azure Data Factory • Intune • Cortana • Bing Weather • Skype for Business • Microsoft Online Directory Services Microsoft Azure
  • 6. Node Node Node Node Node Nodes, Application Types & Service Types What is a Service ? Service represents: • executable unit of code • it’s configuration • and data Application Service Service Service Code Config Data Code Config Data Code Config Data in any shape or form, including: • Any x64 exe • Container (Docker and friends) • Dnx ( aspnet 5 ) • Actor models (Orleans, SF, Akka.net) • Grouped into Application Types • Managed by nodes
  • 7. With resource balancing Clustered into logical ring Node Node Node Node Node
  • 8. Developer Machine An abstraction over virtual machines Nodes Azure Cluster Production DataCenterProduction: 1 Node == 1 VM
  • 9. Nodes are weaved into orthogonal Update & Fault Domains Why is it called a Fabric ?
  • 10. Azure, own datacenter, windows, linux, amazon, … Multiple hosting options AZURE VMWARE HYPER-V Availability Replica Management Health ALM Load Balancing Diagnostics Partitioning Placement
  • 12. Runtime API Layers Programming models Actor Framework API Service Framework API Collection/KVS API State Management API Replication Set Management API [ ] [ ] [ ] [ ] [ ] [ ] Provided By Windows Fabric Provided By User Application Replica set Management State Replication State Storage Messaging Programming Model Business Logic Games, IoT scenarios Traditional Enterprise Applications Custom communication Replicated Data Structure Providers Replicator Providers
  • 13. High Level Comparison Choosing between Actors & Services Reliable Actors API Reliable Services API Simplicity Flexibility Small independent units of state & logic Logic across multiple components Single threaded objects Use reliable collections to store & manage state Framework manages concurrency & state You manage concurrency & state Platform manages communication You want to manage communication Partitioning scheme managed for you You can manage the partitioning scheme
  • 15. Statefull Stateless Actor Model Client Reliable State Manager Transactional Replicator Local Persistent Log Shared Log Dedicated Log To secondaries Proxy Ac1 Ac2 Ac3 Ac4 Ac5 Proxy Proxy Proxy Proxy Proxy Client Proxy Ac1 Ac2 Ac3 Ac4 Ac5 Proxy Proxy Proxy Proxy Proxy Reliable Dictionary State Provider Actor Activation State State State State State Communication Listener Actor Activation Communication Listener
  • 16. Concurrency Actor Model Time ActorId1 Method1 ActorId1 Method2 ActorId1 Timer ActorId2 Method1 ActorId2 Method2 ActorId2 Reminder Request arrived, lock acquired without wait Entered method1 Created task Exited method1 Task completed Lock released Lock acquired Entered method2 Created task Exited method2 Task completed Lock released Request arrived, waiting for lock asynchronously Request arrived, waiting for lock asynchronously Lock acquired Entered callback Created task Exited callback Task completed Lock released Lock acquired Entered callback Created task Exited callback Task completed Lock released Lock acquired Entered method1 Created task Exited method1 Task completed Lock released Request arrived, lock acquired without wait Entered method2 Created task Exited method2 Task completed Lock released Request arrived, waiting for lock asynchronously Request arrived, waiting for lock asynchronously
  • 18. Statefull Stateless Service Model Client Communication Listener Service Impl StatefullService StatefullServiceBase Client Communication Listener Service Impl StatelessService StatelessServiceBase Other Communication Channels Client Other Communication Channels Client Reliable State Manager Transactional Replicator Local Persistent Log Shared Log Dedicated Log To secondaries Proxy Proxy
  • 20. Single machine Cluster Mind the load balancer Machine Client Http Http.sys Node Node Node Node Node Service Client Http Node Node Node Node Node Http.sys Http.sys Http.sys Http.sys Http.sys N L B Service Service Service Service Service *Probing may skew the results a bit