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

Title  
Video
Video
Blog
Blog
Blog
Blog
Video
Blog
Blog
Blog
Video
Video
more...


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
               3.5.1.1. 1a- Create a Windows cluster
               3.5.1.2. 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. Patterns and scenarios
     5.5. Architecture
     5.6. Terminology
     5.7. Building applications
          5.7.1. Building applications overview
          5.7.2. Containers
               5.7.2.1. Containers overview
               5.7.2.2. Docker compose (preview)
               5.7.2.3. Resource governance
          5.7.3. Reliable Services
               5.7.3.1. Reliable Services overview
               5.7.3.2. Service partitioning
               5.7.3.3. Reliable Services lifecycle - C#
               5.7.3.4. Reliable Services lifecycle - Java
               5.7.3.5. Replica and instance lifecycle
               5.7.3.6. Reliable Collections
               5.7.3.7. Reliable Collection guidelines & recommendations
               5.7.3.8. Working with Reliable Collections
               5.7.3.9. Transactions and locks
               5.7.3.10. Reliable Concurrent Queue
               5.7.3.11. Reliable Collection serialization
          5.7.4. Reliable Actors
               5.7.4.1. Reliable Actors overview
               5.7.4.2. Architecture
               5.7.4.3. Implementing service-level features
               5.7.4.4. Lifecycle and garbage collection
               5.7.4.5. State management
               5.7.4.6. Polymorphism
               5.7.4.7. Reentrancy
               5.7.4.8. Type serialization
          5.7.5. Guest executables
     5.8. Applications and services
          5.8.1. Application model
          5.8.2. Application and service manifests
          5.8.3. Application and service manifest examples
               5.8.3.1. Reliable services application and service manifest examples
               5.8.3.2. Multi-container application and service manifest examples
          5.8.4. Hosting model
          5.8.5. Application security
          5.8.6. Service state
          5.8.7. Scalability of applications
          5.8.8. Availability of services
          5.8.9. Service communication
               5.8.9.1. Service communication overview
               5.8.9.2. DNS service
               5.8.9.3. Reverse proxy
               5.8.9.4. ASP.NET Core
          5.8.10. Application lifecycle
               5.8.10.1. Application lifecycle overview
               5.8.10.2. Application upgrade
                    5.8.10.2.1. Application upgrade overview
                    5.8.10.2.2. Configuration
                    5.8.10.2.3. Application upgrade parameters
                    5.8.10.2.4. Data serialization in application upgrades
                    5.8.10.2.5. Application upgrades advanced topics
               5.8.10.3. Manage applications for multiple environments
               5.8.10.4. Testing applications
                    5.8.10.4.1. Unit testing stateful services
                    5.8.10.4.2. Testing apps with fault analysis
               5.8.10.5. The ImageStoreConnectionString setting
          5.8.11. Service resources
          5.8.12. Periodic backup and restore
               5.8.12.1. Understanding periodic backup configuration
     5.9. Clusters
          5.9.1. Clusters overview
          5.9.2. Cluster security
          5.9.3. Scaling
          5.9.4. Feature differences between Linux and Windows
          5.9.5. Clusters on Azure
               5.9.5.1. Node types and VM Scale Sets
               5.9.5.2. Cluster networking patterns
          5.9.6. Cluster resource manager
               5.9.6.1. Cluster resource manager overview
               5.9.6.2. Architecture
               5.9.6.3. Describe a cluster
               5.9.6.4. Application groups overview
               5.9.6.5. Configure Cluster Resource Manager settings
               5.9.6.6. Resource consumption metrics
               5.9.6.7. Use service affinity
               5.9.6.8. Service placement policies
               5.9.6.9. Manage a cluster
               5.9.6.10. Cluster defragmentation
               5.9.6.11. Balance a cluster
               5.9.6.12. Throttling
               5.9.6.13. Service movement
               5.9.6.14. Autoscaling services
     5.10. Monitoring and diagnostics
          5.10.1. Monitoring overview
          5.10.2. Cluster monitoring
               5.10.2.1. Service Fabric events
               5.10.2.2. EventStore overview
               5.10.2.3. Reliable Services events
               5.10.2.4. Reliable Actors events
               5.10.2.5. Monitoring Service Remoting
          5.10.3. Application logging
          5.10.4. Performance metrics
          5.10.5. Health model overview
          5.10.6. Report health events
          5.10.7. Monitoring partners
     5.11. 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
               6.4.1.1. Deploy a guest executable
               6.4.1.2. Deploy multiple guest executables
          6.4.2. Build a container service
               6.4.2.1. Docker compose (preview)
               6.4.2.2. Resource governance for containers and services
               6.4.2.3. Volume and logging drivers
               6.4.2.4. View container logs
               6.4.2.5. Services inside containers
               6.4.2.6. Container networking modes
          6.4.3. Build a Reliable Services service
               6.4.3.1. Reliable Collections
                    6.4.3.1.1. Working with Reliable Collections
                    6.4.3.1.2. Reliable Concurrent Queue
                    6.4.3.1.3. Reliable Collection serialization
               6.4.3.2. Communicate with services
                    6.4.3.2.1. Communicate with Reliable Services
                    6.4.3.2.2. Service Remoting - C#
                    6.4.3.2.3. Service Remoting - Java
                    6.4.3.2.4. WCF
                    6.4.3.2.5. Secure communications - C#
                    6.4.3.2.6. Secure communications - Java
                    6.4.3.2.7. Secure WCF communications
               6.4.3.3. Configure
               6.4.3.4. Send notifications
               6.4.3.5. Backup and restore
          6.4.4. Build a Reliable Actors service
               6.4.4.1. Access, save, and remove actor state
               6.4.4.2. Enumerate actors
               6.4.4.3. Delete actors and their state
               6.4.4.4. Backup and restore actors
               6.4.4.5. Send actor notifications
               6.4.4.6. Set timers and reminders
               6.4.4.7. Configure KvsActorStateProvider
               6.4.4.8. Configure communications settings
               6.4.4.9. 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
               6.4.7.1. Integrate with API Management
               6.4.7.2. Manage application secrets
               6.4.7.3. Configure reverse proxy for secure communication
               6.4.7.4. Run a service startup script as a local user or system account
               6.4.7.5. Run a service as a local user or system account
               6.4.7.6. Assign a security access policy for endpoints
               6.4.7.7. Run a service as an AD user or group
               6.4.7.8. Run a service as a group Managed Service Account
               6.4.7.9. Use a certificate in a container
               6.4.7.10. Set up gMSA for Windows containers
               6.4.7.11. 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 a Windows/VS dev environment
          6.5.1. Manage applications in Visual Studio
          6.5.2. Configure secure connections in Visual Studio
          6.5.3. Debug a .NET service in VS
          6.5.4. Debug Windows containers with Service Fabric and VS
          6.5.5. Common errors and exceptions
          6.5.6. Monitor and diagnose locally
          6.5.7. Set up a Linux cluster on Windows
     6.6. Work in a Linux/Eclipse dev environment
          6.6.1. Get started with Eclipse plugin for Java development
          6.6.2. Debug a Java service in Eclipse
          6.6.3. Monitor and diagnose locally
     6.7. Work in a VS Code environment
          6.7.1. Get started with VS Code
          6.7.2. Develop C# Service Fabric applications with VS Code
          6.7.3. Develop Java Service Fabric applications with VS Code
     6.8. Migrate from Cloud Services
          6.8.1. Compare Cloud Services with Service Fabric
          6.8.2. Migrate to Service Fabric
          6.8.3. Recommended practices
          6.8.4. Refactor a migrated app
     6.9. Manage application lifecycle
          6.9.1. Package an application
          6.9.2. Use parameters with configuration files
          6.9.3. Specify port numbers using parameters
          6.9.4. Specify environment variables
          6.9.5. Deploy or remove applications
               6.9.5.1. Deploy applications on a local cluster
               6.9.5.2. Azure Resource Manager
               6.9.5.3. Azure PowerShell
               6.9.5.4. Service Fabric CLI
               6.9.5.5. FabricClient APIs
          6.9.6. Upgrade applications
               6.9.6.1. Upgrade using Azure PowerShell
               6.9.6.2. Upgrade using Visual Studio
               6.9.6.3. Troubleshoot application upgrades
          6.9.7. Test applications and services
               6.9.7.1. Unit test stateful services
               6.9.7.2. Test service-to-service communication
               6.9.7.3. Simulate failures
                    6.9.7.3.1. Using controlled chaos
                    6.9.7.3.2. Using test actions
                    6.9.7.3.3. During workloads
                    6.9.7.3.4. Using test scenarios
                    6.9.7.3.5. Using the node transition APIs
          6.9.8. Set up continuous integration
               6.9.8.1. Set up continuous integration with Azure Pipelines
               6.9.8.2. Deploy your Linux applications using Jenkins
     6.10. Setup and configure reverse proxy
          6.10.1. Set up and configure reverse proxy
          6.10.2. Configure reverse proxy for secure communication
     6.11. Create and manage clusters
          6.11.1. Clusters on Azure
               6.11.1.1. Create
                    6.11.1.1.1. Create in Azure portal
                    6.11.1.1.2. Set up Azure Active Directory authentication
                    6.11.1.1.3. Create a custom cluster template
                    6.11.1.1.4. Create using Resource Manager
                    6.11.1.1.5. Create using certificate common name
               6.11.1.2. Scale
                    6.11.1.2.1. Manually scale out
                    6.11.1.2.2. Programmatically scale out
                    6.11.1.2.3. Virtual Machine Scale Set Node Type scale out
               6.11.1.3. Upgrade
               6.11.1.4. Set access control
               6.11.1.5. Open a port in the load balancer
               6.11.1.6. Change cluster certificate to common name
               6.11.1.7. Manually rollover cluster certs
               6.11.1.8. Manage cluster certificates
               6.11.1.9. Remote connect to cluster node VM
          6.11.2. Standalone clusters
               6.11.2.1. Create
                    6.11.2.1.1. Create on-premises
                    6.11.2.1.2. Secure using certs
                    6.11.2.1.3. Secure using Windows security
                    6.11.2.1.4. Contents of the standalone package
               6.11.2.2. Scale
               6.11.2.3. Set access control
               6.11.2.4. Configure
               6.11.2.5. Upgrade
          6.11.3. Visualize a cluster
          6.11.4. Connect to a secure cluster
          6.11.5. Patch cluster nodes (Windows)
          6.11.6. Patch cluster nodes (Linux)
     6.12. Monitor and diagnose
          6.12.1. Monitor applications
               6.12.1.1. Analyze with Application Insights
               6.12.1.2. Add logging to your application
               6.12.1.3. Aggregate events with EventFlow
               6.12.1.4. Monitor containers
          6.12.2. Monitor clusters
               6.12.2.1. Query EventStore APIs
               6.12.2.2. Windows Azure Diagnostics
               6.12.2.3. Linux Azure Diagnostics
               6.12.2.4. Set up Log Analytics
               6.12.2.5. Monitor with Log Analytics
          6.12.3. Monitor infrastructure
               6.12.3.1. Performance monitoring with the Log Analytics Agent
               6.12.3.2. Performance monitoring with WAD
          6.12.4. Monitor health
               6.12.4.1. Report and check health
               6.12.4.2. Troubleshoot with system health reports
               6.12.4.3. View health reports
          6.12.5. Diagnose reverse proxy events
          6.12.6. Troubleshoot your local cluster
          6.12.7. Diagnose common scenarios
     6.13. Best practices
          6.13.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
               7.4.2.1. 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 node
          7.4.8. sfctl partition
          7.4.9. sfctl property
          7.4.10. sfctl replica
          7.4.11. sfctl rpm
          7.4.12. sfctl sa-cluster
          7.4.13. sfctl service
          7.4.14. sfctl store
     7.5. Java API
     7.6. .NET
     7.7. REST
     7.8. Service Fabric events
     7.9. Configure cluster settings and fabric upgrade policy
     7.10. Service model XML schema
          7.10.1. Elements
          7.10.2. Complex types
          7.10.3. Attribute groups
          7.10.4. Simple types
          7.10.5. Element groups
     7.11. Environment variables
