This repo contains the Cluster Emulator rapid-prototyping suite for configuring, generating and deploying microservice-based applications.
At the core of Cluster Emulator is a library which facilitates registration and execution of real, emulated, and simulated business logic. This emulation library is utilised by other libraries and tools to enable generation and deployment of a fully operational cluster, based on a simple configuration file.
The suite currently provides utility scripts for integration with Service Fabric but is open to extension with any cluster orchestrator.
This project was developed in part fulfilment of the degree of MSc Advanced Software Engineering, University College Dublin.
Application and service configuration
Viewing and generating diagrams
The core libraries are cross platform and can be build using the dotnet CLI.
- Install the .NET Core 2.2 SDK.
- Clone the repo.
- Run "dotnet build" then "dotnet test".
To debug the Service Fabric projects, you must have the Service Fabric SDK to be installed. See this documentaiton on setting up your development environment for Service Fabric.
To generate a Service Fabric Application, define your configuration as per the "Application and service configuration" documentation above, then:
- Install the .NET Core 2.2 SDK.
- Install and launch PowerShell Core.
- Install the Service Fabric PowerShell modules:
Install-Module -Name Microsoft.ServiceFabric.Powershell.Http -AllowPrerelease -Scope CurrentUser
- Open a PowerShell Core session in the ClusterGeneration folder of the repository.
- Run “.\AppGenerator.ps1 -Name -ConfigFile ”.
- Run “.\AppPacker.ps1 -Name ”.
- This will generate a folder at \generated<ApplicationName>\pkg. This folder is a Service Fabric application package which can be deployed to any Service Fabric cluster.