Service Fabric

Official Documentation

Service Description

The Service Fabric is the latest member in the Compute Services family. Apps written for the Service Fabric differ from Apps in other compute modes in terms of structure and deployment. With Service Fabric, applications can be made up of microservices that can be installed dynamically and distributed to a pool of provisioned virtual machines. The instances of a microservice can share the resources with other microservices, i.e., more than one microservice instance can be executed on a virtual machine. An advantage over the other execution options is the significantly more flexible resource allocation and better utilization of the machines. Applications can scale more flexibly, specifically at the microservice level. Individual functions can be packaged into microservices and then scaled very individually (if, e.g., a load peak occurs only in a certain application function). However, applications have to be written very specifically for the Azure Service Fabric.

Getting Started

  1. 9/30/2016, Video, 1:18:26
    Learn the architecture patterns and best practices on how to design modern microservice applications, how to design communication and security for your services. We will walk...
  2. 9/25/2016, Mva
    Want to work with a distributed systems platform to build scalable, reliable, and easily managed applications for the cloud? Take this on-demand Azure Service Fabric course,...
  3. 11/9/2016, Video, 0:18:11
    Get an Introduction to Service Fabric architecture and its core concepts (mandatory learning for success when using Service Fabric).
  4. 2/10/2017, Video, 1:17:34
    As a developer, you’ll go through the platform as a service capabilities of Azure. Particularly focussing on Azure App Service - for web, mobile, api, functions and workflows...
  5. 8/9/2017, Ebook
    This guide provides end-to-end guidance on building monolithic web applications using ASP.NET Core and Azure. This guide is complementary to the “Architecting and Developing...
  6. 6/23/2016, Mva
    Are you designing microservices-based applications? Join us for a closer look at the basic patterns that are required, including Command Query Responsibility Segregation...

Latest Content

Subscribe to News about Service Fabric


Web Content

Service Fabric Documentation

1. Overview
     1.1. What is Service Fabric?
2. Quickstarts
     2.1. Create .NET application
     2.2. Deploy a Linux container application
     2.3. Deploy a Windows container application
     2.4. Java Quickstarts
          2.4.1. Deploy a Spring Boot application
          2.4.2. Deploy a Reliable Services application
3. Tutorials
     3.1. Deploy a .NET app
          3.1.1. 1- Build a .NET application
          3.1.2. 2- Deploy the application
          3.1.3. 3- Enable HTTPS
          3.1.4. 4- Configure CI/CD
          3.1.5. 5- Monitor and Diagnose
     3.2. Deploy a Java app
          3.2.1. 1- Build a Java application
          3.2.2. 2- Debug the application
          3.2.3. 3- Deploy the application
          3.2.4. 4- Monitor and diagnose
          3.2.5. 5- Configure CI/CD
     3.3. Containerize an existing .NET app
          3.3.1. 1- Deploy a .NET app using Docker Compose
          3.3.2. 2- Deploy a container application with CI/CD
          3.3.3. 3- Monitor your container
     3.4. Create a Linux container app
          3.4.1. 1- Create container images
          3.4.2. 2- Package and deploy containers
          3.4.3. 3- Fail over and scale
     3.5. Create and manage a cluster
          3.5.1. 1- Create a cluster on Azure
      1a- Create a Windows cluster
      1b- Create a Linux cluster
          3.5.2. 2- Scale the cluster
          3.5.3. 3- Upgrade the cluster runtime
          3.5.4. 4- Delete a cluster
     3.6. Create a standalone cluster on AWS
          3.6.1. 1- Create the infrastructure on AWS
          3.6.2. 2- Set up Service Fabric
          3.6.3. 3- Deploy an application into the cluster
          3.6.4. 4- Clean up your cluster and delete the infrastructure
4. Samples
     4.1. Code samples
     4.2. Azure PowerShell
     4.3. Service Fabric CLI
