Create and Manage an IDE

A HISE IDE (integrated development environment) is a tool for data processing that fosters a collaborative environment where sharing code or methods is more efficient. The IDE is the entrypoint for downloading data in order to do any analysis. This section details how to create an IDE, and the different configurations users are able to set. 


Navigating to IDE Instance Page 

Select “Research” in the navigation bar, then select "IDE Instances" from the dropdown menu. You will be directed to a page where you can view all of the IDEs that you created.


Creating an IDE Instance

We can create a new instance by selecting “Create instance”. This will bring up a new window that prompts us to name the instance, assign it a machine type and a Docker image. After hitting “Submit”, we should see a new entry in the UI with the name we gave our instance with a state “STARTING”. It typically takes 5-10 minutes for the IDE to fully boot. Once the instance is ready, we should see the state of the machine marked as being “ACTIVE”. 



Once the IDE is in an active state, we can click the instance name and this will bring us to the JupyterLabs page where we can create a new notebook and start writing some code!



Managing your IDE Instance

Machine Types

The machine type allows you to decide the power of your underlying machine. CPU-optimized instances handle processing better, while RAM-optimized can hold more objects in memory. Please be aware that more powerful machines are more costly (costs per day are shown for each machine type) so only use what you need. You will have an allotted billing quota per month, and we will notify you via email who are at 90% of their max limit. For more information on machine types, please refer to this support page.

Docker Images 

The preselected images come preloaded with a variety of libraries. The intent is that the “HISE IDE stable release with all packages” image will come with most if not all of the scientific libraries you need. If you have additional libraries or packages you’d like to see included, please email immunology-support@alleninstitute.org

IDE Actions

The following are actions you can execute on your IDE: 

For more information on how each action affects cost, please refer to this document.


Resizing Instances

For existing instances, you can resize them in one of the following ways:
resize disk. If you run out of disk during analysis, you can increase disk size
machine type. You can increase or decrease the machine type. Not that the instance must be stopped first before you can do this. 

As described above, when you stop and restart the instance, objects in memory will not persist. Please ensure that you first either store relevant data in HISE and/or your private folders, or serialize the session to /home/jupyter using your favorite R/Python serialization function. 
Metrics
In the IDE instances page, you will now find metrics for your IDE instance, including CPU and memory utilization, disk I/O and disk usage for the last 15 minutes and up to 3 days. Having insight into your IDE's metrics will help you troubleshoot issues or perceive slowness of your instance.


Troubleshooting IDEs

One of the most common errors you'll encounter is a 524 (A Timeout Occurred) error. This error is usually an indication that memory of the virtual machine has exceeded 80% memory utilization, or the root disk ran out of space. 

You have the ability to check metrics of their IDE instances, including CPU and memory utilization, disk I/O and disk usage for the last 15 minutes and up to 3 days. Having insight into your IDE’s metrics will help you troubleshoot issues or to pinpoint causes of slowness when working in the IDE. 

If you see memory utilization or disk usage encroaching its limits, reach out to HISE support via email with as much information as possible. Being able to identify the issue will help the support team resolve the issues you are experiencing. 

Do not hesitate to email immunology-support@alleninstitute.org if you run into IDE issues and have questions on how to resolve them.