SlideShare a Scribd company logo
1 of 28
Sam Vanhoutte
CTO Codit, Integration MVP
Azure Service Fabric: notes from the field
Hello world
2
International Focus
+ 100 Active
customers
2000 Belgium
2004 France
2013 Portugal
2016 Switzerland
2016 U.K.
Close collaboration with Microsoft
+70 employees
e-news + SoMe
Focused on integration solutions
@SamVanhoutte
Integration MVP
CTO
Integration
Azure
IoT API mgmt
Agenda
• Introduction
• Positioning
• Architecture
• Concepts
• Scenarios
3
Services built with Service FabricServices built with Service Fabric
300+ Service Fabric Preview Customers
Positioning
µ-services
6
• Scales by cloning the app on multiple
servers/VMs/Containers
Monolithic application approach Microservices application approach
• A microservice application
separates functionality into
separate smaller services.
• Scales out by deploying each service independently
creating instances of these services across
servers/VMs/containers
• A monolith app contains domain
specific functionality and is
normally divided by functional
layers such as web, business and
data
App 1 App 2App 1
Cloud Services vs. Service Fabric
Azure Cloud Services
(Web and Worker Roles)
Azure Service Fabric
(Stateless, stateful or Actor services)
• 1 role instance per VM
• Uneven utilization
• Low density
• Slow deployment & upgrade (bound to VM)
• Slow scaling and failure recovery
• Limited fault tolerance
• Many microservices per VM
• Even Utilization (by default, customizable)
• High density (customizable)
• Fast deployment & upgrade
• Fast scaling of independent microservices
• Tunable fast fault tolerance
Node types !
Architecture
resilient against failure
9
Microsoft Azure Service Fabric
A platform for reliable, hyperscale, microservice-based applications
Azure
Windows
Server
Linux
Hosted Clouds
Windows
Server
Linux
Service Fabric
Private Clouds
Windows
Server
Linux
High Availability
Hyper-Scale
Hybrid Operations
High Density
Microservices
Rolling Upgrades
Stateful services
Low Latency
Fast startup &
shutdown
Container Orchestration
& lifecycle management
Replication &
Failover
Simple
programming
models
Load balancing
Self-healingData Partitioning
Automated Rollback
Health
Monitoring
Placement
Constraints
Develop once
deploy everywhere
App1 App2
Service Fabric Microservices
App Type Packages Service Fabric Cluster VMs
App1 App2
Handling Machine Failures
App Type Packages Service Fabric Cluster VMs
Concepts
µ-services
13
State is external or non existing
Multi-instance (parallel execution)
Load balancing (singleton partition)
Activation & Background work
State is external or non existing
Multi-instance (parallel execution)
Load balancing (singleton partition)
Simplified programming model
Single threaded execution
Turn based communication
[StatePersistence(StatePersistence.None)]
State is stored with the service
Reliable secondaries exist on other nodes
Ranged or named partitioning
Concurrent transactional state changes
Reliable collections
Activation & Background work
State is stored with the service
Reliable secondaries exist on other nodes
Ranged or named partitioning
Simplified programming model
Single threaded execution
Turn based communication
[StatePersistence(StatePersistence.Persisted)]
Programming models
14
StatefulStateless
ServicesActors
Guest
executables
State is external or non existing
Multi-instance (parallel execution)
Load balancing (singleton partition)
Activation & Background work
Web API’s
Web Frontend
Protocol Gateway
Background Workers
State is external or non existing
Multi-instance (parallel execution)
Load balancing (singleton partition)
Simplified programming model
Single threaded execution
Turn based communication
[StatePersistence(StatePersistence.None)]
State is stored with the service
Reliable secondaries exist on other nodes
Ranged or named partitioning
Concurrent transactional state changes
Reliable collections
Activation & Background work
State is stored with the service
Reliable secondaries exist on other nodes
Ranged or named partitioning
Simplified programming model
Single threaded execution
Turn based communication
[StatePersistence(StatePersistence.Persisted)]
Short Lived actions
Fire & Forget
Services, containing partitioned data
Stateful receivers (locking, cursors)
Simple queuing workers
Caching scenarios
Longer running workflows
Related to functional entities:
Shopping Basket, Conversations, Users,
Sensors
Programming models
15
StatefulStateless
ServicesActors
Keep it simple to start
Often state still
requires sync to
external data source
Service type
➔ Services types are composed of code/config/data packages
➔ Code packages define an entry point (dll or exe)
➔ Config packages define service specific config information
➔ Data packages define static resources (eg. images)
➔ Packages can be independently versioned
<ServiceManifest Name="QueueService" Version="1.0">
<ServiceTypes>
<StatefulServiceType ServiceTypeName="QueueServiceType" HasPersistedState="true" />
</ServiceTypes>
<CodePackage Name="Code" Version="1.0">
<EntryPoint>
<ExeHost>
<Program>ServiceHost.exe</Program>
</ExeHost>
</EntryPoint>
</CodePackage>
<ConfigPackage Name="Config" Version="1.0" />
<DataPackage Name="Data" Version="1.0" />
</ServiceManifest>
Application type
➔ Declarative template for creating an application
➔ Based on a set of service types
➔ Used for packaging, deployment, and versioning
Service Partitioning
Node 5Node 4Node 3 Node 6Node 2Node 1
P2
S
S
S
P4
S
P1
S
P3S
S
S
• Services can be partitioned for scale-out.
• You can choose your own partitioning scheme.
• Service partitions are striped across machines in the cluster.
• Replicas automatically scale out & in on cluster changes
Scenarios
Connected Building
➔ Enable state machine behavior for buildings, rooms, devices
➔ Scenario
➔ Physical events are ingested (Codit IoT field gateway)
➔ Event routing
• Events are routed to the right device Actor
• Related infrastructure actors can observe events from their devices
(Meeting room 1 wants to get events from Motion sensor 01)
➔ Stateful workflows (state machines)
Connected building
21Diagram: Tom Kerkhove
Open Sourced Observer framework:
https://github.com/paolosalvatori/servicefabricobserver
Talk2Fans – a startup for sport clubs
➔ Social (few writes, lot’s of reads)
➔ Talkies per club
➔ Talkies per game
➔ Push notifications
➔ Advertising
➔ Targetted advertising with telemetry
➔ Reporting needs
Talk2Fans – a startup for sport clubs
23Diagram: Thomas Houtekier
City camp reservation systems
➔ Registering kids for holiday-camps (sports, leisure, language…)
➔ Big peak of requests (ticketing system) on predefined timestamps
➔ Per camp, first X registered persons are allowed
➔ Ticket dispenser service needed to distribute tickets to allow
further registration.
Node 01
Node 02
Node 03
Node 04
Node 05
City camp reservation system
25
REST API
REST API
REST API
REST API
REST API
Stateless svc
(OWIN)
Communication
Stateful svc
(ReliableQueue)
Latin
Sport
Sport
Dev
Music
Music
Music
Latin
Math
Dev
Dev
Math
Music
Sport
Math
Ticket dispenser
Stateful actors
Jim
Tom
Jim
Jim
Tom Josh
Josh
Ann
Ann Tom
Ann Josh
Registration process per user
Integration Cloud
➔ Started 6 years ago on Cloud Services. Challenges:
➔ Complex task & thread management
➔ Deployment and versioning
➔ Multi-tenancy
➔ Migration to Service Fabric
➔ Reliable services for adapters
➔ Stateful actors for tracking logic
➔ High density / multi tenancy
➔ Side by side versioning
www.integrationcloud.eu
Integration Cloud – multi tenancy
27Diagram: Wouter Seye
Thank you!
Keep in touch!
Call or mail us. Ask questions. Happy to help.
Stay tuned
LinkedIn
blog
.codit.eu codit.eu NewsletterTwitter
Pay us
a visit

