Why and how businesses should run simulations in the cloud
January 30, 2022 1784 words 9 minutes to read
“Startups choose cloud software because they can’t afford the time and overhead of traditional solutions. Larger companies are turning to the cloud for the same advantages – not because they have to, but because they want to be lean and agile like the startups that are aiming to take away their market share.” – Jim Brown (Dassault Systèmes), How To Take Simulation To The Next Level With Cloud Computing (November 8, 2019).
Cloud computing has made computer resources available to anyone with an internet connection. Yesterday, only a handful of companies had access to high-performance computer hardware. Today, thanks to the cloud, computing resources are available to everyone.
Businesses no longer need to own data centers to train sophisticated machine learning models or run complex simulations. All the resources they need are just a few clicks away!
However, not every business has embraced cloud computing. Partially, this might be due to a lack of understanding of the benefits of the cloud. Nonetheless, enterprises that fail to recognize the value of cloud services might eventually hopelessly lag behind their peers already leveraging the cloud to lift their operations to new heights.
Cloud computing can be helpful in many fields and applications, including simulation. To hopefully clarify the uses and benefits of running simulations in the cloud, this post is going to cover (Ahmed and Sabyasachi, 2014, February):
- Why businesses should run simulations in the cloud.
- How businesses can run simulations in the cloud.
The benefits of cloud computing for simulation
We’ve had a look at the benefits of cloud computing for research in a recent post. At a high level, the benefits of the cloud for research and simulation are the same. However, there are a few small things that are specific to simulation. We list the main benefits of cloud computing for simulation below (Nunez, et al., 2011, June).
Vast computing resources
Today, businesses don’t need to invest hundreds of thousands of dollars in high-performance computing (HPC) infrastructure to run simulations. Instead, teams with limited budgets can use cloud resources to implement simulations of pretty much any complexity.
With cloud services, teams access computing resources spread across entire data centers (Khanghahi and Ravanmehr, 2013). Even without their hardware, teams no longer need to reduce simulation complexity to meet tight project deadlines or budgets – thanks to cloud computing.
Cloud computing resources are highly scalable. In other words, businesses can easily switch from small to extensive cloud workflows. And when powered by technology giants like Google or AWS (Amazon Web Services), cloud computing services are pretty much infinitely scalable (Khanghahi and Ravanmehr, 2013).
What does scalability mean for simulation? Thanks to scalability, simulation engineers can run hundreds of simulations simultaneously. Furthermore, engineers can add more simulations to their pipelines at any time, provided that they have the budget to afford increased cloud usage.
Cloud computing services can be very cost-efficient. Cloud providers typically follow the “pay-as-you-go” pricing model, meaning that businesses only pay for the resources they use (Carroll, et al., 2011, August). Therefore, the cloud allows teams to:
- Avoid substantial upfront investments in HPC resources.
- More easily manage their budgets.
Besides, most cloud providers don’t require their customers to commit to their services for a long time. So, whether tackling small one-off projects or continuous simulation workflows, businesses can save significant amounts of money by using the cloud.
General-purpose cloud platforms, such as Google Cloud, might sound like the obvious choice for simulation deployment. Platforms like Google Cloud can be considered general-purpose because they can host applications, simulation code, and machine learning pipelines (Yu, et al., 2017).
However, there’s also a specialized class of cloud platforms specifically intended for simulation. Software Delivery Simulator is one example of a simulation-focused cloud service. Cloud solutions for simulation have built-in tools for designing, deploying, monitoring, and analyzing simulation runs. By using these tools, teams can start running simulations quickly without the need to build simulation software themselves.
Ease of management and maintenance
With cloud computing, businesses essentially outsource the operation of HPC appliances. The outcome is that most aspects of owning and operating data center hardware are passed to a third party.
The need to repair, clean, or otherwise maintain cloud computing resources is nonexistent– cloud providers take care of the behind-the-scenes aspects of the cloud for their customers. This approach significantly simplifies the management and maintenance of cloud resources, allowing teams and businesses to focus on their tasks better (Jumagaliyev, et al., 2017, December).
Ease of collaboration and sharing
Finally, cloud computing drastically simplifies collaboration and sharing of work in teams. The cloud is accessible from any device with an internet connection, be it a smartphone or a laptop. This hardware makes viewing recent changes or making edits remotely extremely easy (Katsaros, et al., 2013, September). To continue the work of their teammates, engineers only need to have access to the current cloud environment running the simulation.
How can businesses run simulations in the cloud?
When it comes to running simulations in the cloud, businesses can:
- Use specialized cloud computing services for simulation, like Software Delivery Simulator. Because cloud simulation platforms provide off-the-shelf solutions for modeling, teams don’t need to build their own software to run simulations.
- Host their simulation applications on general-purpose cloud platforms like Google Cloud or Microsoft Azure. More often than not, this implies using a custom-built simulation application.
Figure 1 illustrates a sample simulation workflow within the cloud platform.
Businesses should consider both options while recognizing their distinct advantages and disadvantages. We give a brief comparison of these two options below.
Using cloud simulation platforms
First and foremost, teams can use services specifically designed for simulation. Some examples of cloud simulation tools and platforms include:
- Software Delivery Simulator (designed for software delivery simulation).
- Siemens Simcenter STAR-CCM+ (designed for fluid dynamics simulation).
- SOLIDWORKS 3DEXPERIENCE Works (designed for engineering simulation).
Others encompass tools such as CloudSim, CloudAnalyst, GreenCloud, iCanCloud, EMUSIM, GroudSim, DCSim, MR-CloudSim, MDCSim, SimIC (Pathan, et al., 2014).
These services offer a wide range of features for simulation, including:
- Intuitive user interfaces.
- Drag-and-drop functionality for quick model building.
- Built-in statistical metrics.
- Visualization tools.
With these tools, simulation engineers can begin building models right away. There is no need to write simulation code from scratch.
Some cloud simulation tools also have industry-specific features to simplify simulation. For example, Software Delivery Simulator allows engineers to incorporate steps like GitHub commits, deployments to Azure, or collaboration via Slack in their pipelines. Ultimately, this will enable engineers to recreate software delivery processes more faithfully.
The advantages and disadvantages of cloud simulation services are as follows.
|Very little upfront investment-simulations can be built and run nearly instantly.||Might not integrate with existing CI/CD workflows easily.|
|Verified and rigorously tested simulation routines.||Limited customizability and extensibility.|
|No need to code simulation software from zero.||Often limited ability to run offline.|
|Accessibility from web browsers.||Weak low-level explainability because implementation details are hidden from the user.|
Running custom simulation applications in the cloud
While premade simulation software can help teams simulate nearly instantly, some businesses might want to build their simulation routines from scratch. These routines can be wrapped in a user interface and hosted in the cloud through Google Cloud, Microsoft Azure, or other platforms that allow developers to deploy custom applications.
The main advantage of building custom simulations is flexibility. Simulation engineers can leverage programming languages like Python or Rust to create simulations of any complexity. Engineers can also customize the flow of their simulations in any way they see fit. Custom-built simulations can be fairly easily integrated into existing CI/CD pipelines.
|Virtually endless customizability of simulation. Because simulation is built from the ground up, simulation engineers have fine-grained control over it.||Building simulation from scratch is time-consuming.|
|Simplified integration into other operations in the same cloud environment.||Simulation rules, statistical counters, and visualization tools must be coded from zero.|
|Great low-level explainability.||Teams need to verify their simulation routines on their own.|
Cloud simulation services offer by far the easiest way to run simulations. For many businesses, the convenience and ease of use of cloud simulation platforms will outweigh their relative inflexibility and lack of customizability.
With that said, businesses should recognize the value of building simulations from scratch. A custom simulation program might make more sense whenever increased customizability is needed. On the other hand, whenever a team needs to quickly test different solutions, off-the-shelf cloud simulation tools might be the right choice.
Cloud simulation services offer by far the easiest way to run simulations. For many businesses, the convenience and ease of using cloud simulation platforms will outweigh their relative inflexibility and lack of customizability.
With that said, businesses should recognize the value of building simulations from scratch. A custom simulation program might make more sense whenever increased customizability is needed. On the other hand, whenever a team needs to test different solutions quickly, off-the-shelf cloud simulation tools might be the right choice.
Ahmed, A., & Sabyasachi, A. S. (2014, February). Cloud computing simulators: A detailed survey and future direction. In 2014 IEEE International Advance Computing Conference (IACC) (pp. 866-872). IEEE.
Carroll, M., Van Der Merwe, A., & Kotze, P. (2011, August). Secure cloud computing: Benefits, risks and controls. In 2011 Information Security for South Africa (pp. 1-9). IEEE.
Jumagaliyev, A., Whittle, J., & Elkhatib, Y. (2017, December). Using dsml for handling multi-tenant evolution in cloud applications. In 2017 IEEE International Conference on Cloud Computing Technology and Science (CloudCom) (pp. 272-279). IEEE.
Katsaros, G., Wittern, E., Gray, B., & Tai, S. (2013, September). A service delivery framework to support opportunistic collaborations. In European Conference on Service-Oriented and Cloud Computing (pp. 4-18). Springer.
Khanghahi, N., & Ravanmehr, R. (2013). Cloud computing performance evaluation: issues and challenges. Computing, 5(1), 29-41.
Krishnamurthi, R., Nayyar, A. (2019). Chapter 8: Cloud computing – simulation. In A. Nayyar (Ed.) Handbook of Cloud Computing: Basic to Advance Research On The Concepts And Design Of Cloud Computing. BPB Publications. pp. 265 - 297.
Nunez, A., Vazquez-Poletti, J. L., Caminero, A. C., Carretero, J., & Llorente, I. M. (2011, June). Design of a new cloud computing simulation platform. In International Conference on Computational Science and Its Applications (pp. 582-593). Springer.
Pathan, A. S. K., Monowar, M. M., & Khan, S. (Eds.). (2014). Simulation technologies in networking and communications: Selecting the best tool for the test. CRC Press.
Yu, Y., Cao, R. Q., & Schniederjans, D. (2017). Cloud computing and its impact on service level: a multi-agent simulation model. International Journal of Production Research, 55(15), 4341-4353.