Welcome to the SoftwarePotential.Configuration.Cloud.Azure-<PermutationShortCode> NuGet Package.
IMPORTANT: this package is intended to be used in concert with:
- SoftwarePotential.Licensing-<MyProduct>-<MyVersion> NuGet package (must be installed for the code to compile correctly). See the associated Licensing README for more information.
- SoftwarePotential.Protection-<PermutationShortCode> NuGet package. See the associated Protection README for more information.
Key Constraints and Advantages of Cloud.Azure Configuration Package
This package is intended to offer a licensing configuration for an application intended to be deployed only in either Azure or in on-premise Azure Stack. Licenses are stored in an Azure blob container accessible to your licensed application. You must configure the Azure blob container and a unique Application identifier using this configuration package.
This configuration is solely for use with applications to be deployed in Azure or Azure Stack and so CANNOT be used in conjunctions with any other Configuration NuGet package.
NOTES:
- As of Software Potential 3.3.4, this package is dependent on the WindowsAzure.Storage 6.2.0 NuGet package. This is required if you are using on-premise Azure Stack Storage.
Older versions of Software Potential depend on WindowsAzure.Storage 7.2.1 or above. - As of Software Potential 4.0.2011, the net Standard package required for NET Core applications is dependent on Microsoft.Azure.Storage.Blob 9.4.0
Azure Blob Container
Licenses are stored in an Azure Blob container that will need to be provisioned before any attempt is made to access license storage in the application. The container can be provisioned independently of the licensed application, either manually using the Azure Management portal UI or programmatically via Azure PowerShell. Alternatively, you can provision the required container from within your licensed application.
NOTE: It is recommended that a separate, dedicated Azure Storage Account be used to store licenses. This is because the application will need to use the account's connection string to access the license storage.
License Store Relative Path
You will need to generate a sub-directory structure in the container for your application's licenses. A sub-directory structure like this is necessary if the blob container is to be used to store other non-license data or to store licenses for several different applications deployed in Azure.
The recommended sub-directory structure is: MyCompany\MyProduct\MyVersion
but you're free to choose any structure you wish.
License Storage Configuration
To configure the Azure cloud license storage in your application an abstract AzureConfiguration
class is included in SpAgent.Cloud.AzureStorageCustomizations.cs
that is added to your solution by the NuGet package. An implementation of the abstract ConfigureAzureBlobStorage()
method must return both:
- The Cloud Blob Container to be used as a license store (this container must be provisioned beforehand)
- The License Store Relative path for the application licenses.
Sample implementation
public override Tuple<object, string> ConfigureAzureBlobStorage() { CloudStorageAccount storageaccount = CloudStorageAccount.Parse( "YOUR CONNECTION STRING" ); CloudBlobClient client = storageaccount.CreateCloudBlobClient(); CloudBlobContainer container = client.GetContainerReference( "YOUR CONTAINER" ); var relativePath = String.Format("{0}/{1}/{2}", SpProduct.Vendor, SpProduct.Name, SpProduct.Version); return new Tuple<object, string>( container, relativePath ); }
Application Identifier
You will also need to provide an application identifier that must be unique for, and consistent within, each customer deployment of your application in Azure. As there can be many different Azure application types and deployment configurations please contact us at support @ softwarepotential.com for more detailed instructions on how to configure the appropriate identifier for your application.
Comments
0 comments
Article is closed for comments.