One of the advantages of the Amazon Web Services (AWS) Elastic Compute Cloud (EC2) feature is the ability to quickly spin up an enterprise class server for a relatively low price. This can accelerate a project significantly and reduce costs in a very meaningful way. However, since AWS is essentially a huge virtualization farm, when it comes to Sybase licensing, there are several pitfalls that one can fall into while configuring a Sybase Unwired Platform (SUP) environment. Most of these can be easily mitigated by keeping a couple of rules in mind and by using readily available tools in the AWS toolkit.
All AWS instances are virtual machines. Sybase’s license generation requires the physical address of the machine (MAC Address) and the hostname to bind the license to the SUP host. So what does this mean?
Firstly it means you cannot terminate the instance without invalidating the license. You can reboot the instance, but you have to do a couple things to afford you this freedom. When you initially set up your AWS instance it must be initialized as an Elastic Block Storage (EBS) backed instance (rather than an EC2 instance store-backed AMI on S3). EBS instances can be rebooted (but still not terminated) without losing your MAC Address.
Secondly it means that you will also need a static host name via DNS. This is where the AWS feature of elastic IPs can help mitigate the dynamically allocated hostname problem. With Elastic IPs you can lease a static address from Amazon and associate it with your instance. When you do this you can then depend on the public DNS name to stay consistent and it can be used in conjunction with the physical address to create a license file.
In some cases if you stop/suspend an instance, the physical address may still change, so you may have to regenerate a new license regardless. However, having a consistent DNS entry for your image will be invaluable for establishing remote connections to the Unwired Services, and using EBS backed instances will introduce less risk of having to regenerate the licenses every time you need to reboot your instance(s).
Finally, Sybase offers two license validation models. One is what is called an “unserved” model that validates against a local license file stored on the file system of the host the SUP components are being installed on. This is useful when installing an evaluation or development instance on your local machine. Unfortunately Sybase does not allow unserved licenses to be used on what they call “sub-capacity” hardware; i.e. virtual machines. Thus, in order to install a licensed copy of SUP components you have to deploy a SySAM license server somewhere. You can download the SySAM Standalone License Server here. It’s pretty lightweight, so it can just be deployed to the same host as the SUP components. Installing the SySAM server is pretty straightforward so I won’t go into it here, except to say that it is important to make sure that port 27000 is added as a rule to your AWS security group. Once the SySAM server is up and running you can begin installing SUP on your EC2 instance. I will go into detail about that in the next post.