More Related Content

What's hot

PEARC17: Live Integrated Visualization Environment: An Experiment in General...
PEARC17: Live Integrated Visualization Environment: An Experiment in General...PEARC17: Live Integrated Visualization Environment: An Experiment in General...
PEARC17: Live Integrated Visualization Environment: An Experiment in General...moneyjh
 
Evolution of unix environments and the road to faster deployments
Evolution of unix environments and the road to faster deploymentsEvolution of unix environments and the road to faster deployments
Evolution of unix environments and the road to faster deploymentsRakuten Group, Inc.
 
New Chargeback - Sergio Ocon - ManageIQ Design Summit 2016
New Chargeback - Sergio Ocon - ManageIQ Design Summit 2016New Chargeback - Sergio Ocon - ManageIQ Design Summit 2016
New Chargeback - Sergio Ocon - ManageIQ Design Summit 2016ManageIQ
 
Introducing the WSO2 Elastic Load Balancer
Introducing the WSO2 Elastic Load BalancerIntroducing the WSO2 Elastic Load Balancer
Introducing the WSO2 Elastic Load BalancerWSO2
 
Jelastic (PaaS + IaaS) Virtual Cluster on Google Cloud Engine
Jelastic (PaaS + IaaS) Virtual Cluster on Google Cloud EngineJelastic (PaaS + IaaS) Virtual Cluster on Google Cloud Engine
Jelastic (PaaS + IaaS) Virtual Cluster on Google Cloud EngineRuslan Synytsky
 
JELASTIC IS THE PIONEER AND VISIONARY IN THE CLOUD INDUSTRY
JELASTIC IS THE PIONEER AND VISIONARY IN THE CLOUD INDUSTRYJELASTIC IS THE PIONEER AND VISIONARY IN THE CLOUD INDUSTRY
JELASTIC IS THE PIONEER AND VISIONARY IN THE CLOUD INDUSTRYRuslan Synytsky
 
Service fabric overview
Service fabric overviewService fabric overview
Service fabric overviewHimanshu Desai
 
Reactive Integrations - Caveats and bumps in the road explained
Reactive Integrations - Caveats and bumps in the road explained  Reactive Integrations - Caveats and bumps in the road explained
Reactive Integrations - Caveats and bumps in the road explained Markus Eisele
 
