SPLA versus Volume Licensing

Overview

This topic continues to arise for companies that are seeking to decide between adopting volume licensing or SPLA (Service Provider Licensing Agreement) for delivering services to third parties.

The requirement for use of SPLA is often assessed based on determination of the customer as a ‘service provider’ and provision of a ‘service’, and that does not meet the eligibility criteria for Volume Licensing, based on the specifics of the service description, and service architecture topology.

For example, the ‘self hosted’ exception covered in this article, available under volume licensing,  enables a company to use licenses purchased under their own volume agreement and use them with their own intellectual property application, hosted as part of a service to a third-party, rather than the normal requirement to purchase licenses for services via SPLA.

The rationale for careful assessment purchasing via SPLA or Volume Licensing is not only to enable compliance with software licensing, but also to enable cost reduction, as many business  look to assess alternatives to SPLA as prices were increased in January 2018 and January 2019, and Microsoft look to incentivise adoption of the Azure cloud platform. This article will explore the licensing criteria and exceptions for use of Volume Licensing or SPLA respectively to support organizations that are attempting to navigate this particularly challenging licensing topic.

SPLA Price Increases

Effective January 1, 2018 monthly prices for the following products increased:
By 10% for Windows Remote Desktop Services SAL
By 10% for Windows Server Standard (Processor license)*
By 10% for Windows Server Datacenter (Processor license)*
By 10% for SQL Server Standard Core
By 10% for SQL Server Enterprise Core
By 10% for SQL Server Web
By 10% for SQL Server Standard SAL
By 5% for Core Infrastructure Server Suite Standard (Processor license)
By 7% for Core Infrastructure Server Suite Datacenter (Processor license)
(* Applicable to For Agreements that still have the right to report these sku’s)
Effective January 1, 2019 prices for the following products increased:
By 10% for Windows Server Standard Core
By 10% for Windows Server Datacenter Core
By 5% for Core Infrastructure Server Suite Standard Core
By 7% for Core Infrastructure Server Suite Datacenter Core
By 15% for Windows Remote Desktop Services SAL

What is a Service Provider?

The Microsoft definition of a ‘service provider’ could be categorized as a broad catch-all that can often apply SPLA almost by default, unless valid exclusion criteria apply. The requirement for use of SPLA is often determined based on determination of the customer as a ‘service provider’ and provision of a ‘software service’ that does not meet the eligibility criteria for Volume Licensing, based on the specifics of the service description, or service architecture topology.

The Microsoft Product Terms state that you as the customer:

may not (and is not licensed to) use the Products to offer commercial hosting services to third parties” under Volume Licensing.

[Ref: Microsoft Product Terms, Universal License Terms, April 2019, Page 7].

The term “commercial hosting services” is not explicitly defined in binding contract documentation, but there is supporting guidance provided in published licensing guides that are leveraged in this article.

Read moreSPLA versus Volume Licensing

The evolution of SQL failover licensing to drive SA

Many organisations adopt SQL server failover technologies to re-assign workloads from a primary server to a secondary standby server when a production server fails. For example, SQL server supports basic high availability with 2 node fail-over clustering with non-readable secondary instance, database backup log shopping, or database mirroring.

Under the legacy product specific licensing terms for SQL server 2008, a standby server that is considered ‘passive’ (and not running any active workloads or reports) would generally not require a license to be assigned under Microsoft licensing. This includes back-up and restore related tasks under the passive designation.

This ‘passive failover rule’  would commonly support situations when a primary server suffers a hardware or software failure (or is taken offline for routine maintenance or patch management) and requires the secondary ‘passive’ server to take over completely for ‘temporary’ support.

A secondary server, that would be utilized solely to maintain a copy of the database and will never take over from the primary does also fall under the ‘passive’ designation. However, the passive failover server rule will only support a single designated passive server under the allowance for each primary licensed server.

The SQL server ‘passive failover rule’ is an important licensing exception, and a principle driver of cost reduction in SQL licensing, but as Microsoft sought to evolve their commercial licensing model to drive revenue growth, and customer purchasing behaviours to secure ongoing predictable revenue through their ‘Software Assurance’ maintenance model, the licensing has evolved incrementally since 2008. This article charts the evolution of SA and the curtailment of the failover benefit to drive that revenue growth and respond to emerging technologies.

Read moreThe evolution of SQL failover licensing to drive SA

Hyper-Threading (HTT) can double SQL Licensing Costs

Introduction