5. Concepts
     5.1. Understand microservices
     5.2. Big picture
     5.3. Application scenarios
     5.4. Architecture
     5.5. Terminology
     5.6. Building applications
          5.6.1. Building applications overview
          5.6.2. Containers
      Containers overview
      Docker compose (preview)
      Resource governance
          5.6.3. Reliable Services
      Reliable Services overview
      Service partitioning
      Reconfiguring stateful services
      Reliable Services lifecycle - C#
      Reliable Services lifecycle - Java
      Replica and instance lifecycle
      Reliable Collections
      Reliable Collection guidelines & recommendations
      Working with Reliable Collections
      Transactions and locks
      Reliable Concurrent Queue
      Reliable Collection serialization
          5.6.4. Reliable Actors
      Reliable Actors overview
      Implementing service-level features
      Lifecycle and garbage collection
      State management
      Type serialization
          5.6.5. Guest executables
     5.7. Applications and services
          5.7.1. Application model
          5.7.2. Application and service manifests
          5.7.3. Application and service manifest examples
      Reliable services application and service manifest examples
      Multi-container application and service manifest examples
          5.7.4. Hosting model
          5.7.5. Application security
          5.7.6. Service state
          5.7.7. Scalability of applications
          5.7.8. Availability of services
          5.7.9. Service communication
      Service communication overview
      DNS service
      Reverse proxy
      ASP.NET Core
          5.7.10. Application lifecycle
      Application lifecycle overview
      Application upgrade
           Application upgrade overview
           Application upgrade parameters
           Data serialization in application upgrades
           Application upgrades advanced topics
      Manage applications for multiple environments
      Testing applications
           Unit testing stateful services
           Testing apps with fault analysis
      The ImageStoreConnectionString setting
          5.7.11. Service resources
          5.7.12. Periodic backup and restore
      Understanding periodic backup configuration
      Triggering restore of partition
      On-demand backup of partition
     5.8. Clusters
          5.8.1. Clusters overview
          5.8.2. Cluster security
          5.8.3. Feature differences between Linux and Windows
          5.8.4. Clusters on Azure
      Node types and VM Scale Sets
      Upgrading clusters in Azure
      Cluster networking patterns
          5.8.5. Standalone clusters
      Upgrading standalone clusters
          5.8.6. Cluster resource manager
      Cluster resource manager overview
      Describe a cluster
      Application groups overview
      Configure Cluster Resource Manager settings
      Resource consumption metrics
      Use service affinity
      Service placement policies
      Manage a cluster
      Cluster defragmentation
      Balance a cluster
      Service movement
      Autoscaling services
     5.9. Monitoring and diagnostics
          5.9.1. Monitoring overview
          5.9.2. Application monitoring
          5.9.3. Cluster monitoring
      Cluster monitoring overview
      Service Fabric events
      EventStore overview
      Reliable Services events
      Monitoring Service Remoting
      Reliable Actors events
          5.9.4. Infrastructure monitoring
          5.9.5. Health model overview
          5.9.6. Report health events
          5.9.7. Monitoring partners
     5.10. Integration with API Management