Live virtual machine migration based on future prediction of resource require...
Live virtual machine migration based on future prediction of resource require...Live virtual machine migration based on future prediction of resource require...
Live virtual machine migration based on future prediction of resource require...Tapender Yadav
 
Amazon web services (aws) main developer services
Amazon web services (aws)   main developer servicesAmazon web services (aws)   main developer services
Amazon web services (aws) main developer servicesAnderson Carvalho
 
Designing apps for resiliency
Designing apps for resiliencyDesigning apps for resiliency
Designing apps for resiliencyMasashi Narumoto
 
Moscow MuleSoft meetup May 2021
Moscow MuleSoft meetup May 2021Moscow MuleSoft meetup May 2021
Moscow MuleSoft meetup May 2021Leadex Systems
 
Cloud computing(bit mesra kolkata extn.)
Cloud computing(bit mesra kolkata extn.)Cloud computing(bit mesra kolkata extn.)
Cloud computing(bit mesra kolkata extn.)ASHUTOSH KUMAR
 

What's hot (20)

PEARC17: Live Integrated Visualization Environment: An Experiment in General...
PEARC17: Live Integrated Visualization Environment: An Experiment in General...PEARC17: Live Integrated Visualization Environment: An Experiment in General...
PEARC17: Live Integrated Visualization Environment: An Experiment in General...
 
vm provisioning
vm provisioningvm provisioning
vm provisioning
 
Evolution of unix environments and the road to faster deployments
Evolution of unix environments and the road to faster deploymentsEvolution of unix environments and the road to faster deployments
Evolution of unix environments and the road to faster deployments
 
New Chargeback - Sergio Ocon - ManageIQ Design Summit 2016
New Chargeback - Sergio Ocon - ManageIQ Design Summit 2016New Chargeback - Sergio Ocon - ManageIQ Design Summit 2016
New Chargeback - Sergio Ocon - ManageIQ Design Summit 2016
 
3 migration
3 migration3 migration
3 migration
 
Introducing the WSO2 Elastic Load Balancer
Introducing the WSO2 Elastic Load BalancerIntroducing the WSO2 Elastic Load Balancer
Introducing the WSO2 Elastic Load Balancer
 
E-GEN iCAN
E-GEN iCANE-GEN iCAN
E-GEN iCAN
 
Jelastic (PaaS + IaaS) Virtual Cluster on Google Cloud Engine
Jelastic (PaaS + IaaS) Virtual Cluster on Google Cloud EngineJelastic (PaaS + IaaS) Virtual Cluster on Google Cloud Engine
Jelastic (PaaS + IaaS) Virtual Cluster on Google Cloud Engine
 
JELASTIC IS THE PIONEER AND VISIONARY IN THE CLOUD INDUSTRY
JELASTIC IS THE PIONEER AND VISIONARY IN THE CLOUD INDUSTRYJELASTIC IS THE PIONEER AND VISIONARY IN THE CLOUD INDUSTRY
JELASTIC IS THE PIONEER AND VISIONARY IN THE CLOUD INDUSTRY
 
Service fabric overview
Service fabric overviewService fabric overview
Service fabric overview
 
Reactive Integrations - Caveats and bumps in the road explained
Reactive Integrations - Caveats and bumps in the road explained  Reactive Integrations - Caveats and bumps in the road explained
Reactive Integrations - Caveats and bumps in the road explained
 
Jelastic Cluster Admin Panel Overview
Jelastic Cluster Admin Panel OverviewJelastic Cluster Admin Panel Overview
Jelastic Cluster Admin Panel Overview
 
Jelastic Features 2.x
Jelastic Features 2.xJelastic Features 2.x
Jelastic Features 2.x
 
Designing microservices
Designing microservicesDesigning microservices
Designing microservices
 
Live virtual machine migration based on future prediction of resource require...
Live virtual machine migration based on future prediction of resource require...Live virtual machine migration based on future prediction of resource require...
Live virtual machine migration based on future prediction of resource require...
 
Amazon web services (aws) main developer services
Amazon web services (aws)   main developer servicesAmazon web services (aws)   main developer services
Amazon web services (aws) main developer services
 
Unit 2
Unit 2Unit 2
Unit 2
 
Designing apps for resiliency
Designing apps for resiliencyDesigning apps for resiliency
Designing apps for resiliency
 
Moscow MuleSoft meetup May 2021
Moscow MuleSoft meetup May 2021Moscow MuleSoft meetup May 2021
Moscow MuleSoft meetup May 2021
 
Cloud computing(bit mesra kolkata extn.)
Cloud computing(bit mesra kolkata extn.)Cloud computing(bit mesra kolkata extn.)
Cloud computing(bit mesra kolkata extn.)
 

Viewers also liked

Researching the market place 1
Researching the market place 1Researching the market place 1
Researching the market place 1haegf
 
