90 Minds Community

 View Only
  • 1.  Is traditional User CAL model for SQL Server allowed in Amazon AWS

    Posted 11-30-2019 16:25
    Edited by Alnoor Cassim 11-30-2019 16:25
    For a customer we have a small AWS instance that does limited website hosting via IIS and runs SQL Express. Small amt of site traffic and a single page web form creates orders in databases which is later synced up to their system (not Sage). Been working OK for years.

    Customer wants a new website for their new large initiative. Part of this requires upgrading the AWS instance and other part is needing to upgrade SQL to Standard or Web Edition. Looked into pricing based on rqmt for 4 processors and max of 10 SQL users. Learned this exercised required a course just to understand the needless complexity! Here is what I've priced and my question at bottom:

    1. Microsoft CSP program with Software Assurance (SA) for a Per Processor license

    For AWS not allowed to buy this from our vendor under the MS CSP program. We can if we moved to an Azure instance (which is future possibility but have a Jan 1 deadline to meet now) OR run on-premise OR even a VMWare on premise but once the on-prem SQL is moved to either Hosted system or in a non-Azure cloud like AWS, no go. Our CSP vendor won't allow us to even buy it from them.

    2. MS Volume License with SA for a Per Processor license

    This is supported with AWS but quote from our Volume License Reseller is unreasonably high for 4 processors. I think @Steve Iwanowski once mentioned per processor pricing becomes reasonable around 30 processors.

    3. Buy a new AWS instance and Amazon can directly include the SQL Standard license for 4 processors 

    This price is almost as unreasonable as Option 2.

    4. Buy a 10-user CAL for SQL Standard with SA, sold by Volume License Reseller and we install it on the AWS instance 

    This is super reasonably priced! Although there will be over 100k unique website visitors over a period of time, each user will only go thru a single SQL connection to reach the databases. We have various other processes that needs SQL logins on this Windows Server Std 2016 system but a 10-user CAL is more than enough.

    **** However, this seems too good to be true. Is one allowed to use the User CAL model on an AWS instance OR is it specifically prohibited?​ Our Volume License Reseller didn't indicate anything about this.

    (adding @George Khairallah )


    ------------------------------
    Alnoor Cassim

    Accounting Systems, Inc. (ASI)
    Email: alnoor@asifocus.com
    Orange County, CA
    ------------------------------


  • 2.  RE: Is traditional User CAL model for SQL Server allowed in Amazon AWS

    Posted 11-30-2019 19:19
    Alnoor, you hit one of the most unnecessarily complicated topics. I've had long conversations with MS, and our SPLA provider to get answers, and though I've reached almost a general conclusion, almost no 2 people will tell you exactly the same info.

    To answer your immediate question: Yes, AWS does allow user-based CALs for SQL licensing, at least under the SPLA model, as is my personal experience.
    The AWS EC2 instance with SQL only comes on a per-processor licensing (minimum 4), so your price would be the same from any instance with a 2 to 4 vCPU both of which will be licensed at 4 proc minimum, and after that, it jumps significantly, double, to be exact, when you hit 8vCPU (AWS doesn't have anything between 4 and 8 as far as I know) 

    My calculations have been under the SPLA program (monthly subscription of the CALs, so, YMMV with other programs, i.e: Volume Licensing, or straight-up purchase.)
    With that said, and based on SPLA, you would typically break even at 20 user CAL (assuming you're on a 4vCPU server and SQL Standard), would double if you're on 8vCPUs, etc...

    You may be tempted to look at SQL Web Edition, as it is very similar in feature set to Standard, and it is significantly cheaper, but it is very strict on its licensing model. Also, my understanding is that Web Edition 2017 is now only available for SPLA providers, but not other licensing models, so that may not be an option for you. 

    Generally, you may use SQL Web for public-facing, internet sites as long as the data available to 3rd parties is the same data available to your end-users. You may not license SQL Web if the data is only intended for the end user's employees or internal purposes. Thus, SQL Web may not be used to support your end user's line of business applications (such as Microsoft Dynamics ERP solutions) nor any deployments that would make the end user's database available to the general public.

    Another point is related to your application architecture as well. You mentioned about 100k unique visitors. 
    So keep in mind the following: If the visitors are public (meaning, they are not logging in for any e-Commerce activity, etc), but, as a result of them browsing your site, you end up making a back end connection to SQL, you would not, in this case, need a CAL for every user. 

    However, if the users are in fact using some shopping cart, and are creating an account for their orders, etc... then, the webserver on which they are connecting to perform such activities will require an External Connector license (EC). Those would be required per instance and not per user. So if you have 2 public-facing web servers, you would purchase 2 ECs for those, and then, have the per-user (or per-proc) CAL depending on your need, on the back end. 

    One last item, on which I don't have a 100% answer, as I've seen different opinions on this: you mentioned that the 100k visitors would be connecting via a single connection.  In the case of those 100k, it would be addressed via the EC license anyway, but for general reference, even if the app has its own authentication system inside the database via only one SQL user, my understanding is that, from a licensing perspective, it is irrelevant, and you are still supposed to have a CAL for each of those connections (assuming you're on a per-user licensing model)

    Hope this helps!




    ------------------------------
    George Khairallah
    CTO | gotomyerp, LLC
    george.k@gotomyerp.com | 877-888-5525
    http://gotomyerp.com/
    ------------------------------



  • 3.  RE: Is traditional User CAL model for SQL Server allowed in Amazon AWS

    Posted 12-01-2019 12:39
    How difficult would it be to migrate to Postgres or MariaDB?

    ------------------------------
    Phil McIntosh
    President
    Friendly Systems, Inc.
    Asheville NC
    678.273.4010 ext 5
    ------------------------------



  • 4.  RE: Is traditional User CAL model for SQL Server allowed in Amazon AWS

    Posted 12-02-2019 05:26
    I agree with George, except my understanding is that even though you would only have one SQL user in a connection string, you would still need User CALs for each of the external users connecting in.  Either way, Per-processor licensing would eliminate that ambiguity and would be my recommendation. 

    Also, if you can use EC2 dedicated instances, you should be able to use SPLA licensing on AWS.

    ------------------------------
    Steve Iwanowski, NextStep Technology Advisors, aka DSD Lancaster PA ¯\_(ツ)_/¯
    ------------------------------



  • 5.  RE: Is traditional User CAL model for SQL Server allowed in Amazon AWS

    Posted 12-02-2019 09:44

    I'm not sure if you are referring to "dedicated" as in "dedicated" vs "shared" tenancy under AWS's definition, but we've actually been using SPLA under the shared tenancy since the start with no issue.  (dedicated EC2 is quite expensive) 

    By the way, during that time, we have also gone through one Microsoft licensing audit, and there was no question about compliance. 



    ------------------------------
    George Khairallah
    CTO | gotomyerp, LLC
    george.k@gotomyerp.com | 877-888-5525
    http://gotomyerp.com/
    ------------------------------



  • 6.  RE: Is traditional User CAL model for SQL Server allowed in Amazon AWS

    Posted 12-02-2019 11:43
    Yes, that's how I meant Dedicated, which is why I was surprised that Alnoor's CSP wouldn't even consider selling to him.  SPLA was originally designed around dedicated-to-a-specific-customer hosted environments and anything "shared" was non-compliant, but Microsoft has so many new rules and loopholes (mainly for Azure) that maybe they dropped that requirement???

    ------------------------------
    Steve Iwanowski, NextStep Technology Advisors, aka DSD Lancaster PA ¯\_(ツ)_/¯
    ------------------------------



  • 7.  RE: Is traditional User CAL model for SQL Server allowed in Amazon AWS

    Posted 12-02-2019 12:16
    The loopholes make this really hard to figure out.
    You are correct regarding the "shared" being non-compliant, at least historically. However, and based on my experience, and my passing an audit using this information, I will reluctantly state that, all Microsoft ultimately cares about, is that they are getting paid for licenses.

    In other words, even if you're in a "Shared Tenancy" instance, if you are using a t3.2xlarge which has 8vCPUs, Microsoft wants you to have reported, via your SPLA, that you are paying 8x $$$ for 8vCPUs, or if you are on a t3.small (which has 2vCPUs), that you are paying 4x $$$ for the minimum required 4vCPUs, [OR] correctly report the Per User CALs.

    Show those, and you are ok.
    Again, due to the obfuscation and ambiguity in the rules, please take this with a grain of salt, as I'm speaking only based on my experience in this case.

    ------------------------------
    George Khairallah
    CTO | gotomyerp, LLC
    george.k@gotomyerp.com | 877-888-5525
    http://gotomyerp.com/
    ------------------------------