SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

Mais procurados (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
 

Destaque

Windows Azure 上でのVPN 接続方法
Windows Azure 上でのVPN 接続方法Windows Azure 上でのVPN 接続方法
Windows Azure 上でのVPN 接続方法
Masaki Takeda
 

Destaque (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)
 

Semelhante a Service Fabric Overview (Yves Goeleven)

Windows Azure Platform
Windows Azure PlatformWindows Azure Platform
Windows Azure Platform
AsmTrash
 
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
 

Semelhante a 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...
 

Mais de 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 Kinect
Visug
 

Mais de 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
 

Último

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
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
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 

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