UPDATED RESUME BHARAT
UPDATED RESUME BHARATUPDATED RESUME BHARAT
UPDATED RESUME BHARATbharat dubey
 
Problemática entre Estados Unidos y Rusia
Problemática entre Estados Unidos y RusiaProblemática entre Estados Unidos y Rusia
Problemática entre Estados Unidos y RusiaJordi Bellamy
 
Naranjilla Micro-Propagation
Naranjilla Micro-PropagationNaranjilla Micro-Propagation
Naranjilla Micro-PropagationAdrianne Seiden
 
Plandeareadeeducacionfisica.doc
Plandeareadeeducacionfisica.docPlandeareadeeducacionfisica.doc
Plandeareadeeducacionfisica.docAlfonso Alegre
 
Hybrid integrationwithsap (Glenn Colpaert @ Integration Monday)
Hybrid integrationwithsap (Glenn Colpaert @ Integration Monday)Hybrid integrationwithsap (Glenn Colpaert @ Integration Monday)
Hybrid integrationwithsap (Glenn Colpaert @ Integration Monday)Codit
 
التويتر
التويترالتويتر
التويترmuhanad03
 
English abstracts
English abstractsEnglish abstracts
English abstractsmalisahmad
 
How to humanize events through technology - Event Tech 2014
How to humanize events through technology - Event Tech 2014How to humanize events through technology - Event Tech 2014
How to humanize events through technology - Event Tech 2014MAGENCY DIGITAL
 
Lazydoc WJAX Presentation
Lazydoc WJAX PresentationLazydoc WJAX Presentation
Lazydoc WJAX PresentationMarc Eckart
 

Viewers also liked (20)

Researching the market place 1
Researching the market place 1Researching the market place 1
Researching the market place 1
 
Myth
MythMyth
Myth
 
It project kpi
It project kpiIt project kpi
It project kpi
 
UPDATED RESUME BHARAT
UPDATED RESUME BHARATUPDATED RESUME BHARAT
UPDATED RESUME BHARAT
 
Problemática entre Estados Unidos y Rusia
Problemática entre Estados Unidos y RusiaProblemática entre Estados Unidos y Rusia
Problemática entre Estados Unidos y Rusia
 
Resume BHARAT
Resume BHARATResume BHARAT
Resume BHARAT
 
Manifesto
ManifestoManifesto
Manifesto
 
Naranjilla Micro-Propagation
Naranjilla Micro-PropagationNaranjilla Micro-Propagation
Naranjilla Micro-Propagation
 
Plandeareadeeducacionfisica.doc
Plandeareadeeducacionfisica.docPlandeareadeeducacionfisica.doc
Plandeareadeeducacionfisica.doc
 
Sports!
Sports!Sports!
Sports!
 
Royal
RoyalRoyal
Royal
 
Hybrid integrationwithsap (Glenn Colpaert @ Integration Monday)
Hybrid integrationwithsap (Glenn Colpaert @ Integration Monday)Hybrid integrationwithsap (Glenn Colpaert @ Integration Monday)
Hybrid integrationwithsap (Glenn Colpaert @ Integration Monday)
 
التويتر
التويترالتويتر
التويتر
 
Provans
Provans Provans
Provans
 
IT-TITLE
IT-TITLEIT-TITLE
IT-TITLE
 
English abstracts
English abstractsEnglish abstracts
English abstracts
 
Classic
Classic Classic
Classic
 
How to humanize events through technology - Event Tech 2014
How to humanize events through technology - Event Tech 2014How to humanize events through technology - Event Tech 2014
How to humanize events through technology - Event Tech 2014
 
Lazydoc WJAX Presentation
Lazydoc WJAX PresentationLazydoc WJAX Presentation
Lazydoc WJAX Presentation
 
设计中的心理学
设计中的心理学设计中的心理学
设计中的心理学
 

Similar to Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)

Develop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverlessDevelop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverlessLalit Kale
 
Building an Observability Platform in 389 Difficult Steps
Building an Observability Platform in 389 Difficult StepsBuilding an Observability Platform in 389 Difficult Steps
Building an Observability Platform in 389 Difficult StepsDigitalOcean
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overviewcornelia davis
 
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS SummitDiscover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS SummitAmazon Web Services
 
ATO 2018 - What is Serverless Useful For?
ATO 2018 - What is Serverless Useful For?ATO 2018 - What is Serverless Useful For?
ATO 2018 - What is Serverless Useful For?BerndtJung
 
Cloud architecture
Cloud architectureCloud architecture
Cloud architectureAdeel Javaid
 
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...MongoDB
 
Cloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondCloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondUgo Landini
 
AggreGate IoT Integration Platform
AggreGate IoT Integration PlatformAggreGate IoT Integration Platform
AggreGate IoT Integration PlatformTibbo
 
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...Lightbend
 
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
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupMatt Ray
 
All About Microservices and OpenSource Microservice Frameworks
All About Microservices and OpenSource Microservice FrameworksAll About Microservices and OpenSource Microservice Frameworks
All About Microservices and OpenSource Microservice FrameworksMohammad Asif Siddiqui
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architectureFaren faren
 
