{"id":13508653,"url":"https://github.com/microsoft/service-fabric","last_synced_at":"2025-05-13T22:12:19.914Z","repository":{"id":38427333,"uuid":"124312956","full_name":"microsoft/service-fabric","owner":"microsoft","description":"Service Fabric is a distributed systems platform for packaging, deploying, and managing stateless and stateful distributed applications and containers at large scale.","archived":false,"fork":false,"pushed_at":"2025-03-10T17:05:33.000Z","size":63580,"stargazers_count":3037,"open_issues_count":831,"forks_count":400,"subscribers_count":235,"default_branch":"master","last_synced_at":"2025-05-07T23:47:45.701Z","etag":null,"topics":["cloud-computing","cloud-native","containers","distributed-systems","microservices","orchestration"],"latest_commit_sha":null,"homepage":"https://docs.microsoft.com/en-us/azure/service-fabric/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microsoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-08T00:32:14.000Z","updated_at":"2025-05-07T10:10:10.000Z","dependencies_parsed_at":"2023-02-10T19:01:37.902Z","dependency_job_id":"377e1dfb-f65e-4b1c-aa34-da8e34c8d004","html_url":"https://github.com/microsoft/service-fabric","commit_stats":{"total_commits":588,"total_committers":50,"mean_commits":11.76,"dds":0.467687074829932,"last_synced_commit":"93545a62e8f6c2407bd538c0f092b33419f77c30"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fservice-fabric","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fservice-fabric/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fservice-fabric/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fservice-fabric/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microsoft","download_url":"https://codeload.github.com/microsoft/service-fabric/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254036843,"owners_count":22003654,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloud-computing","cloud-native","containers","distributed-systems","microservices","orchestration"],"created_at":"2024-08-01T02:00:56.304Z","updated_at":"2025-05-13T22:12:14.893Z","avatar_url":"https://github.com/microsoft.png","language":"C++","funding_links":[],"categories":["C++","microservices"],"sub_categories":[],"readme":"# Service Fabric\n\nService Fabric is a distributed systems platform for packaging, deploying, and managing stateless and stateful distributed applications and containers at large scale. Service Fabric runs on Windows and Linux, on any cloud, any datacenter, across geographic regions, or on your laptop.Service Fabric represents the next-generation platform for building and managing these enterprise-class, tier-1, cloud-scale applications running in containers.\n\n## Architecture and Subsystem Explorer\n[Learn about Service Fabric's Core Subsystems](docs/architecture/README.md), mapped to this repo's folder structure.\n\n## Service Fabric release schedule \nHere is the upcoming release schedule for Service Fabric runtime versions that we will be supporting starting with version 8.0.\n\n| Version \t| Release date \t   |\n|---------\t|----------------- |\n| 8.0     \t| 2021 Mar     \t   |\n| 8.1     \t| 2021 Jul     \t   |\n| 8.2     \t| 2021 Oct     \t   |\n| 9.0     \t| 2022 Apr         |\n| 9.1     \t| 2022 Oct     \t   |\n| 10.0     \t| 2023 Apr     \t   |\n| 10.1      | 2023 Nov         |\n\nPlease note that these dates are advanced estimates and might be subject to change or minor adjustments closer to each release.\n\nWe will be publishing upcoming features and roadmap items on [Azure Updates for Service Fabric](https://azure.microsoft.com/en-us/updates/?product=service-fabric).\n\n## Repo status\nWe are in the process to move our development to GitHub. Until then, the Service Fabric team will continue regular feature development internally. We'll be providing frequent updates here and on our [team blog](https://blogs.msdn.microsoft.com/azureservicefabric/) as we make progress.  \n\n### Quick look at our current status\n - [x] Service Fabric build tools for Linux\n - [x] Basic tests for Linux builds available\n - [x] Container image with build tools available to run builds\n\n\n## Providing feedback and filing issues\nWe have multiple repositories (in addition to this one) that constitute the Service Fabric product. For more information on how to provide feedback and file issues across the different components (and associated repositories), please see [Contributing.md](CONTRIBUTING.md).\n\n\n## Build Requirements\nThe requirements below are based off running clean builds using ninja, with the command\n\n```sh\nrunbuild.sh –c –n\n```\n\nThe builds were run on [Azure Linux VMs](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/sizes-general) with added disk capacity. If you want to to build on an Azure machine you need to add approximately 70GB for the source+build outputs. \n\nThese times should be taken as estimates of how long a build will take.\n\n|Machine SKU|Cores|Memory|Build Time|\n|-----------|-----|-----------|----------|\n|Standard_D8s_v3|8|32GB|~4 hours|\n|Standard_D16s_v3|16|64GB|~2 hours|\n|Standard_D32s_v3|32|128GB|~1 hour|\n\nOn a smaller VM (Standard_D4s_V3 / 4 cores / 16GB) the build may fail. You may be able to build on a machine with less RAM if you limit the parallelism using the `-j` switch.\n\nThe build also requires approximately 70GB of disk space.\n\n## Setting up for build\n### Get a Linux machine\nThis is the Linux version of Service Fabric. You need a Linux machine to build this project.  If you already have a Linux machine, great! You can get started below.  If not, you can get a [Linux machine on Azure](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/Canonical.UbuntuServer?tab=Overview).\n\n### Installing docker\nOur build environment depends on Docker. In order to get started you will need to [install docker](https://docs.docker.com/engine/installation/).  \n\nThere are many ways to install docker. Here is how to install on Ubuntu:\n\n```sh\ncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -\nsudo add-apt-repository \"deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable\"\nsudo apt-get update\nsudo apt-get install -y docker-ce\n```\n\n## Optional: Enable executing docker without sudo\nBy default docker requires root privelages to run. In order to run docker as a regular user (i.e, not root), you need to add the user to the `docker` user group:\n\n```sh\nsudo usermod -aG docker ${USER}\nsu - ${USER}\n```\n\nYou do not need to do this, but note that if you skip this step, you must run all docker commands with sudo.\n\n## Build Service Fabric\nTo start the build inside of a docker container you can clone the repository and run this command from the root directory:\n\n```sh\n\n./runbuild.sh\n```\n\nThis will do a full build of the project with the output being placed into the `out` directory.  For more options see `runbuild.sh -h`.\n\nAdditionally in order to build and create the installer packages you can pass in the `-createinstaller` option to the script:\n\n```sh\n./runbuild.sh -createinstaller\n```\n\n#### Optional: Build the container locally\nIf you would prefer to build the container locally, you can run the following script:\n\n```sh\nsudo ./tools/builddocker.sh\n```\n\nCurrently, the build container is based off a base image that includes a few Service Fabric dependencies that have either not yet been open sourced, or must be included due to technical constraints (for example, some .NET files currently only build on Windows, but are required for a Linux build).\n\nThis will pull all of the required packages, add Service Fabric internal dependencies, and apply patches.\n\n#### Troubleshooting: Internet connectivity when installing local docker containers behind a firewall\nA common issue with building a docker container behind a firewall is when the firewall blocks the default DNS used by docker.  This will manifest as packages failing to download during the `docker build` step (such as in the `builddocker.sh` script above).  \n\nTo fix this, you need to tell Docker to use an alternative DNS server.  As a root user, create or edit the Docker daemon's config file at `/etc/docker/daemon.json` so that it has an entry that looks like this:\n\n```json\n{ \n    \"dns\": [\"\u003cmy DNS server IP here\u003e\", \"\u003cmy DNS secondary server IP here\u003e\"] \n}\n```\n\nTake note to replace the above command with your actual local DNS server, and restart docker:\n\n```sh\nservice docker restart\n```\n## Testing a local cluster  \nFor more details please refer to [Testing using ClusterDeployer](docs/cluster_deployer_test.md).\n\n## Running a local cluster  \nFor more details please refer [Deploying local cluster from build](docs/install_packages_and_deploy_cluster.md)\n\n## Documentation \nService Fabric conceptual and reference documentation is available at [docs.microsoft.com/azure/service-fabric](https://docs.microsoft.com/azure/service-fabric/). Documentation is also open to your contribution on GitHub at [github.com/Microsoft/azure-docs](https://github.com/Microsoft/azure-docs).\n## Samples \nFor Service Fabric sample code, check out the [Azure Code Sample gallery](https://azure.microsoft.com/resources/samples/?service=service-fabric) or go straight to [Azure-Samples on GitHub](https://github.com/Azure-Samples?q=service-fabric).\n## Channel 9: Inside Azure Service Fabric  \n\u003ca href=\"https://www.youtube.com/playlist?list=PLlrxD0HtieHh73JryJJ-GWcUtrqpcg2Pb\u0026disable_polymer=true\"\u003e\u003cstrong\u003eTake a virtual tour with us\u003c/strong\u003e\u003c/a\u003e and meet some of the folks who design and implement service fabric. This Channel 9 YouTube playlist will continue to grow over time with content describing the inner workings of Service Fabric. We have covered most of the [subsystems](docs/architecture/README.md) already.  \n## License \nAll Service Fabric open source projects are licensed under the [MIT License](LICENSE).\n## Code of Conduct \nAll Service Fabric open source projects adopt the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fservice-fabric","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrosoft%2Fservice-fabric","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fservice-fabric/lists"}