At Your Service

By Peter Varhol

Before the advent of powerful and inexpensive 32- and 64-bit desktop computers, engineers needing to run complex simulations or heavy-duty computations had to rent time on a supercomputer, or use high-performance systems that were shared by other parts of their organization. That practice has waned as desktop systems are increasingly capable of handling many of the tasks that we had to offload to larger systems. But we keep finding more and more difficult problems for supercomputers to solve, so offloading jobs to these computers never entirely went away.

Look for the practice of renting time on other systems to pick up once again in the future. However, rather than renting the computational horsepower, we’ll be renting software for specialized purposes. If you work at a large enterprise and haven’t already done so, it is likely that someone in your business is renting a solution from time to time.

In many cases, your company may be using software as a service, or SaaS. This is simply the process of renting an application based on the amount of time it is used, or the number of people using it, or a similar simple metric. The application is typically delivered over the Internet, usually with a Web interface. Many businesses use an application called Salesforce.com to manage their sales processes, for example.

Engineering applications are starting to be offered in a similar manner. Some specialized applications, such as those that handle continuous simulation and computational fluid dynamics, are already being offered on a rental basis, albeit without the Web interface. Once rich Web interfaces become commonplace, it will become possible for engineers to work with these applications from their desktops and have almost exactly the same user experience as if the applications were running locally.

Another approach to using engineering applications as a service is the Web service. With the Web service, an application component or module is rented to enhance an already owned and in-use engineering product.

Let’s say that you are using a purchased mechanical design package. Once you have reached a certain point in your design, you would like to perform a stress test, but you don’t own that module for the software. Instead, you call the vendor, give a credit card number, and the vendor provides you with a temporary license key and an IP address. You instruct the design software you own to go to that IP address, and it connects to the stress test component, giving you full access to that feature for a specified period of time.

This might sound far-fetched, except that it is already occurring in other areas of software. The complexity in our field is making it more difficult to accomplish, but all of the major design software vendors are actively pursuing this strategy. In the not-too-distant future, you will be able to rent and configure new modules of your existing design software in minutes, without leaving your desk.

In fact, because the interfaces across the Web are standardized, you might be able to plug and play with other vendors’ components, rather than be limited to a single software vendor. In effect, you will be able to actually choose the best-of-breed components for each task you must complete. The downside, of course, is that software from different vendors works in different ways, so you might have a steep learning curve.

Regardless of whether you know the software, the broader choices enabled by such services will only make you more productive.

Peter Varhol has been involved with software development and systems management for many years. Send comments about this column to DE-Editors@deskeng.com.

About Peter Varhol

Contributing Editor Peter Varhol covers the HPC and IT beat for Digital Engineering. His expertise is software development, math systems, and systems management. You can reach him at DE-Editors@digitaleng.news.