Cloud Foundry - Second Generation Code (CCNG). Technical Overview
Cloud Foundry - Second Generation Code (CCNG). Technical Overview Cloud Foundry - Second Generation Code (CCNG). Technical Overview
Cloud Foundry - Second Generation Code (CCNG). Technical Overview Nima Badiey
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los AngelesVMware Tanzu
 

Similar to Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016) (20)

Develop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverlessDevelop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverless
 
Building an Observability Platform in 389 Difficult Steps
Building an Observability Platform in 389 Difficult StepsBuilding an Observability Platform in 389 Difficult Steps
Building an Observability Platform in 389 Difficult Steps
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overview
 
Azure Umbraco workshop
Azure Umbraco workshopAzure Umbraco workshop
Azure Umbraco workshop
 
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS SummitDiscover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
 
ATO 2018 - What is Serverless Useful For?
ATO 2018 - What is Serverless Useful For?ATO 2018 - What is Serverless Useful For?
ATO 2018 - What is Serverless Useful For?
 
Cloud architecture
Cloud architectureCloud architecture
Cloud architecture
 
VAS - VMware CMP
VAS - VMware CMPVAS - VMware CMP
VAS - VMware CMP
 
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
 
Cloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondCloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyond
 
AggreGate IoT Integration Platform
AggreGate IoT Integration PlatformAggreGate IoT Integration Platform
AggreGate IoT Integration Platform
 
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
 
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?
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native Meetup
 
Introduction To Cloud Computing
Introduction To Cloud ComputingIntroduction To Cloud Computing
Introduction To Cloud Computing
 
Madrid meetup #7 deployment models
Madrid meetup #7   deployment modelsMadrid meetup #7   deployment models
Madrid meetup #7 deployment models
 
All About Microservices and OpenSource Microservice Frameworks
All About Microservices and OpenSource Microservice FrameworksAll About Microservices and OpenSource Microservice Frameworks
All About Microservices and OpenSource Microservice Frameworks
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
Cloud Foundry - Second Generation Code (CCNG). Technical Overview
Cloud Foundry - Second Generation Code (CCNG). Technical Overview Cloud Foundry - Second Generation Code (CCNG). Technical Overview
Cloud Foundry - Second Generation Code (CCNG). Technical Overview
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles
 

More from Codit

Cloud Native Demystified: Build Once, Run Anywhere!
Cloud Native Demystified: Build Once, Run Anywhere!Cloud Native Demystified: Build Once, Run Anywhere!
Cloud Native Demystified: Build Once, Run Anywhere!Codit
 
Getting started with IoT
Getting started with IoTGetting started with IoT
Getting started with IoTCodit
 
What's Next for Microsoft's BizTalk Server
What's Next for Microsoft's BizTalk ServerWhat's Next for Microsoft's BizTalk Server
What's Next for Microsoft's BizTalk ServerCodit
 
Introduction to Time Series Analytics with Microsoft Azure
Introduction to Time Series Analytics with Microsoft AzureIntroduction to Time Series Analytics with Microsoft Azure
Introduction to Time Series Analytics with Microsoft AzureCodit
 
CI/CD for a Data Platform
CI/CD for a Data PlatformCI/CD for a Data Platform
CI/CD for a Data PlatformCodit
 
AI-Driven Fraud Detection
AI-Driven Fraud DetectionAI-Driven Fraud Detection
AI-Driven Fraud DetectionCodit
 
Blockchain in Practice
Blockchain in PracticeBlockchain in Practice
Blockchain in PracticeCodit
 
Exploring IoT Edge
Exploring IoT EdgeExploring IoT Edge
Exploring IoT EdgeCodit
 
The Future of Integration | Webinar of the 24th of April 2020
The Future of Integration | Webinar of the 24th of April 2020The Future of Integration | Webinar of the 24th of April 2020
The Future of Integration | Webinar of the 24th of April 2020Codit
 
