Licensing SQL Anywhere in Virtualized Environments
The following information is out of date and has been replaced by updated information on licensing SQL Anywhere in virtual environments that you can find here. It should only be used as a historical reference.
This is a repost of one of my more popular posts from my old Sybase blog.
One of SQL Anywhere’s strengths is its support for a wide variety of platforms. With the increasing use of virtualization to maximize hardware utilization, many existing and potential customers have asked what exactly is supported in terms of virtualization. Our basic position on support for virtualization is that we will support our customers running SQL Anywhere on any OS in a virtual environment providing that OS is listed as supported (see link above). To ease tracking and diagnosis for technical support issues, our support team will sometimes ask customers to reproduce issues outside of the VM environment, in order to remove as many possible contributing factors when diagnosing a problem. If we do run into issues that are directly caused by running in a virtual environment, we are willing to work with our customers and the virtualization vendor to diagnose and resolve these issues. Once assured that we do indeed support virtualization, the next logical question surrounds licensing. How is SQL Anywhere licensed in a virtual environment. The answer to that question is simple. From a licensing perspective, we treat each running VM as an independant piece of hardware, so users must be licensed for each virtual machine on which SQL Anywhere is running. Here are a couple of examples that will hopefully clarify things. In reading the examples, note that SQL Anywhere has 2 basic licensing options: per CPU on the server, or per-client seat. For details on licensing options related to SQL Anywhere, visit us at sap.com
This configuration shows a server machine with 1 CPU with 1 core. Two virtual environments (VEs) have been created. Two instances of SQL Anywhere are running on one VE and one instances is running on the other.
CPU based – Each VE accessing a physical CPU requires a license. There are 2 VEs. Each licensed VE can permit an unlimited number of instances. Therefore, 2 CPU licenses are required.
Server & Seat – Each VE running a database server needs a database server license. There are 2 VEs. Each licensed VE can permit an unlimited number of instances. Therefore, 2 database server licenses are required.
This configuration shows a box with 2 dual core CPUs. Two VEs have been created. Two instances of SQL Anywhere are running on one VE and one instance is running on the other.
CPU based – Each VE accessing a physical CPU requires a license. There are 2 VEs each accessing 2 CPUs. Therefore, 4 CPU licenses are required.
Server & Seat – Each VE running a database server needs a database server license. There are 2 VEs. Therefore, 2 database server licenses are required.
This configuration shows a box with 4 CPUs. Five VEs have been created. Four VEs are running SQL Anywhere accessing a single CPU. The Fifth VE is running SQL Anywhere accessing two CPUs.
CPU based – Each VE accessing a physical CPU requires a license. There are 4 VEs accessing 1 CPU and 1 VE accessing 2 CPUs. Therefore, 6 CPU licenses are required.
Server & Seat – Each VE running a database server needs a database server license. There are 5 VEs. Therefore, 5 database server licenses are required.
After reading this article, I am still confused......
1. What is relation between processor, core, and CPU?
2. With one CPU license, how many core can a VE access?
3. CPU license = Chip license? If no, what is the Chip License model on VE?
It seems that the definition of CPU-related terms used by Sybase are different from me.......
1) CPU=chip. A CPU has multiple cores. However, when creating a virtual environment, cores are counted as if they are CPUs/chips.
2) A physical CPU/chip license entitles you to use all cores on that physical CPU/chip. VMs are licensed as if they were separate physical machines, which is what this document describes.
3) Yes, CPU=chip. However, if you create VMs, you must license the number of virtual CPUs/chips as defined in the VM config.
But in this thread (I see you replied there too), in the quoted license agreement, it says:
"Processor" - means "Core".
"the number of CPUs is equal to the number of Processors or Cores on a Machine"
This sounds like CPU=processor=core, which contradicts with what you say above?
Sorry Henry - my mistake. I should not have said processor is the same as chip/CPU. I have corrected my above comment. Everything else remains true though.