Engineers have one very keen sense in life and that is to ferret out usefulness from perceived buzz.
Subsequently, we somehow exist on the cutting edge and in the Stone Age at the same time. We engineers can go to work and develop next generation technology for the world’s greatest engineering challenges while clutching our ‘feature phones’ pontificating that smartphones are for ‘tweeters’ and ‘tweeners.’
Trained as such, unless we are reading the weather report, the word ‘cloud’ really sends our you-know-what meters into the alarm-sounding red zone. For a moment, let us step away from our inner-crotchetiness and a take a look at how the cloud may apply to us, as it has clearly taken hold in the consumer world.
NIST (National Institute of Standards and Technology) defines cloud computing as, “a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (eg, networks, servers, storage, applications and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.” [source: ‘NIST.gov – Computer Security Division – Computer Security Resource Centre’. http://csrc.nist.gov/groups/SNS/cloud-computing/csrc.nist.gov.]
Honing in on the key defining terms, you may recognise the key features of the ‘cloud’ include on-demand access, shared compute resources and dynamic provisioning.
The cloud for engineers
Clearly this type of dynamic accessible processing can be useful in many ways and has already ushered its way into many applications. The benefits these companies are exploiting include rapid reprovisioning, reduced upfront costs, ‘anywhere’ access, pooling resources across users through multitenancy, load spike handling and better reliability, uptime and maintenance than they could have achieved on their own.
However, this is not the entire story. Critics will say that utilising the cloud opens companies and IP to security threats, failing to offer enough benefit in many circumstances to justify the risk. Nevertheless, there are a number of ‘buckets’ which have begun to emerge as high-level uses for cloud computing in the general engineering space.
1. Data aggregation: Data is the lifeblood of engineering. Most all generally accepted tidbits of information must be backed with megabytes of verifiable data. From the definition of cloud computing, it is clear that one of the scalable computer resources is storage, the backbone of a data aggregation strategy. Data aggregation using the cloud is most effective when data sources are globally distributed and require convenient on-demand access.
Looking at a windfarm monitoring example, it turns out that one of the most expensive parts to fix on a windmill, if it fails catastrophically, is the large rotating assembly behind the blades. There is a whole science behind monitoring rotating machinery vibrations to predict normal maintenance and analyse warning signs for future sudden events.
Using an acquisition system for monitoring, coupled with cloud-based storage, companies can aggregate the data in a central scalable location, automatically sweep the data for alarm conditions and serve the data to any user globally that needs access. This is all without the necessity to spend large capital investments on onsite servers. Even worse, this avoided capital investment would be based on imperfect forecasts of future business and would require significant idle ‘storage inventory’ to handle spikes in usage. A central tenant of the cloud allows for dynamically changing computer resources as your business grows (or shrinks).
2. Software as a service (SaaS): Many self-hosted operations report that their servers run at 10% to 20% utilisation under normal operating conditions in order to account for periodic extraordinary usage patterns. Using cloud computing, engineers can mitigate this ghastly under-utilisation of a resource for their web application.
The quintessential online application example running in the cloud has become salesforce.com. It seems one cannot read an article about the cloud without the mention of this service. Since customer relationship management is not exactly in the domain of an engineer, consider some engineering packages that have been looking at cloud technology to improve their offering.
At Solidworks World 2010, the company showcased previews of upcoming technology that facilitate game-changing levels of collaboration on design using cloud backends. The design is ‘alive’ in the cloud and any person involved, from design engineer to executive management, can work with a design on any device.
At NI Week 2010, National Instruments previewed a completely hosted LabVIEW Web UI Builder which is a browser-based development program for quickly creating web user interfaces, connecting the custom interface to web services and exporting the UI as a thin client to embed essentially anywhere on the web. These examples provide a glimpse into how engineering applications can run completely in the cloud or utilise a hybrid approach where there are cloud applications available that augment an application running locally.
3. High compute power: Simulation sweeps on large ASIC designs or dynamic analysis of mechanical models are only a few of the computationally intensive tasks one might want to target at a rented bank of computer resources that will scale up quickly to handle the load and scale down quickly when not utilised. In some FPGA simulations, a nanosecond of simulation time can mean minutes of real-time churning. One does not need to be a mathematician to understand the time an FPGA video algorithm high-fidelity simulation could take to crunch a one-minute clip.
EDA tools are already experimenting with this type of system for highly computational tasks. One of the promises of cloud computing is the virtually unlimited scalability of the processor cycles engineers can have at their disposal. Of course, this is an oversimplification as not all intensive tasks can be parallelised, but in theory the cloud represents infinite open lanes of instruction crunching. In practice, companies are already seeing benefits.
National Instruments is also working with targeting the FPGA compilation to cloud based computers. In fact, the prototypes shown at NI Week displayed a user being able to simply select the NI Hosted Services compilation server and subsequently use the LabVIEW FPGA tools in the same familiar way. The only difference being that compilation is happening on an optimised, high-RAM dedicated computer in the cloud rather than a locally maintained server, or worse, bogging down the development computer. The transfer of files and statuses are handled in the background on high-security web service connections to a set of cloud machines that take care of authentication, licence checking, scheduling and the specialised work of an FPGA compile.
Many critics point out drawbacks of cloud technology for certain engineering tasks. While complex display (think rendering 3D models) is nearly impossible solely through a network connection to the underlying data, security concerns are by far the most cited drawback to putting more of an organisation’s important, sensitive engineering work in the cloud. With the LabVIEW FPGA Cloud Compile server, National Instruments has worked through a lot of these issues and some items we understand are listed below.
* All calls to the server should use a secure user ID and all access to customer data on cloud servers should be gated by services on the server side which re-check the end user’s permissions on each access.
* All passwords, as a security best practice, should be stored using strong one-way encryption and never stored in any other way, especially plain text.
* Even the service provider should not be able to decrypt a user’s password.
* Users who forget their password must be reset.
* All calls from the user to the cloud should also be made securely over encrypted HTTP (HTTPS) with added security mechanisms for login authentication and data protection.
* The service provider should have a CISSP-certified security engineer on staff or be consulted with to audit the security of the solutions from design through implementation.
* The cloud infrastructure provider, such as Amazon Web Services, should have high-security data centres as well. For example, Amazon’s data centres have SAS 70 Type II certification.
According to some experts, the cloud is an emerging technology, while others say this has been done for many years. Either way and whatever you prefer to call it, we have seen the consumer world making clear shifts to hosting all types of data, applications and computationally intensive tasks on scalable on-demand systems. It is only a matter of time until the research and development community starts using similar technology in related use cases for their day-to-day work.