From a3d96aae0a8b231e44230c918d3ec2dfa9bd8e63 Mon Sep 17 00:00:00 2001 From: Sidney Bell Date: Thu, 21 Nov 2019 17:02:01 -0800 Subject: [PATCH] Minor text edits to `hosted` (i.e., typos) --- docs/posts/hosted.md | 32 +++++++++++--------------------- 1 file changed, 11 insertions(+), 21 deletions(-) diff --git a/docs/posts/hosted.md b/docs/posts/hosted.md index 55b45d5b..3122237d 100644 --- a/docs/posts/hosted.md +++ b/docs/posts/hosted.md @@ -2,26 +2,26 @@ Cellxgene is intended to be used by researchers on their local machines. However, we recognize that sharing and exploring data on the web is important. We're exploring how we could better support this in the future, and [would welcome your input](https://github.com/chanzuckerberg/cellxgene/issues/875)! -In the meantime, you can see examples of how other groups have approached this [here](gallery). While we don't officially support web deployment, we've offered some guidance below on one way to deploy cellxgene to the web. +In the meantime, you can see examples of how other groups have approached this in our [gallery](gallery). While we don't officially support web deployment, we've offered some guidance below on one way to deploy cellxgene to the web. ## General notes and cautions Please consider the following when deploying cellxgene in any "hosted" environment, especially where access from the broader Internet is possible: -- information security requires careful configuration of the host environment, including firewall, logging, etc. Please follow best practices. -- cellxgene includes features which may be inappropriate for a hosted deployment. You may wish to use the following command line options: `--disable-diffexp` and `--experimental-annotations` +- Information security requires careful configuration of the host environment, including firewall, logging, etc. Please follow best practices. +- cellxgene includes features which may be inappropriate for a hosted deployment. You may wish to use the following command line option: `--disable-diffexp`. - `cellxgene launch` currently uses Flask's development server, which is not recommended for hosted deployment (see the [Flask documentation](https://flask.palletsprojects.com/en/1.1.x/tutorial/deploy/#run-with-a-production-server)) -- We have no testing or official support for deployments where multiple users are accessing the same _cellxgene_ instance. -- Your _cellxgene_ instance is likely to hang or crash if too many people access it at the same time, especially if they using functions that call the Python backend (such as differential expression, noted above). -- _cellxgene_ only supports one instance per dataset +- We have no testing or official support for deployments where multiple users are accessing the same cellxgene instance. +- Your cellxgene instance is likely to hang or crash if too many people access it at the same time, especially if they using functions that call the Python backend (such as differential expression, noted above). +- cellxgene only supports one instance per dataset If you believe you have found a security-related issue with cellxgene, please report the issue immediately to . -## Configuration options discussion +## Configuration options The following configuration options require special consideration in any multi-user or hosted environment: -`--disable-diffexp`: the differential expression computation can be resource intensive, in particular for large datasets. If many differential expression calculation requests are made in rapid seuqence, it may cause the server CPU or memory resources to be exhausted, and impact the ability of other users to access data. This command line option will disable the differential expression feature, including the removal of the web UI (diffexp button). +`--disable-diffexp`: the differential expression computation can be resource intensive, in particular for large datasets. If many differential expression calculation requests are made in rapid sequence, it may cause the server CPU or memory resources to be exhausted, and impact the ability of other users to access data. This command line option will disable the differential expression feature, including the removal of the `Differential expression` button. `--experimental-annotations`: this feature, which is disabled by default, may not be appropriate for hosted environments. It will write to the local file system, and in extreme cases could be used to abuse (or exceed) file system capacity on the hosting server. @@ -32,20 +32,10 @@ The following configuration options require special consideration in any multi-u There are a number of teams building tools or infrastructure to better utilize cellxgene in a multiple user environment. While we do not endorse any particular solution, you may find the following helpful. - [Novartis Cellxgene Gateway](https://github.com/Novartis/cellxgene-gateway) - a multiple-user and multiple-dataset gateway for cellxgene. +- Interactive Enviroment in the [Galaxy Project](https://galaxyproject.org/) ([patch notes](https://docs.galaxyproject.org/en/release_19.05/releases/19.05_announce.html)) If you know of other solutions, drop us a note and we'll add to this list. -## Third-party deployments - -- Chan Zuckerberg BioHub's [Tabula Muris Senis](https://tabula-muris-senis.ds.czbiohub.org/) -- Novartis's [cellxgene gateway](https://github.com/Novartis/cellxgene-gateway) -- Interactive Enviroment in the [Galaxy Project](https://galaxyproject.org/) ([patch notes](https://docs.galaxyproject.org/en/release_19.05/releases/19.05_announce.html)) -- Various instances by the Wellcome Sanger Institute - - [Tissue Stability Cell Atlas](https://www.tissuestabilitycellatlas.org/) - - [Human Kidney Cell Atlas](https://www.kidneycellatlas.org/) - - [Atlas of Anopheles hemocytes](https://hemocytes.cellgeni.sanger.ac.uk/) - - [Murine melanoma atlas](https://melanoma.cellgeni.sanger.ac.uk/) - # Deploying cellxgene with Heroku ## Quickstart @@ -78,7 +68,7 @@ After filling out the settings and pressing the `Deploy app` button Heroku will Heroku is a quick and easy way to host applications on the cloud. -A Heroku deployment of cellxgene means that the app is not running on your local machine. Instead, the app is installed, configured, and ran on the Heroku servers (read: cloud). +A Heroku deployment of cellxgene means that the app is not running on your local machine. Instead, the app is installed, configured, and run on the Heroku servers (read: cloud). On Heroku's servers, applications run on a [dyno](https://www.heroku.com/dynos) which are Heroku's implementation and abstraction of containers. @@ -97,7 +87,7 @@ This is a good option if you want to quickly deploy an instance of cellxgene to - The default free dyno offered by Heroku is limited in memory to 512 MBs - The amount of memory needed for the dyno is roughly the same size as the h5ad file - - Heroku offers tiered paid dynos. More can be found [here](https://www.heroku.com/pricing) + - Heroku offers tiered paid dynos. More can be found on the [Heroku pricing page](https://www.heroku.com/pricing) - Note that this can get _very_ expensive for larger datasets (\$25+ a month) - On the free dyno, after 30 minutes of inactivity, Heroku will put your app into a hibernation mode. On the next access, Heroku will need time to boot the dyno back online. - Having multiple simultaneous users requires more memory. This means that the free container size is easily overwhelmed by multiple users, even with small datasets; this can be addressed by purchasing a larger container size