prem
prem

Reputation: 624

Licensing the product on cloud(AWS) with monthly Licensing

We own some software with a license. We would like to use on AWS and provide it to customers. For licensing we are using MAC address as unique key, whereas in cloud environment like AWS.

1. Because end users on AWS can delete instances and recreate it with ease steps
2. How to licensing with monthly or yearly basis on AWS.  

How can I approach?Kindly through some lights on this.

Upvotes: 4

Views: 609

Answers (3)

ezekg
ezekg

Reputation: 1113

I'm the founder of a software licensing API called Keygen. I've seen customers use utilize environment variables to license "on-premise" software that is run in the cloud, in short-lived servers (e.g. lambda functions), VMs, or CI/CD envs. These environments are less likely to have a MAC address or HDD ID tat is actually usable for licensing purposes.)

For example, you could require that they set PRODUCT_LICENSE_KEY=B8A5-91D7-CB9A-DAE4-4F6E-1128, then you could validate the license key for each instance using their configured key. If the instance doesn't have a license key set in their env, then fail to boot your product with an error.

For example, with Keygen, validation could be as simple as a single request:

curl -X POST https://api.keygen.sh/v1/accounts/demo/licenses/actions/validate-key \
  -H 'Content-Type: application/vnd.api+json' \
  -H 'Accept: application/vnd.api+json' \
  -d '{
        "meta": {
          "key": "B8A5-91D7-CB9A-DAE4-4F6E-1128"
        }
      }'

Billing for each license would be handled separately, e.g. on a recurring basis, or whatever you require. You could utilize a payment processor like Stripe, which integrates nicely with most services (including Keygen) via their webhook system.

I think something like this would be the simplest approach.

Upvotes: 0

alpeshpandya
alpeshpandya

Reputation: 492

You will need to use dedicated hosts or dedicated instances on AWS to setup licence keys you bring your on your own. Amazon calls this BYOL (bring your own license) option. Another option is to buy license sold by Amazon and use instance configured for AWS use only.

You can read about BYOL policy here: https://aws.amazon.com/windows/faq/#own-license

Amazon EC2 offers two purchasing options that provide you with dedicated infrastructure: Dedicated Hosts and Dedicated Instances. It is important to note that all BYOL scenarios are supported through the use of Dedicated Hosts, while only certain scenarios are supported by Dedicated Instances. Also, if you bring existing licenses to Dedicated Hosts or Dedicated Instances, then you are using hardware that is fully dedicated to your use and the outsourcing language within the Microsoft Product Terms applies.

For BYOL license scenarios that are server bound (e.g., Windows Server, SQL Server) and require you to license against the number of sockets or physical cores on a dedicated server, you should use Dedicated Hosts.

For licensing scenarios that are VM, CAL, or user bound and do not require you to license against the number of sockets or physical cores on a dedicated server but require you to run on dedicated infrastructure (e.g., Windows Desktop, SQL Server, Remote Desktop Services, Microsoft Office, and MSDN) you can use Dedicated Instances.

Upvotes: 0

E.J. Brennan
E.J. Brennan

Reputation: 46879

Seems the AWS Marketplace might be the best solution for you:

https://aws.amazon.com/marketplace/management/tour/#

Simplified Billing & Payments

Customers pay for AWS Marketplace software as part of the regular AWS billing cycle. AWS manages the complexity of metering, billing, payment collection and financial reporting so sellers can focus on building and selling core products.

Upvotes: 1

Related Questions