Application Autoscaling Made Easy with Kubernetes Event-Driven Autoscaling (K...
Application Autoscaling Made Easy with Kubernetes Event-Driven Autoscaling (K...Application Autoscaling Made Easy with Kubernetes Event-Driven Autoscaling (K...
Application Autoscaling Made Easy with Kubernetes Event-Driven Autoscaling (K...Codit
 
The Ideal Approach to Application Modernization; Which Way to the Cloud?
The Ideal Approach to Application Modernization; Which Way to the Cloud?The Ideal Approach to Application Modernization; Which Way to the Cloud?
The Ideal Approach to Application Modernization; Which Way to the Cloud?Codit
 
Lessons learned when integrating with Dynamics 365
Lessons learned when integrating with Dynamics 365Lessons learned when integrating with Dynamics 365
Lessons learned when integrating with Dynamics 365Codit
 
Five Reasons IoT Projects Fail - CTO Sam Vanhoutte @ IoT Convention 2019
Five Reasons IoT Projects Fail - CTO Sam Vanhoutte @ IoT Convention 2019Five Reasons IoT Projects Fail - CTO Sam Vanhoutte @ IoT Convention 2019
Five Reasons IoT Projects Fail - CTO Sam Vanhoutte @ IoT Convention 2019Codit
 
Real time Analytics in IoT - Marcel Lattmann Codit Switzerland @.NET Day 2019
Real time Analytics in IoT - Marcel Lattmann Codit Switzerland @.NET Day 2019Real time Analytics in IoT - Marcel Lattmann Codit Switzerland @.NET Day 2019
Real time Analytics in IoT - Marcel Lattmann Codit Switzerland @.NET Day 2019Codit
 
Unlock a Smarter Business with Digital Identity - Sylvia Vandevelde @CONNECT19
Unlock a Smarter Business with Digital Identity - Sylvia Vandevelde @CONNECT19Unlock a Smarter Business with Digital Identity - Sylvia Vandevelde @CONNECT19
Unlock a Smarter Business with Digital Identity - Sylvia Vandevelde @CONNECT19Codit
 
AI as Driver of Transformation - Didier Ongena @CONNECT19
AI as Driver of Transformation - Didier Ongena @CONNECT19AI as Driver of Transformation - Didier Ongena @CONNECT19
AI as Driver of Transformation - Didier Ongena @CONNECT19Codit
 
Extending Operations from On-premises Solutions Towards Hybrid and Cloud - Da...
Extending Operations from On-premises Solutions Towards Hybrid and Cloud - Da...Extending Operations from On-premises Solutions Towards Hybrid and Cloud - Da...
Extending Operations from On-premises Solutions Towards Hybrid and Cloud - Da...Codit
 
Why your business needs an API driven strategy - Massimo Crippa @CONNECT19
Why your business needs an API driven strategy -  Massimo Crippa @CONNECT19Why your business needs an API driven strategy -  Massimo Crippa @CONNECT19
Why your business needs an API driven strategy - Massimo Crippa @CONNECT19Codit
 
Pushing the boundaries with IoT - Glenn Colpaert @CONNECT19
Pushing the boundaries with IoT - Glenn Colpaert @CONNECT19Pushing the boundaries with IoT - Glenn Colpaert @CONNECT19
Pushing the boundaries with IoT - Glenn Colpaert @CONNECT19Codit
 
The Future of Integration - Toon Vanhoutte @CONNECT19
The Future of Integration - Toon Vanhoutte @CONNECT19The Future of Integration - Toon Vanhoutte @CONNECT19
The Future of Integration - Toon Vanhoutte @CONNECT19Codit
 

More from Codit (20)

Cloud Native Demystified: Build Once, Run Anywhere!
Cloud Native Demystified: Build Once, Run Anywhere!Cloud Native Demystified: Build Once, Run Anywhere!
Cloud Native Demystified: Build Once, Run Anywhere!
 
Getting started with IoT
Getting started with IoTGetting started with IoT
Getting started with IoT
 
What's Next for Microsoft's BizTalk Server
What's Next for Microsoft's BizTalk ServerWhat's Next for Microsoft's BizTalk Server
What's Next for Microsoft's BizTalk Server
 
Introduction to Time Series Analytics with Microsoft Azure
Introduction to Time Series Analytics with Microsoft AzureIntroduction to Time Series Analytics with Microsoft Azure
Introduction to Time Series Analytics with Microsoft Azure
 
CI/CD for a Data Platform
CI/CD for a Data PlatformCI/CD for a Data Platform
CI/CD for a Data Platform
 
AI-Driven Fraud Detection
AI-Driven Fraud DetectionAI-Driven Fraud Detection
AI-Driven Fraud Detection
 
Blockchain in Practice
Blockchain in PracticeBlockchain in Practice
Blockchain in Practice
 
Exploring IoT Edge
Exploring IoT EdgeExploring IoT Edge
Exploring IoT Edge
 
The Future of Integration | Webinar of the 24th of April 2020
The Future of Integration | Webinar of the 24th of April 2020The Future of Integration | Webinar of the 24th of April 2020
The Future of Integration | Webinar of the 24th of April 2020
 
Application Autoscaling Made Easy with Kubernetes Event-Driven Autoscaling (K...
Application Autoscaling Made Easy with Kubernetes Event-Driven Autoscaling (K...Application Autoscaling Made Easy with Kubernetes Event-Driven Autoscaling (K...
Application Autoscaling Made Easy with Kubernetes Event-Driven Autoscaling (K...
 
The Ideal Approach to Application Modernization; Which Way to the Cloud?
The Ideal Approach to Application Modernization; Which Way to the Cloud?The Ideal Approach to Application Modernization; Which Way to the Cloud?
The Ideal Approach to Application Modernization; Which Way to the Cloud?
 
Lessons learned when integrating with Dynamics 365
Lessons learned when integrating with Dynamics 365Lessons learned when integrating with Dynamics 365
Lessons learned when integrating with Dynamics 365
 
Five Reasons IoT Projects Fail - CTO Sam Vanhoutte @ IoT Convention 2019
Five Reasons IoT Projects Fail - CTO Sam Vanhoutte @ IoT Convention 2019Five Reasons IoT Projects Fail - CTO Sam Vanhoutte @ IoT Convention 2019
Five Reasons IoT Projects Fail - CTO Sam Vanhoutte @ IoT Convention 2019
 
Real time Analytics in IoT - Marcel Lattmann Codit Switzerland @.NET Day 2019
Real time Analytics in IoT - Marcel Lattmann Codit Switzerland @.NET Day 2019Real time Analytics in IoT - Marcel Lattmann Codit Switzerland @.NET Day 2019
Real time Analytics in IoT - Marcel Lattmann Codit Switzerland @.NET Day 2019
 
Unlock a Smarter Business with Digital Identity - Sylvia Vandevelde @CONNECT19
Unlock a Smarter Business with Digital Identity - Sylvia Vandevelde @CONNECT19Unlock a Smarter Business with Digital Identity - Sylvia Vandevelde @CONNECT19
Unlock a Smarter Business with Digital Identity - Sylvia Vandevelde @CONNECT19
 
AI as Driver of Transformation - Didier Ongena @CONNECT19
AI as Driver of Transformation - Didier Ongena @CONNECT19AI as Driver of Transformation - Didier Ongena @CONNECT19
AI as Driver of Transformation - Didier Ongena @CONNECT19
 
Extending Operations from On-premises Solutions Towards Hybrid and Cloud - Da...
Extending Operations from On-premises Solutions Towards Hybrid and Cloud - Da...Extending Operations from On-premises Solutions Towards Hybrid and Cloud - Da...
Extending Operations from On-premises Solutions Towards Hybrid and Cloud - Da...
 
Why your business needs an API driven strategy - Massimo Crippa @CONNECT19
Why your business needs an API driven strategy -  Massimo Crippa @CONNECT19Why your business needs an API driven strategy -  Massimo Crippa @CONNECT19
Why your business needs an API driven strategy - Massimo Crippa @CONNECT19
 
Pushing the boundaries with IoT - Glenn Colpaert @CONNECT19
Pushing the boundaries with IoT - Glenn Colpaert @CONNECT19Pushing the boundaries with IoT - Glenn Colpaert @CONNECT19
Pushing the boundaries with IoT - Glenn Colpaert @CONNECT19
 
The Future of Integration - Toon Vanhoutte @CONNECT19
The Future of Integration - Toon Vanhoutte @CONNECT19The Future of Integration - Toon Vanhoutte @CONNECT19
The Future of Integration - Toon Vanhoutte @CONNECT19
 

Recently uploaded

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 

Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)

  • 1. Sam Vanhoutte CTO Codit, Integration MVP Azure Service Fabric: notes from the field
  • 2. Hello world 2 International Focus + 100 Active customers 2000 Belgium 2004 France 2013 Portugal 2016 Switzerland 2016 U.K. Close collaboration with Microsoft +70 employees e-news + SoMe Focused on integration solutions @SamVanhoutte Integration MVP CTO Integration Azure IoT API mgmt
  • 3. Agenda • Introduction • Positioning • Architecture • Concepts • Scenarios 3
  • 4. Services built with Service FabricServices built with Service Fabric
  • 5. 300+ Service Fabric Preview Customers
  • 7. • Scales by cloning the app on multiple servers/VMs/Containers Monolithic application approach Microservices application approach • A microservice application separates functionality into separate smaller services. • Scales out by deploying each service independently creating instances of these services across servers/VMs/containers • A monolith app contains domain specific functionality and is normally divided by functional layers such as web, business and data App 1 App 2App 1
  • 8. Cloud Services vs. Service Fabric Azure Cloud Services (Web and Worker Roles) Azure Service Fabric (Stateless, stateful or Actor services) • 1 role instance per VM • Uneven utilization • Low density • Slow deployment & upgrade (bound to VM) • Slow scaling and failure recovery • Limited fault tolerance • Many microservices per VM • Even Utilization (by default, customizable) • High density (customizable) • Fast deployment & upgrade • Fast scaling of independent microservices • Tunable fast fault tolerance Node types !
  • 10. Microsoft Azure Service Fabric A platform for reliable, hyperscale, microservice-based applications Azure Windows Server Linux Hosted Clouds Windows Server Linux Service Fabric Private Clouds Windows Server Linux High Availability Hyper-Scale Hybrid Operations High Density Microservices Rolling Upgrades Stateful services Low Latency Fast startup & shutdown Container Orchestration & lifecycle management Replication & Failover Simple programming models Load balancing Self-healingData Partitioning Automated Rollback Health Monitoring Placement Constraints Develop once deploy everywhere
  • 11. App1 App2 Service Fabric Microservices App Type Packages Service Fabric Cluster VMs
  • 12. App1 App2 Handling Machine Failures App Type Packages Service Fabric Cluster VMs
  • 14. State is external or non existing Multi-instance (parallel execution) Load balancing (singleton partition) Activation & Background work State is external or non existing Multi-instance (parallel execution) Load balancing (singleton partition) Simplified programming model Single threaded execution Turn based communication [StatePersistence(StatePersistence.None)] State is stored with the service Reliable secondaries exist on other nodes Ranged or named partitioning Concurrent transactional state changes Reliable collections Activation & Background work State is stored with the service Reliable secondaries exist on other nodes Ranged or named partitioning Simplified programming model Single threaded execution Turn based communication [StatePersistence(StatePersistence.Persisted)] Programming models 14 StatefulStateless ServicesActors Guest executables
  • 15. State is external or non existing Multi-instance (parallel execution) Load balancing (singleton partition) Activation & Background work Web API’s Web Frontend Protocol Gateway Background Workers State is external or non existing Multi-instance (parallel execution) Load balancing (singleton partition) Simplified programming model Single threaded execution Turn based communication [StatePersistence(StatePersistence.None)] State is stored with the service Reliable secondaries exist on other nodes Ranged or named partitioning Concurrent transactional state changes Reliable collections Activation & Background work State is stored with the service Reliable secondaries exist on other nodes Ranged or named partitioning Simplified programming model Single threaded execution Turn based communication [StatePersistence(StatePersistence.Persisted)] Short Lived actions Fire & Forget Services, containing partitioned data Stateful receivers (locking, cursors) Simple queuing workers Caching scenarios Longer running workflows Related to functional entities: Shopping Basket, Conversations, Users, Sensors Programming models 15 StatefulStateless ServicesActors Keep it simple to start Often state still requires sync to external data source
  • 16. Service type ➔ Services types are composed of code/config/data packages ➔ Code packages define an entry point (dll or exe) ➔ Config packages define service specific config information ➔ Data packages define static resources (eg. images) ➔ Packages can be independently versioned <ServiceManifest Name="QueueService" Version="1.0"> <ServiceTypes> <StatefulServiceType ServiceTypeName="QueueServiceType" HasPersistedState="true" /> </ServiceTypes> <CodePackage Name="Code" Version="1.0"> <EntryPoint> <ExeHost> <Program>ServiceHost.exe</Program> </ExeHost> </EntryPoint> </CodePackage> <ConfigPackage Name="Config" Version="1.0" /> <DataPackage Name="Data" Version="1.0" /> </ServiceManifest>
  • 17. Application type ➔ Declarative template for creating an application ➔ Based on a set of service types ➔ Used for packaging, deployment, and versioning
  • 18. Service Partitioning Node 5Node 4Node 3 Node 6Node 2Node 1 P2 S S S P4 S P1 S P3S S S • Services can be partitioned for scale-out. • You can choose your own partitioning scheme. • Service partitions are striped across machines in the cluster. • Replicas automatically scale out & in on cluster changes
  • 20. Connected Building ➔ Enable state machine behavior for buildings, rooms, devices ➔ Scenario ➔ Physical events are ingested (Codit IoT field gateway) ➔ Event routing • Events are routed to the right device Actor • Related infrastructure actors can observe events from their devices (Meeting room 1 wants to get events from Motion sensor 01) ➔ Stateful workflows (state machines)
  • 21. Connected building 21Diagram: Tom Kerkhove Open Sourced Observer framework: https://github.com/paolosalvatori/servicefabricobserver
  • 22. Talk2Fans – a startup for sport clubs ➔ Social (few writes, lot’s of reads) ➔ Talkies per club ➔ Talkies per game ➔ Push notifications ➔ Advertising ➔ Targetted advertising with telemetry ➔ Reporting needs
  • 23. Talk2Fans – a startup for sport clubs 23Diagram: Thomas Houtekier
  • 24. City camp reservation systems ➔ Registering kids for holiday-camps (sports, leisure, language…) ➔ Big peak of requests (ticketing system) on predefined timestamps ➔ Per camp, first X registered persons are allowed ➔ Ticket dispenser service needed to distribute tickets to allow further registration.
  • 25. Node 01 Node 02 Node 03 Node 04 Node 05 City camp reservation system 25 REST API REST API REST API REST API REST API Stateless svc (OWIN) Communication Stateful svc (ReliableQueue) Latin Sport Sport Dev Music Music Music Latin Math Dev Dev Math Music Sport Math Ticket dispenser Stateful actors Jim Tom Jim Jim Tom Josh Josh Ann Ann Tom Ann Josh Registration process per user
  • 26. Integration Cloud ➔ Started 6 years ago on Cloud Services. Challenges: ➔ Complex task & thread management ➔ Deployment and versioning ➔ Multi-tenancy ➔ Migration to Service Fabric ➔ Reliable services for adapters ➔ Stateful actors for tracking logic ➔ High density / multi tenancy ➔ Side by side versioning www.integrationcloud.eu
  • 27. Integration Cloud – multi tenancy 27Diagram: Wouter Seye
  • 28. Thank you! Keep in touch! Call or mail us. Ask questions. Happy to help. Stay tuned LinkedIn blog .codit.eu codit.eu NewsletterTwitter Pay us a visit