The “Cloud” is everywhere. Hot start-ups are cloud-based. Most high technology firms are talking about their cloud solutions or at least their plans for it. Even consumers are using cloud-based tools for storing their music and photos. But engineers are taking a more cautious approach. This is partially based on concerns around security, but also because of a lack of understanding of what capabilities are really available, and what needs to be done to actually run an application in a cloud environment.
For this discussion, let’s just focus on Public Clouds. There are very few engineering applications available today as Software-as-a-Service (SaaS). This means that, in most cases, using a Public Cloud will require the enterprise to contract with a service provider, such as Amazon Web Services or Rackspace Public Cloud, to serve their applications from the cloud. But doing so requires numerous considerations on how to get the target application(s) actually running in such a cloud and whether its a good idea in the first place. We will focus on the technical issues, leaving business issues, such as pricing, out of the discussion for now.
Security is probably the first issue any company must consider when contemplating using a public cloud. This is because proprietary data will be loaded onto a computer which is outside of the corporate firewall. (A private cloud addresses this situation). Security in the public cloud can be broken down into several general categories:
- Data encryption during transfer back and forth
- Access to the public cloud while sensitive data is stored on it
- Virtualization and the actual storage of data
Most public cloud providers offer some level of security, but based on the level of service you are contracting, you may have to “bring your own”. For instance, with Rackspace, you can purchase their base level “Cloud Server” package, in which they offer a Linux-standard firewall. If you want something more secure, you would need to provision your own security package at the time of setting up the environment. In general, the consensus in the community is that public cloud security is improving, but probably not ready for your most sensitive data.
The next issue is around performance. There are several performance-related issues, including the latency to and from the cloud; throughput of your application; and overhead in setting up and removing your data and results. If your application runs primarily in a “batch” mode, meaning there is no user interaction once the application is started, then throughput may be the primary concern. But total turnaround time could be a big consideration if the data size is large: a fast run-time may be outweighed by the process of transmitting the data. Carefully consider these aspects of your application when considering putting it in the cloud.
A final issue is the licensing of your application. Many software vendors have restrictions about the usage of the software with respect to geography, users, and equipment. For instance, the software license may state that the software may only be used on a particular site within your company, or maybe just on the company intranet. There may also be restrictions for using the software on virtual machines, and in most cases, public cloud companies are utilizing virtualization technologies. Some software vendors are modifying their software licenses to deal with public clouds, but many of the applications you use today probably have a fairly old software license, and as such don’t address this type of usage. Check with your software vendor to make sure you understand their policy.
In conclusion, there are many reasons to take advantage of cloud resources, but there are several important technical issues to make sure you have resolved before you move to the cloud.
Learn more about managing concurrent licenses for engineering applications by watching our on-demand webinar: Creating a Mature SAM Process for Concurrent License Management.