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. Service Fabric Learning Path
    10/3/2016, Webpage
  2. Design modern microservice applications on Microsoft Azure Service Fabric
    9/30/2016, Video, 1:18:26
  3. Building Microservices Applications on Azure Service Fabric
    9/25/2016, Mva
  4. What is Azure Service Fabric Cluster?
    11/9/2016, Video, 0:18:11
  5. Microservices Design and Patterns
    6/23/2016, Mva

Azure Documentation

1. Overview
     1.1. What is Service Fabric?
     1.2. Understand microservices
     1.3. Application scenarios
     1.4. Architecture
     1.5. Terminology
     1.6. Content roadmap
2. Get Started
     2.1. Set up your development environment
          2.1.1. Windows
          2.1.2. Linux
          2.1.3. Mac OS
     2.2. Create your first application
          2.2.1. C# on Windows
          2.2.2. Java on Linux
          2.2.3. C# on Linux
     2.3. Deploy apps on a local cluster
3. How To
     3.1. Build an application
          3.1.1. Patterns and scenarios
          3.1.2. Basics
               3.1.2.1. Application model
               3.1.2.10. Monitor and diagnose
                    3.1.2.10.1. Windows
                    3.1.2.10.2. Linux
               3.1.2.11. Manage application secrets
               3.1.2.12. Configure security policies for your application
               3.1.2.13. Configure your application for multiple environments
               3.1.2.14. Common errors and exceptions
               3.1.2.2. Supported programming model
               3.1.2.3. Service state
               3.1.2.4. Service communication
               3.1.2.5. Add a web front end
               3.1.2.6. Service manifest resources
               3.1.2.7. Manage apps in Visual Studio
               3.1.2.8. Configure secure connections in Visual Studio
               3.1.2.9. Debug
                    3.1.2.9.1. Debug a C# service in VS
                    3.1.2.9.2. Debug a Java service in Eclipse
          3.1.3. Guest executable application
               3.1.3.1. Deploy a guest executable
               3.1.3.2. Deploy multiple guest executables
          3.1.4. Container application
               3.1.4.1. Overview
               3.1.4.2. Deploy Windows container
               3.1.4.3. Deploy Docker container
          3.1.5. Reliable Service application
               3.1.5.1. Overview
               3.1.5.10. Communicate with Reliable Services
               3.1.5.11. Secure communications with Reliable Services
                    3.1.5.11.1. ASP.NET
                    3.1.5.11.2. Service Remoting
                    3.1.5.11.3. WCF
                    3.1.5.11.4. Reverse Proxy
               3.1.5.12. Advanced usage
               3.1.5.2. Get started
                    3.1.5.2.1. C# on Windows
                    3.1.5.2.2. Java on Linux
               3.1.5.3. Architecture
               3.1.5.4. Reliable Services lifecycle
               3.1.5.5. Reliable Collections
               3.1.5.6. Use Reliable Collections
               3.1.5.7. Configure
               3.1.5.8. Notifications
               3.1.5.9. Backup and restore
          3.1.6. Reliable Actor application
               3.1.6.1. Overview
               3.1.6.10. Configure state provider
               3.1.6.11. Type serialization
               3.1.6.12. Configure communications settings
               3.1.6.2. Get Started
                    3.1.6.2.1. C# on Windows
                    3.1.6.2.2. Java on Linux
               3.1.6.3. Architecture
               3.1.6.4. Lifecycle and garbage collection
               3.1.6.5. Polymorphism
               3.1.6.6. Reentrancy
               3.1.6.7. Timers and reminders
               3.1.6.8. Events
               3.1.6.9. State management
     3.2. Migrate from Cloud Services
          3.2.1. Compare Cloud Services with Service Fabric
          3.2.2. Migrate to Service Fabric
     3.3. Create and manage clusters
          3.3.1. Basics
               3.3.1.1. Overview
               3.3.1.2. Describe a cluster
               3.3.1.3. Capacity planning
               3.3.1.4. Visualize a cluster
               3.3.1.5. Connect to a secure cluster
               3.3.1.6. Manage a cluster using Azure CLI
               3.3.1.7. Secure a cluster
               3.3.1.8. Disaster recovery
          3.3.2. Clusters on Azure
               3.3.2.1. Create a cluster on Azure
                    3.3.2.1.1. Azure portal
                    3.3.2.1.2. Azure Resource Manager
                    3.3.2.1.3. Visual Studio and Azure Resource Manager
               3.3.2.10. Try a Party Cluster for free
               3.3.2.2. Node types and VM Scale Sets
               3.3.2.3. Scale a cluster
               3.3.2.4. Upgrade a cluster
               3.3.2.5. Delete a cluster
               3.3.2.6. Access control
               3.3.2.7. Configure a cluster
               3.3.2.8. Secure a cluster using certs
               3.3.2.9. Add or rollover cluster certificates
          3.3.3. Standalone clusters
               3.3.3.1. Plan and prepare for your deployment
               3.3.3.10. Secure a cluster using Windows security
               3.3.3.2. Contents of the Service Fabric standalone package
               3.3.3.3. Create a standalone cluster
               3.3.3.4. Create a standalone cluster on Azure Virtual Machines
               3.3.3.5. Scale a cluster
               3.3.3.6. Upgrade a cluster
               3.3.3.7. Access control
               3.3.3.8. Configure a cluster
               3.3.3.9. Secure a cluster using certs
     3.4. Manage application lifecycle
          3.4.1. Overview
          3.4.10. Data serialization in application upgrades
          3.4.11. Application upgrades advanced topics
          3.4.2. Set up continuous integration
          3.4.3. Understand the ImageStoreConnectionString setting
          3.4.4. Deploy or remove applications
               3.4.4.1. PowerShell
               3.4.4.2. Visual Studio
          3.4.5. Application upgrade overview
          3.4.6. Configure application upgrade
          3.4.7. Application upgrade parameters
          3.4.8. Upgrade an application
               3.4.8.1. PowerShell
               3.4.8.2. Visual Studio
          3.4.9. Troubleshoot application upgrades
     3.5. Inspect application and cluster health
          3.5.1. Monitor Service Fabric health
          3.5.2. Report and check service health
          3.5.3. Add custom health reports
          3.5.4. Troubleshoot with system health reports
          3.5.5. View health reports
     3.6. Monitor and diagnose
          3.6.1. Monitor and diagnose applications
          3.6.2. Monitor and diagnose services locally
               3.6.2.1. Windows
               3.6.2.2. Linux
          3.6.3. Azure Diagnostics logs
               3.6.3.1. Windows
               3.6.3.2. Linux
          3.6.4. Collect logs from a service process
          3.6.5. Diagnostics in stateful Reliable Services
          3.6.6. Diagnostics in Reliable Actors
          3.6.7. Troubleshoot your local cluster
          3.6.8. Troubleshoot common issues
     3.7. Scale applications
          3.7.1. Partition Reliable Services
          3.7.2. Availability of services
          3.7.3. Scale applications
          3.7.4. Plan capacity of applications
     3.8. Test applications and services
          3.8.1. Fault Analysis overview
          3.8.2. Test service-to-service communication
          3.8.3. Simulate failures
               3.8.3.1. Using controlled Chaos
               3.8.3.2. Using Test actions
               3.8.3.3. During workloads
               3.8.3.4. By invoking data loss
               3.8.3.5. Using Test scenarios
               3.8.3.6. Using the node transition APIs
          3.8.4. Load test your application
     3.9. Manage and orchestrate cluster resources
          3.9.1. Cluster Resource Manager overview
          3.9.10. Cluster defragmentation
          3.9.11. Balance a cluster
          3.9.12. Throttling
          3.9.13. Service movement
          3.9.2. Cluster Resource Manager architecture
          3.9.3. Describe a cluster
          3.9.4. Application groups overview
          3.9.5. Configure Cluster Resource Manager settings
          3.9.6. Resource consumption metrics
          3.9.7. Use service affinity
          3.9.8. Service placement policies
          3.9.9. Manage a cluster
4. Reference
     4.1. PowerShell
     4.2. Java API
     4.3. .NET
     4.4. REST
5. Resources
     5.1. Common questions about Service Fabric
     5.2. Service Fabric support options
     5.3. Sample code
     5.4. Learning path
     5.5. Pricing
     5.6. Service Updates
     5.7. MSDN Forum
     5.8. Videos

Tools

Tool Description