Hyper-threading is an often overlooked aspect when enterprises are assessing SQL licensing requirements. It is not uncommon for it to be excluded in the channel as a meaningful data metric for determining licensing requirements. As explained in this article, it can have a material impact to licensing costs, and should be considered as part of your toolkit for licensing cost reduction.

Hyper-threading is a technology that enables the resources of a physical core to be shared across multiple threads, or VMs.  Accordingly, if a VM was to leverage 100% of all the physical cores on the physical CPU, there would be no surplus CPU resources available to assign to other workloads.

Normally, a VM will have ‘burst’ access to the peak available resources for a short period of time, allowing other VMs and to use the physical cores of the host. With hyper-threading enabled, the resource scheduler would not strictly assign resource to a single VM, but can dynamically re-assign resources as required.

For example, on a 4 core CPU, with 4 guest VMs running on the host server, if the workload on each individual VM is only really using one single core, this would mean three cores could be sitting idle. While those cores are sitting idle, the processor queue is building for any other VMs. Alternatively if you assign each VM only the required one single core, you are enabled to schedule all four VMs to run concurrently, and now you’re not wasting three cores by scheduling idle vCPUs to the VM.

This article will look at the operational logic of Microsoft licensing, and illustrate how Microsoft has sought to respond to the evolution in Intel chipset technology, and the emergence of virtualization with VMware, and capitalize on hyper-threading to drive revenue growth for SQL Server.

Microsoft Approach to Hyper-Threading

After the release of SQL server 2012, Microsoft sought to capitalize on the advancement in hyper-visor technology pioneered by VMware, by updating the licensing metric for SQL server, and their approach to licensing for hyper-threading technology (HTT). (Conversely, under the former licensing model for SQL Server 2008 R2, hyper-threading could make SQL licensing cheaper.)

After SQL Server 2012, Microsoft sought to capitalize on hyper-threading to drive licensing revenue, succinctly with the following operational logic to ascertain the required number of licensable cores for SQL Server.

Read moreHyper-Threading (HTT) can double SQL Licensing Costs

Microsoft Update March 2019

Some of the principle licensing updates for March 2019

  • Microsoft published the pricing for the Exten ded Security Updates for SQL Server and Windows Server 2008. I recommend reading this article
  • Microsoft announce the General Availability of Visual Studio 2019 with Community, and Professional and Enterprise. See the announcement
  • Microsoft General Availability of System Center 2019 See the announcement
  • Microsoft update the Home Use Program FAQs See the updated FAQs
  • Extended Security Updates for Windows 7 See the announcement
  • Microsoft improve website on Microsoft Plans See the Microsoft website
  • Microsoft create playbook for cloud migration for partners
  • CSP grew by 52% in 12 months See the announcement
  • $32 billion in revenue in the Q2 earnings with commercial cloud revenue increase of 48% year-over-year to $9 billion, and Azure by 76%
  • The Azure Expert MSP managed service program has grown to 43 partners that focuses on partners that drive consistent, repeatable, high-fidelity managed services on Azure and are driving more than $100,000 per month in Azure consumption.
  • Microsoft Cloud Agreement forced via API – starting March 22, 2019, Microsoft will require all partners participating in the CSP program using the Partner Center API to confirm customer acceptance to the Microsoft Cloud Agreement. Microsoft’s systems will automatically check if the customer contract is agreed with the customer. If it is not present, the transaction will not be able to be completed. First purchases for new customers will also require the Microsoft Cloud Agreement acceptance. Microsoft FAQs are available here

Read moreMicrosoft Update March 2019

SQL End of Support – Extended Security Updates are 300% the cost of SA

In a recent interview with CIOdive.com and in InformationWeek – I highlighted a ‘compelling event’ across the Microsoft ecosystem to upgrade, re-host, or refactor legacy SQL servers to respond to SQL 2008 and 2008 R2 End of Support on July 17th 2019. With the average business running 43% of their SQL servers in extended support, it is going to drive a lot of activity.

In March of this year, Microsoft also published general availability of Extended Security Updates (ESU) to extend the life-cycle of your 2008 and 2008 R2 footprint for both SQL Server, and Windows Server 2008 and 2008 R2 (with end of support in July 2020).

Notably, the cost of Extended Security Updates coverage for 12 Months, is 300% the price of Software Assurance for SQL Server for the same period, with this price point consistent for both SQL Enterprise and SQL Standard Edition. Microsoft extrapolated the cost of extended support based on 75% of the perpetual ‘license’ cost. Arguably, the logic of this pricing model is weak, and the cost should be extrapolated based on the cost of the maintenance model – Software Assurance (SA), and not based on the current perpetual ‘License’ cost of the software. After 10 years in industry, it is hard not to see this pricing model as anything but a mechanism to drive customer behaviours towards adoption of Azure, and  undermine re-hosting of legacy software to AWS dedicated host, or GCP sole-tenant offerings. 