6. How-to guides
     6.1. Set up your development environment
          6.1.1. Windows
          6.1.2. Linux
          6.1.3. Mac OS
          6.1.4. Set up the Service Fabric CLI
     6.2. Plan and prepare
          6.2.1. Plan cluster capacity
          6.2.2. Plan for standalone cluster deployment
          6.2.3. Prepare for disaster recovery
          6.2.4. Plan application capacity
     6.3. Create your first...
          6.3.1. C# application in Visual Studio
          6.3.2. Windows container application
          6.3.3. Linux container application
          6.3.4. C# Reliable Services application on Windows
          6.3.5. Java Reliable Services application on Linux
          6.3.6. C# Reliable Services application on Linux
          6.3.7. C# Reliable Actors application on Windows
          6.3.8. Java Reliable Actors application on Linux
          6.3.9. Guest executable application on Windows
     6.4. Build an application
          6.4.1. Build a guest executable service
      Deploy a guest executable
      Deploy multiple guest executables
          6.4.2. Build a container service
      Docker compose (preview)
      Resource governance for containers and services
      Volume and logging drivers
      View container logs
      Services inside containers
      Container networking modes
          6.4.3. Build a Reliable Services service
      Reliable Collections
           Working with Reliable Collections
           Reliable Concurrent Queue
           Reliable Collection serialization
      Communicate with services
           Communicate with Reliable Services
           Service Remoting - C#
           Service Remoting - Java
           Secure communications - C#
           Secure communications - Java
           Secure WCF communications
      Send notifications
      Backup and restore
          6.4.4. Build a Reliable Actors service
      Access, save, and remove actor state
      Enumerate actors
      Delete actors and their state
      Backup and restore actors
      Send actor notifications
      Set timers and reminders
      Configure KvsActorStateProvider
      Configure communications settings
      Configure ReliableDictionaryActorStateProvider
          6.4.5. Build an ASP.NET Core service
          6.4.6. Build an Apache Tomcat server container on Linux
          6.4.7. Configure security
      Integrate with API Management
      Manage application secrets
           Set up an encryption certificate and encrypt secrets on Windows
           Set up an encryption certificate and encrypt secrets on Linux
      Configure reverse proxy for secure communication
      Run a service startup script as a local user or system account
      Run a service as a local user or system account
      Assign a security access policy for endpoints
      Run a service as an AD user or group
      Run a service as a group Managed Service Account
      Use a certificate in a container
      Set up gMSA for Windows containers
      Configure certificates on Linux
          6.4.8. Configure periodic backups (Clusters on Azure)
          6.4.9. Configure periodic backups (Standalone Clusters)
          6.4.10. Migrate old Java Application to support Maven
     6.5. Work in an IDE
          6.5.1. Work in a Windows/VS dev environment
      Manage applications in Visual Studio
      Configure secure connections in Visual Studio
      Debug a .NET service in VS
      Debug Windows containers with Service Fabric and VS
      Common errors and exceptions
      Monitor and diagnose locally
      Set up a Linux cluster on Windows
          6.5.2. Work in a Linux/Eclipse dev environment
      Get started with Eclipse plugin for Java development
      Debug a Java service in Eclipse
      Monitor and diagnose locally
          6.5.3. Work in a VS Code environment
      Get started with VS Code
      Develop C# Service Fabric applications with VS Code
      Develop Java Service Fabric applications with VS Code
     6.6. Migrate from Cloud Services
          6.6.1. Compare Cloud Services with Service Fabric
          6.6.2. Migrate to Service Fabric
          6.6.3. Recommended practices
          6.6.4. Refactor a migrated app
     6.7. Manage application lifecycle
          6.7.1. Package an application
          6.7.2. Use parameters with configuration files
          6.7.3. Specify port numbers using parameters
          6.7.4. Specify environment variables
          6.7.5. Deploy or remove applications
      Deploy applications on a local cluster
      Remove a node type
      Azure Resource Manager
      Azure PowerShell
      Service Fabric CLI
      FabricClient APIs
          6.7.6. Upgrade applications
      Upgrade using Azure PowerShell
      Upgrade using Visual Studio
      Troubleshoot application upgrades
          6.7.7. Test applications and services
      Unit test stateful services
      Test service-to-service communication
      Simulate failures
           Using controlled chaos
           Using test actions
           During workloads
           Using test scenarios
           Using the node transition APIs
          6.7.8. Set up continuous integration
      Set up continuous integration with Azure Pipelines
      Deploy your Linux applications using Jenkins
     6.8. Setup and configure reverse proxy
          6.8.1. Set up and configure reverse proxy
          6.8.2. Configure reverse proxy for secure communication
     6.9. Create and manage clusters
          6.9.1. Clusters on Azure
           Create in Azure portal
           Set up Azure Active Directory authentication
           Create a custom cluster template
           Create using Resource Manager
           Create using certificate common name
           Manually scale out
           Programmatically scale out
           Virtual Machine Scale Set Node Type scale out
           Upgrade the Service Fabric version
           Upgrade cluster configuration
           Patch cluster nodes (Windows)
           Patch cluster nodes (Linux)
           Set access control
           Open a port in the load balancer
           Change cluster certificate to common name
           Manually rollover cluster certs
           Manage cluster certificates
           Remote connect to cluster node VM
          6.9.2. Standalone clusters
           Create on-premises
           Secure using certs
           Secure using Windows security
           Contents of the standalone package
           Upgrade the Service Fabric version
           Upgrade cluster configuration
           Configuration settings
           Set access control
           Patch cluster nodes (Windows)
          6.9.3. Visualize a cluster
          6.9.4. Connect to a secure cluster
     6.10. Monitor and diagnose
          6.10.1. Diagnose common scenarios
          6.10.2. Monitor applications
      Add logging to your application
      Analyze with Application Insights
      Aggregate logs with EventFlow
      Monitor containers
          6.10.3. Monitor clusters
      Configure Log Analytics to collect cluster events
      Monitor your cluster with Log Analytics
      Query EventStore APIs
      Windows Cluster Diagnostics
      Linux Cluster Diagnostics
      Set up Log Analytics
      Monitor with Log Analytics
          6.10.4. Monitor infrastructure
      Collect performance counters with the Log Analytics Agent
      Collect performance counters with WAD
          6.10.5. Monitor health
      Report and check health
      Troubleshoot with system health reports
      View health reports
          6.10.6. Diagnose reverse proxy events
          6.10.7. Troubleshoot your local cluster
     6.11. Best practices
          6.11.1. Production readiness checklist
