205 lines
9.9 KiB
HTML
205 lines
9.9 KiB
HTML
<h1 id="awesome-servicefabric">awesome-servicefabric</h1>
|
||
<p>A curated list of awesome SF stuff inspired by other <a
|
||
href="https://github.com/bayandin/awesome-awesomeness">awesome-*</a>
|
||
lists.</p>
|
||
<blockquote>
|
||
<p>Contributing: Please submit PR’s with other useful tools, guides and
|
||
projects :)</p>
|
||
</blockquote>
|
||
<h2 id="what-is-service-fabric">What is Service Fabric</h2>
|
||
<p>Service Fabric is a distributed systems platform for Linux and
|
||
Windows that makes it easy to package, deploy, and manage scalable and
|
||
reliable microservices and containers. It is designed to simplify
|
||
infrastructure and focus on implementing mission-critical, demanding
|
||
workloads that are scalable, reliable, and manageable.</p>
|
||
<p>It is deployable in on-premise, Microsoft Azure, Amazon AWS… and has
|
||
a number of unique features: * Container (Windows & Linux)
|
||
deployment and orchestration * Host any process as a Guest Executable *
|
||
Reliable stateless and stateful programming model for Java or .NET *
|
||
Reliable Actors programming model to create cloud objects with
|
||
self-contained code and state * Built-in state model to persist
|
||
highly-available state * Monitor and diagnose the health of applications
|
||
and set policies for performing automatic repairs * Resource balancer
|
||
orchestrate the automatically redistributes applications across the
|
||
cluster, based on policies and resource utilization. Service Fabric
|
||
recovers from failures and optimizes the distribution of load based on
|
||
available resources Rolling upgrades of running process without
|
||
downtime, including breaking and nonbreaking upgrades</p>
|
||
<p>Azure’s core infrastructure is based on Service Fabric and service
|
||
such as Azure SQL, Bing, Cosmos DB, IoT Hub, Event Hub etc. are all
|
||
running on Service Fabric.</p>
|
||
<h2 id="starting-point">Starting Point</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://docs.microsoft.com/en-us/azure/service-fabric/">Service
|
||
Fabric Docs</a> - Public documentation from Microsoft with <a
|
||
href="https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-overview">overview</a>,
|
||
<a
|
||
href="https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-architecture">architecture</a>
|
||
and <a
|
||
href="https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-technical-overview">terminology</a></li>
|
||
<li><a
|
||
href="https://github.com/azure/service-fabric-issues/issues">Service
|
||
Fabric issue tracker</a></li>
|
||
<li><a href="https://aka.ms/tryservicefabric">Service Fabric Party
|
||
Cluster</a> - try a free, limited-time usage Service Fabric cluster
|
||
hosted on Microsoft Azure</li>
|
||
<li><a
|
||
href="https://azure.microsoft.com/en-us/resources/samples/?service=service-fabric">Service
|
||
Fabric code samples</a></li>
|
||
</ul>
|
||
<h2 id="installation-setup">Installation / Setup</h2>
|
||
<ul>
|
||
<li>Setting up a <a
|
||
href="https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-get-started">Windows
|
||
development environment</a></li>
|
||
<li>Setting up a <a
|
||
href="https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-get-started-linux">Linux
|
||
development environment</a></li>
|
||
<li>Setting up a <a
|
||
href="https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-get-started-mac">Mac
|
||
development environment</a></li>
|
||
</ul>
|
||
<h2 id="source">Source</h2>
|
||
<p><a href="https://github.com/Azure/service-fabric">Service Fabric Open
|
||
Source Projects</a> - Service Fabric homepage for OSS projects</p>
|
||
<h2 id="development">Development</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/coherentsolutionsinc/aspnetcore-service-fabric-hosting">CoherentSolutions.Extensions.Hosting.ServiceFabric</a>
|
||
- Contains a extension methods for generic host to simplify
|
||
configuration of Reliable Services and reduce amount of hand written
|
||
code. The project infrastructure also supports common logging / tracing,
|
||
dependency injection and configuration scenarios.</li>
|
||
</ul>
|
||
<h2 id="testing">Testing</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://www.nuget.org/packages/ServiceFabric.Mocks/">Service
|
||
Fabric Mocks</a> - Contains many Mock and helper classes to facilitate
|
||
and simplify unit testing of Service Fabric Actors and Services.</li>
|
||
</ul>
|
||
<h2 id="continuous-integration-monitoring-delivery">Continuous
|
||
Integration, Monitoring & Delivery</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/peterbryntesson/ServiceFabric.Watchdog">Service
|
||
Fabric Watchdog</a> - A framework for exposing custom metrics and
|
||
monitoring them with a watchdog in Azure Service Fabric.</li>
|
||
<li><a
|
||
href="https://channel9.msdn.com/Shows/Azure-Friday/Jenkins-CICD-with-Service-Fabric">Jenkins
|
||
CI/CD with Service Fabric</a> - Setup a CI/CD pipeline for Service
|
||
Fabric using Jenkins.</li>
|
||
<li><a
|
||
href="https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-tutorial-deploy-app-with-cicd-vsts">Visual
|
||
Studio Team Services CI/CD with Service Fabric</a> - Setup a CI/CD
|
||
pipeline for Service Fabric using VSTS.</li>
|
||
<li><a
|
||
href="https://hub.docker.com/r/coherentsolutions/service-fabric-run-tests/">Service
|
||
Fabric Run-Tests</a> - A Linux docker image for execution of unit test
|
||
that use Service Fabric classes (i.e. StatefulServiceBase).</li>
|
||
</ul>
|
||
<h2 id="networking-and-routing">Networking and Routing</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/jjcollinge/traefik-on-service-fabric/">Traefik
|
||
on Service Fabric</a> - Ingress and Routing provider to enable <a
|
||
href="https://traefik.io/">Traefik</a> integration.</li>
|
||
</ul>
|
||
<h2 id="code-sdks-and-integrations">Code, SDKs and Integrations</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://godoc.org/github.com/jjcollinge/servicefabric">Unofficial
|
||
Management SDK for golang</a> - Package servicefabric is an opinionated
|
||
Service Fabric client written in Golang.</li>
|
||
<li><a
|
||
href="https://github.com/lawrencegripper/RedisOnSerivceFabric-Example">Example
|
||
Hosting Redis</a> - An example project showing two different approaches
|
||
for hosting Redis as a GuestExecutable.</li>
|
||
<li><a
|
||
href="https://gist.github.com/aelij/987d974c811865029564f1bbeffb6b47">IAsyncEnumerable
|
||
Bridge for Service Fabric Reliable Collections</a> - An IAsyncEnumerable
|
||
Bridge to enable LINQ like queries on Service Fabric Reliable
|
||
Collections.</li>
|
||
<li><a href="https://github.com/MedAnd/Minio.ServiceFabric">Minio Server
|
||
for Service Fabric</a> - Minio for Service Fabric is an open source
|
||
object storage server with Amazon S3 compatible API.</li>
|
||
<li><a
|
||
href="https://github.com/Expecho/ServiceFabric-Remoting-CustomHeaders">Custom
|
||
Headers For Remoting</a> - Allows injecting custom message headers into
|
||
remoting messages (Actors and Reliable Services, V2 remoting only)</li>
|
||
</ul>
|
||
<h2 id="interesting-blogs">Interesting Blogs</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://blogs.msdn.microsoft.com/azureservicefabric/">Service
|
||
Fabric Team Blog</a></li>
|
||
<li><a
|
||
href="https://www.microsoft.com/developerblog/2018/01/18/continuous-delivery-service-fabric-via-github-travis-ci-docker-compose/">Continuous
|
||
Delivery for Service Fabric via Github, Travis CI and Docker
|
||
Compose</a></li>
|
||
<li><a
|
||
href="https://www.microsoft.com/developerblog/2018/01/09/deploying-a-linux-python-web-application-to-service-fabric-via-docker-compose/">Deploying
|
||
a Linux Python web application to Service Fabric via Docker
|
||
Compose</a></li>
|
||
<li><a
|
||
href="https://blogs.msdn.microsoft.com/azureservicefabric/2015/12/15/service-fabric-under-the-hood-the-cluster-resource-manager-part-1/">Service
|
||
Fabric Under the Hood: The Cluster Resource Manager (Part 1)</a></li>
|
||
<li><a
|
||
href="https://blogs.msdn.microsoft.com/azureservicefabric/2016/01/14/service-fabric-under-the-hood-the-cluster-resource-manager-part-2/">Service
|
||
Fabric Under the Hood: The Cluster Resource Manager (Part 2)</a></li>
|
||
<li><a
|
||
href="https://www.dynatrace.com/blog/azure-services-explained-part-1-azure-service-fabric/">Azure
|
||
services explained – Part 1: Azure Service Fabric</a></li>
|
||
<li><a
|
||
href="https://loekd.wordpress.com/2018/03/05/unit-testing-in-azure-service-fabric/">Unit
|
||
testing in Azure Service Fabric</a></li>
|
||
<li><a
|
||
href="https://olegkarasik.wordpress.com/2018/10/03/service-fabric-handbook/">Service
|
||
Fabric Handbook</a></li>
|
||
</ul>
|
||
<h2 id="training-courses-and-books">Training, Courses and Books</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://mva.microsoft.com/en-us/training-courses/building-microservices-applications-on-azure-service-fabric-16747?l=tbuZM46yC_5206218965">Building
|
||
Microservices Applications on Azure Service Fabric</a></li>
|
||
<li><a
|
||
href="https://mva.microsoft.com/en-us/training-courses/azure-service-fabric-patterns-and-practices-16925?l=mudwqISGD_6005167344">Service
|
||
Fabric Patterns and Practices</a></li>
|
||
<li><a
|
||
href="https://www.microsoftpressstore.com/store/programming-microsoft-azure-service-fabric-9781509301881">Programming
|
||
Microsoft Azure Service Fabric</a></li>
|
||
<li><a
|
||
href="https://www.pluralsight.com/courses/azure-service-fabric-programming-models">Understanding
|
||
the Programming Models of Azure Service Fabric</a></li>
|
||
<li><a
|
||
href="https://channel9.msdn.com/Search?term=service%20fabric#pubDate=year&ch9Search&lang-en=en">Service
|
||
Fabric on Channel9</a></li>
|
||
<li><a
|
||
href="https://www.lynda.com/Azure-tutorials/Why-Azure-Service-Fabric/573134/590379-4.html">Why
|
||
Service Fabric?</a></li>
|
||
</ul>
|
||
<h2 id="hacks-samples-and-labs">Hacks, Samples and Labs</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/kagowda/India-Hackathon">Service Fabric
|
||
Challenges</a></li>
|
||
<li><a href="https://github.com/MikkelHegn/ContainersSFLab">Service
|
||
Fabric Windows Container Lab</a></li>
|
||
<li><a
|
||
href="https://azure.microsoft.com/en-us/resources/samples/?service=service-fabric&sort=0">Service
|
||
Fabric Samples</a></li>
|
||
</ul>
|
||
<h2 id="comparisons-with-kubernetes">Comparisons with Kubernetes</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://blogs.msdn.microsoft.com/azuredev/2018/08/15/service-fabric-and-kubernetes-comparison-part-1-distributed-systems-architecture/">Service
|
||
Fabric and Kubernetes: community comparison, part 1 – Distributed
|
||
Systems Architecture</a></li>
|
||
<li><a
|
||
href="https://github.com/paolosalvatori/service-fabric-acs-kubernetes-multi-container-app">Multi-Container
|
||
Sample with Service Fabric and Kubernetes</a></li>
|
||
<li><a
|
||
href="https://stackoverflow.com/questions/48415057/difference-between-kubernetes-and-service-fabric">Difference
|
||
between Kubernetes and Service Fabric</a></li>
|
||
</ul>
|