Here are some key takeaways you should be aware of:

  • You do need to maintain SA for Windows Server or SQL Server footprint you want to buy ESU for.
  • The EOS SKUs are Annual and can be bought at any time. Full 12 Months of coverage.
  • The price list went live on March 1st and are now available for purchase.
  • You pay for the full year, It is not pro-rated from the date you buy.
  • The ESU starts from July of 2019 to July of 2020, and then 2nd Year is purchased later.
  • If the you elect to upgrade, or move to Azure, you can reduce the ESU in future years.
  • ESU is covered when you move workloads to Azure.
  • You are billed at time of purchase.
  • There is no pro-ration and is not co-terminus with the underlying SA/LSA on a Volume Agreement Enrollment
  • The full Year of ESU may not align with your enrollment. You buy the full Year upfront that goes beyond the Enrollment date
  • You cannot buy new coverage in Year 2, If you don’t buy Year 1. So you would buy Year 1 and Year 2 in one go.
  • The underlying SA doesn’t have to be on the EA contract.

Read moreSQL End of Support – Extended Security Updates are 300% the cost of SA

The Hierarchy of Microsoft Software Licensing Terms

“Copyright has two main purposes, namely the protection of the author’s right to obtain commercial benefit from valuable work, and more recently the protection of the author’s general right to control how a work is used.”

A Plethora of Resources

It is becoming critical for organisations to understand whether the written guidance on licensing relied upon to inform IT decision makers are considered influential or ‘binding’ by the Microsoft. An organisation may often refer to written guidance and specific terms extracted from a wide range of publicly available information published by Microsoft (and other 3rd party commentators) to support their interpretation and implementation of Microsoft Software. This becomes critically important when attempting to quantify risk (in preparation or in response to assessing risk of non-compliance) or in assessment of the ‘real’ total cost of ownership of new technology choices.
An organisation’s hardware environment, software deployment footprint, processes and infrastructure topology and technology choices can all be impacted by Microsoft’s commercial licensing models. This may affect the outcome of a vendor ‘review’ or official audit or contribute to unmitigated risk when considering a merger, acquisition, divestiture or sale.

Accordingly, an organisation’s IT department may have referred to guidance from a plethora or resources to inform their approach, including but not limited to:

  • Microsoft Business and Services Agreement (MBSA)
  • Volume Agreement – Master Agreement
  • Volume Agreement – Enrollment
  • Contractual Amendments
  • Microsoft Product Terms
  • Older Product Lists and Product Use Rights
  • Online Service Terms
  • Microsoft Websites
  • Microsoft Licensing Briefs
  • Written statements by Microsoft Employees
  • Written statements from LSP (Licensing Solution Providers)
  • 3rd Party white papers, licensing guides , websites, blogs and written statements
  • Responses in online forums and wikis
  • Oral guidance from trusted advisers

In the current economic climate it is increasingly important to understand what software use terms, definitions, and explanatory guidance are ‘binding’ on your organisation. If this is understood, it is possible to start understanding the total and extended risk for your organisation.

The Hierarchy of Binding Documentation

The most important documents to refer to our the Volume Agreement(s) your organisation has procured licenses through and the Product Terms. These contract documents are considered by Microsoft as ‘binding’ upon your organisation.
It is important to understand what Microsoft Volume Agreement(s) your organisation has signed with Microsoft. This may include, but not limited to, Select Agreement(s), Microsoft Products and Services Agreement(s), or Enterprise Agreement(s) or other specialist Enterprise Enrollment(s) along with any signed contractual amendments/exceptions.

These documents, in conjunction with the relevant applicable releases of the Product Terms documents for your deployed software, are your bespoke canon to understanding the appropriate software use terms for your deployed (and planned) software footprint.

The diagram below illustrates the subsequent precedence of the Product Terms  and then illustrates the hierarchy of software use terms within that document. Universal License Terms will remain in effect unless explicitly retracted or amended as specified in either the General License Terms or Product-Specific License Terms and Additional Terms within the Product Use Rights.

Getting a view of all applicable terms involves a ‘little bit of reading’ (I use this phrase lightly) especially If you have both current and prior releases deployed or are trying to map existing footprint versus future planned requirements. The diagram above is intended to give a ‘high level’ top-down view as to precedence of ‘binding’ documentation. While not a definitive guide for all situations, it provides an overview of the hierarchical precedence of Microsoft licensing documentation and distinguishes between ‘binding’ and ‘non-binding’ advisory documentation from Microsoft and 3rd parties.