7. Reference
     7.1. Azure PowerShell
     7.2. PowerShell
     7.3. Azure CLI (az sf)
     7.4. Service Fabric CLI (sfctl)
          7.4.1. sfctl application
          7.4.2. sfctl chaos
      sfctl chaos schedule
          7.4.3. sfctl cluster
          7.4.4. sfctl compose
          7.4.5. sfctl container
          7.4.6. sfctl is
          7.4.7. sfctl mesh
      sfctl mesh app
      sfctl mesh code-package-log
      sfctl mesh deployment
      sfctl mesh gateway
      sfctl mesh network
      sfctl mesh secret
      sfctl mesh secretvalue
      sfctl mesh service
      sfctl mesh service-replica
      sfctl mesh volume
          7.4.8. sfctl node
          7.4.9. sfctl partition
          7.4.10. sfctl property
          7.4.11. sfctl replica
          7.4.12. sfctl rpm
          7.4.13. sfctl sa-cluster
          7.4.14. sfctl service
          7.4.15. sfctl settings
      sfctl settings telemetry
          7.4.16. sfctl store
     7.5. Java API
     7.6. .NET
     7.7. REST
     7.8. Resource Manager template
     7.9. Service Fabric events
     7.10. Configure cluster settings and fabric upgrade policy
     7.11. Service model XML schema
          7.11.1. Elements
          7.11.2. Complex types
          7.11.3. Attribute groups
          7.11.4. Simple types
          7.11.5. Element groups
     7.12. Environment variables
8. Resources
     8.1. Azure Roadmap
     8.2. Common questions
     8.3. MSDN Forum
     8.4. Pricing
     8.5. Pricing calculator
     8.6. Troubleshooting guides
     8.7. Sample code
     8.8. Support options
     8.9. Service Fabric versions
     8.10. Service Updates
     8.11. Videos

Online Training Content

Date Title
5/30/2017 Azure211x - Azure Application Deployment and Management
5/24/2017 Developing Microsoft Azure Solutions
5/5/2017 Cloud-Anwendungsentwicklung
3/5/2017 Cloud Application Development
9/25/2016 Building Microservices Applications on Azure Service Fabric
6/23/2016 Introduction to Microservices
6/23/2016 Microservices Design and Patterns
12/11/2015 Build Always-On, Hyper-Scalable Microservice-based Cloud Services


Tool Description
Create Azure service fabric cluster with ARM template and powershell Create Azure service fabric cluster with ARM template and powershellThis step-by-step guide walks you through setting up a secure Azure Service Fabric cluster with scale set, storage accounts, load balancer in Azure by using Azure Resource Manager.note - Key vault , Reverse proxy


Date Title Length
Learn how you can use Azure Virtual Networks to build modern containerized - BRK3294
Azure Service Fabric Mesh: The serverless microservices platform - BRK2381
Scaling with Service Fabric Mesh | Azure Friday
Scaling effortlessly with Service Fabric Mesh
Azure Service Fabric overview and the road ahead - BRK2030
Born in the cloud: Lessons learned while building a successful IoT startup in Azure - BRK2410
Azure Service Fabric Mesh: The serverless microservices platform - BRK2381
Best practices for Azure Service Fabric applications and clusters - BRK3345
Fault-driven development - BRK1108
Learn how you can use Azure Virtual Networks to build modern containerized - BRK3294

Page 1 of 17