Entering edit mode
7.0 years ago
manali.rupji
▴
30
Hello All,
Could someone guide me towards an example computationally intensive shiny app hosted on the Amazon Web Server? I am unable to find a good example. I would like to show this example to gain support from the IT department to move to use AWS for my recently created shiny app which runs extremely slowly on our current centos server.
Any help is appreciated.
Regards, M
It's unlikely that moving to a cloud platform is going to increase performance unless your hardware is slow or too limited to begin with. AWS is best if you have a problem that needs to scale for a limited amount of time. Single shiny apps don't really lend themselves to that.
If you are sure it will run fast(er) there then you could test it yourself on AWS. There can be no better evidence than that.
Before committing to AWS for a shiny app, consider the costs. A beefy server on AWS is not cheap.
More importantly, I'd suggest spending some time figuring out what is limiting your application. Moving to AWS will not make the app more efficient and will not parallelize automatically. App optimization and parallelization can sometimes be more fruitful than just throwing more hardware at the problem.
Thanks Sean. Surely. Any idea how much that would cost ? As that could be a huge limitation for us. I have tried using code to test what could be causing the app to slow down as well but that is typically due to a specific R package that is running. I am also looking into other packages which could perform similar computation but it may not be the exact same. We could also consider shiny server pro to allow multiple Shiny processes for a single application, but from what I understand will also cost us some $$$.
The only person that can really answer what it'd cost is you, since you're the only one that knows approximately how much time it will be running.
Pricing is publicly available from AWS. You simply pay for what you need for as long as you need it. For a 32GB, 8-core system, you are looking at about $0.40/hour for "on-demand" pricing.
Reaching out to RStudio about the issue may also be useful, once you are convinced you have the app optimized.
Thank you for your insightful comments. The process runs on my local computer (32 GB RAM, core i-7, 2.90 GHZ, 4 core, 8 processors) in about 2 mins but the same takes about 20 mins when hosted as a web-link on the Centos server (14 GB total memory, x86_64, 1 thread per core, 2 cores per socket, 2 sockets) and one web process per shiny application. I was hoping that probably hosting in on the cloud could help economize additional processing cost and also increase computation speed.
At that point you might indeed be better off trying it on AWS. I presume that you're actually using a virtualized server instance, since I doubt anyone is going to keep a 4 core server in a rack anymore.
Thank you Devon. Yes, it is a Virtual server and i'm afraid it is set up to do one web process per application. Thus, when one person is accessing it, the second user can hardly get it to even load.
It is hard to do meaningful comparison since the hardware you describe indeed appears to be from the last decade. Is something else running on the server besides your app when the testing was done?
On the flip side, running on AWS is going to be better than that particular server, so you may be able to accomplish your goal easily :-)
Yes, indeed. Nothing else is running on the server which is concerning here.
AWS cost calculator may be useful. Instance types can help you decide what sort of server you would want.
if you simply want a computationally intensive Shiny app example, the one we made here took a fair bit of power to load since it does a lot of visualization of large data sets upon loading. Meant as a demo of various plotting techniques within Shiny. ~10s to load on my 2016 MacBook, 30s+ on some older 2010 MBP's. Its not hosted on AWS though, and you'll have to install some of the lab's dependencies as well.
Thank you for the information.