While its recommend to look at the source documentation, as an example, the ‘License Mobility’ rules are further amended and defined at the Product-Specific level. So when you look at the Universal License Term and any associated definition, It is worth looking at specific product-level applications or exceptions, and the role of Software Assurance or defined by contract type.

Read moreThe Hierarchy of Microsoft Software Licensing Terms

Licensing Windows Server on GCP

General

Licenses that are eligible for License Mobility[1] and covered with active Software Assurance (SA), can be deployed to third party shared datacenter environments like GCP shared tenancy.

Google, as an authorized ‘License Mobility through Software Assurance’ Partner,[2] can enable License Mobility on eligible Microsoft Server products on GCP.

The list of eligible server products for License Mobility are defined in the Microsoft Product Terms, including but not limited to: Microsoft SQL Server, Microsoft Exchange, Microsoft Skype for Business, Microsoft SharePoint, Microsoft System Center, RDS CAL, BizTalk Server and eligible Dynamics products. (In this document these products will be collectively referred to as Microsoft Application Servers).

Sole-tenant nodes are physical Compute Engine servers that are dedicated for hosting VM instances for your specific project. Normally, VM instances run on physical hosts that may be shared by many customers. With sole-tenant nodes, the host is dedicated to your business.[3]

GCP sole-tenant is a dedicated server that is physically isolated for use by a single customer. All hardware resources and storage will remain fully dedicated to your use for the term of your subscription.

Each sole-tenant node is associated with one physical server, and is the only node running on that server. You can manually select the location to launch your instances to a specific dedicated host. Node affinity determine which nodes your VM instances use as a host system. You can configure additional affinity labels so that your instances run only on the node groups that you want or share nodes only with instances of the same affinity type. Affinity labels keep sensitive data together on specific node groups and separate from your other node groups and other VM instances running on Compute Engine. It provides you with visibility and control to meet regulatory and compliance requirements.

In this case, the outsourcing documentation within the Microsoft Product Terms will apply[4] and licenses that are not eligible for License Mobility or that do not have active Software Assurance, can be deployed to GCP sole-tenant nodes.

Windows Server

There are two available options to deploy Windows Server on GCP: virtual machine instances and sole-tenant nodes.

Virtual Machine instances: Windows Server per-core licenses are included in the cost of the Windows Server instances purchased on-demand. Whether you bring your existing Windows Server images to run on VM instances or use the pre-built images available in GCP, the license is included in the cost, and Windows Server CALs are not required.

Sole-tenant nodes: GCP provides the option to bring your own licensing (BYOL) for Windows Server with your own images to GCP sole-tenant and remain compliant for Microsoft licensing.

A sole-tenant from GCP is a dedicated single-tenant host that is fully dedicated for your use. GCP will not support two customers to share the same set of resources, such as hardware or storage for the term of your subscription. In this case, the outsourcing wording within the Microsoft Product Terms applies.[5]

Windows Server does not have ‘License Mobility’ rights to enable bring your own licenses to a multi-tenant environment, so we only recommend deployment on our sole-tenant offering. Windows Server licenses can only be assigned to physically dedicated sole-tenant hosts.

Read moreLicensing Windows Server on GCP

Licensing SQL Server on GCP

There are two available options to deploy SQL Server on GCP: virtual machine instances and sole-tenant nodes

Virtual Machine instances: SQL Server per-core licenses are included in the cost of the Windows Server instances purchased on-demand. Whether you bring your existing SQL Server images to run on VM instances, or use the pre-built images available in GCP.

GCP provides images with Microsoft SQL Server preinstalled on Windows Server. For these SQL Server images, GCP manages the license for both Windows Server and SQL Server, and includes the cost in your monthly bill. Create instances with SQL Server and scale to large multi-node configurations when you need them.

Sole-tenant nodes: GCP will also enable you to bring your own licensing (BYOL) for SQL Server with your own images to GCP sole tenant and remain compliant for Microsoft licensing.

A sole-tenant from GCP is a dedicated single-tenant host that is fully dedicated for your use. GCP will not support two customers to share the same set of resources, such as hardware or storage for the term of your subscription. In this case, the outsourcing wording within the Microsoft Product Terms applies.[1]

Software Assurance

Sole-tenant – Software Assurance is not required to bring your SQL Server licenses to GCP sole-tenant.