8. Resources
     8.1. Azure Roadmap
     8.2. Common questions
     8.3. Learning path
     8.4. MSDN Forum
     8.5. Pricing
     8.6. Pricing calculator
     8.7. Troubleshooting guides
     8.8. Sample code
     8.9. Support options
     8.10. Service Fabric versions
     8.11. Service Updates
     8.12. 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

Tools

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

Videos

Date Title Length
10/19/2018
Scaling with Service Fabric Mesh | Azure Friday
0:09:48
10/19/2018
Scaling effortlessly with Service Fabric Mesh
0:17:41
10/18/2018
Azure Service Fabric overview and the road ahead - BRK2030
0:54:38
10/2/2018
Born in the cloud: Lessons learned while building a successful IoT startup in Azure - BRK2410
1:15:32
10/2/2018
Azure Service Fabric Mesh: The serverless microservices platform - BRK2381
0:57:33
10/2/2018
Best practices for Azure Service Fabric applications and clusters - BRK3345
0:51:23
10/2/2018
Fault-driven development - BRK1108
0:34:25
10/2/2018
Learn how you can use Azure Virtual Networks to build modern containerized - BRK3294
0:46:59
10/2/2018
From Ops to DevOps with Windows Server containers and Windows Server 2019 - BRK2237
1:11:35
10/2/2018
Take the next step with Windows Server container orchestration - BRK2236
1:11:58

Page 1 of 16