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. Azure for Developers - From App Services to Service Fabric
    2/10/2017, Video, 1:17:34
  6. Microservices Design and Patterns
    6/23/2016, Mva

Azure Documentation

1. Overview
     1.1. What is Service Fabric?
     1.2. Understand microservices
     1.3. Big picture
     1.4. Application scenarios
     1.5. Patterns and scenarios
     1.6. Architecture
     1.7. Terminology
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
     2.4. Deploy .NET apps in a container
     2.5. Create your first cluster on Azure
     2.6. Create your first standalone cluster
     2.7. Create your first container app
3. How To
     3.1. Build an application
          3.1.1. Concepts
      Supported programming models
      Application model
      Hosting model
      Service manifest resources
      Service state
      Service partitioning
      Availability of services
      Scalability of applications
      ASP.NET Core
          3.1.2. Plan app capacity
          3.1.3. Build a guest executable service
      Deploy a guest executable
      Deploy multiple guest executables
          3.1.4. Build a container service
      Deploy Windows container
      Deploy Linux container
      Docker compose (preview)
      Resource Governance for Containers and Services
      Volume and logging drivers
          3.1.5. Build a Reliable Service service
           Reliable Services lifecycle - C#
           Reliable Services lifecycle - Java
      Reliable Collections
           Reliable Collections
           Reliable Collection guidelines & recommendations
           Working with Reliable Collections
           Transactions and locks
           Reliable Concurrent Queue
           Reliable Collection serialization
           Reliable State Manager and Reliable Collection internals
      Get started
           C# on Windows
           Java on Linux
      Send notifications
      Backup and restore
      Communicate with services
           Communicate with Reliable Services
           Service Remoting - C#
           Service Remoting - Java
           Secure communications - C#
           Secure communications - Java
      Advanced usage
          3.1.6. Build a Reliable Actor service
           Lifecycle and garbage collection
           State management
           Type serialization
      Get started
           C# on Windows
           Java on Linux
      Send notifications
      Set timers and reminders
      Configure KvsActorStateProvider
      Configure communications settings
      Configure ReliableDictionaryActorStateProvider
          3.1.7. Communicate with services
      Service communication
      DNS service
      Reverse proxy
      Configure reverse proxy for secure communication
          3.1.8. Add a web front end
          3.1.9. Work in an IDE
      Get started with Eclipse plugin for Java development
      Manage apps in Visual Studio
      Configure secure connections in Visual Studio
      Configure your application for multiple environments
          3.1.10. Configure security
      Manage application secrets
      Configure security policies for your application
          3.1.11. Debug
      Debug a C# service in VS
      Debug a Java service in Eclipse
      Common errors and exceptions
          3.1.12. Monitor and diagnose locally
          3.1.13. Migrate from Cloud Services
      Compare Cloud Services with Service Fabric
      Migrate to Service Fabric
      Recommended practices
     3.2. Manage application lifecycle
          3.2.1. Overview
          3.2.2. Package an application
          3.2.3. Understand the ImageStoreConnectionString setting
          3.2.4. Deploy or remove applications
      Visual Studio
      FabricClient APIs
          3.2.5. Upgrade an application
      Configure application upgrade
      Application upgrade parameters
           Visual Studio
      Troubleshoot application upgrades
      Data serialization in application upgrades
      Application upgrades advanced topics
          3.2.6. Test applications and services
      Fault analysis overview
      Test service-to-service communication
      Simulate failures
           Using controlled chaos
           Using test actions
           During workloads
           Using test scenarios
           Using the node transition APIs
      Load test your application
          3.2.7. Set up continuous integration
      Set up continuous integration with VSTS
      Deploy your Linux Java app using Jenkins
     3.3. Create and manage clusters
          3.3.1. Overview
          3.3.2. Concepts
      Describe a cluster
      Cluster security
      Feature differences between Linux and Windows
          3.3.3. Plan and prepare
      Capacity planning
      Disaster recovery
          3.3.4. Clusters on Azure
           Node types and VM Scale Sets
           Cluster networking patterns
           Azure portal
           Azure Resource Manager
           Visual Studio and Azure Resource Manager
      Set access control
      Manage cluster certificates
          3.3.5. Standalone clusters
      Plan and prepare for your deployment
           Create on-premises
           Create on Azure virtual machines
           Secure using certs
           Secure using Windows security
           Contents of the standalone package
      Set access control
          3.3.6. Visualize a cluster
          3.3.7. Connect to a secure cluster
          3.3.8. Manage a cluster using Azure CLI
          3.3.9. Patch cluster nodes
          3.3.10. Manage and orchestrate cluster resources
      Cluster Resource Manager overview
      Cluster Resource Manager architecture
      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
     3.4. Monitor and diagnose
          3.4.1. Monitor and diagnose applications
          3.4.2. Generate events
      Generate infrastructure level events
           Reliable Services events
           Reliable Actors events
      Generate application level events
          3.4.3. Inspect application and cluster health
      Monitor Service Fabric health
      Report and check service health
      Add custom health reports
      Troubleshoot with system health reports
      View health reports
          3.4.4. Aggregate events
      Aggregate events with EventFlow
      Aggregate events with Azure Diagnostics
          3.4.5. Analyze events
      Analyze events with Application Insights
      Analyze events with OMS
          3.4.6. Troubleshoot your local cluster
4. Reference
     4.1. PowerShell (Azure)
     4.2. PowerShell
     4.3. Azure CLI
     4.4. Java API
     4.5. .NET
     4.6. REST
5. Resources
     5.1. Azure Roadmap
     5.2. Common questions about Service Fabric
     5.3. Learning path
     5.4. MSDN Forum
     5.5. Pricing
     5.6. Sample code
     5.7. Service Fabric support options
     5.8. Service Updates
     5.9. Videos


Tool Description