Although Software Assurance is not required to bring your own SQL Server licenses to a dedicated sole-tenant, you will be able to leverage your legacy licenses for prior software versions. The use rights for the originally licensed version will still apply.

GCP sole-tenant is ideal for leveraging licenses where active Software Assurance has not been maintained, or licenses were purchased without Software Assurance. Additionally, sole-tenant will support per-core, per processor, and server with CAL based license models to take advantage of your prior software licensing investments.

However, it may be beneficial to maintain active Software Assurance to enable access to ‘New Version Rights’ as new software versions are released[2] and to leverage Software Assurance Benefits.

Read moreLicensing SQL Server on GCP

Microsoft Licensing FAQs for GCP

Here are a selection of common licensing questions and answers. I also recommend referring to binding documentation like the Microsoft Product Terms for guidance.

General

Q. How will GCP enable me to meet my license reporting obligations to Microsoft? License Usage – Self Reporting

·    In addition to enabling control of VM placement to launch your instances on a dedicated host, GCP will keep a record of how your instances use sole-tenant resources, which will allow you to create your own usage reports.

·    Windows Server is licensed by the physical cores on each host. GCP provides visibility, including but not limited to, the number of physical processors and physical cores, and number of Windows VMs running on the host machine to allow you to keep track of how your individual Windows Server VMs use the resources of the dedicated host.

·    Additionally, for SQL Server GCP provides reporting, including but not limited to, the physical processors and physical cores, and total number of VM instances running SQL Server on the host machine, and the number of virtual cores assigned to the VMs to allow you to keep track of licensable resources of the dedicated host.

License Mobility Self Reporting

·    When using ‘License Mobility through Software Assurance,’ you must complete a license verification process with Microsoft to confirm that you have the eligible licenses with active Software Assurance.

·    GCP enables you to meet your licensing reporting obligations to Microsoft. To start the verification process and review additional details, go to the Microsoft License Mobility verification form in the GCP Console.

·    This is required for all workloads of eligible Microsoft Server products, as defined in the Microsoft Product Terms, including but not limited to: Microsoft SQL Server, Microsoft Exchange, Microsoft SharePoint, or Microsoft System Center, RDS CAL, BizTalk Server and eligible Dynamics products.

Q. I understand from the Microsoft Product Terms that a license cannot move to another region or physical server for at least 90 days. How is this managed in GCP sole-tenant?

 

·    Each sole-tenant node is associated with one physical server dedicated to hosting your VM instances. You can control VM placement to launch your instances to a dedicated host, and instance affinity will allow specific node affinities between your nodes and VM instances. This will enable you to control VM instance placement to satisfy the restriction of license re-assignment once every 90 days.[45]

·    The license re-assignment rule will apply to your licensing of Windows Server unless there is a permanent hardware failure. In this scenario when there is permanent failure of hardware[46]components, the sole-tenant node that is hosting the VM instances will use live migration47 to move the VM instances to replacement host hardware automatically. If there is complete hardware failure, the VM will crash and restart automatically and a host-error is logged.

Read moreMicrosoft Licensing FAQs for GCP

Licensing Office on GCP

Google will enable you to bring your own licensing for Office to GCP sole tenant and remain license compliant.

License Model

User Subscription Licenses – Microsoft offers a cloud supported version of Office sold as a subscription with cloud services called Office 365 ProPlus. Office 365 ProPlus is licensed on a “per user” basis, to a single named user, referred to as a “licensed user”.

Per Device Licenses – For customers that continue to have an on-premises version of Office, Microsoft offers Office Professional Plus. Microsoft Office Professional Plus is licensed on a “per device” basis, referred to as a “licensed device”, normally a personal computer.

Running Office Remotely

User Subscription Licenses – You can bring your own Office 365 ProPlus licenses and run them on GCP sole-tenant[1] in Shared Computer Activation mode and remain license compliant.

Shared Computer Activation (SCA) is an activation mode that enables deployment of Office 365 ProPlus on a dedicated server.[2] Shared Computer Activation will enable the licensed user to access Office from any device. Unlike when Office 365 ProPlus is deployed on a local device, there is no published limit on the maximum number of devices that can access Office 365 ProPlus deployed via SCA.

Any SKU that contains Office 365 ProPlus is eligible for Shared Computer Activation, including Office 365 E3, Office 365 E5, Microsoft 365 E3, and Microsoft 365 E5. All equivalent Government and Edu SKUs are also included. Project Online Desktop Client and Visio Online Plan 2 are also included.

Office 365 ProPlus will require access to the internet to connect to the ‘Office Licensing Service’ to keep track of which users who are licensed.

Read moreLicensing Office on GCP