Jetstream2 was designed for ease of use by researchers who may not have extensive cloud computing or computer programming experience. To meet this goal, Jetstream2 provides a friendly graphical user interface (GUI) called Exosphere, which allows users to easily perform some of the most common cloud computing functions.

The functionality provided by this GUI has intentionally been limited in order to prevent it from becoming hard to use. But there are situations when a user might need to access other Jetstream2 functionality that is missing from the Exosphere interface. This page discusses those situations and how users can access that missing functionality.

Automating Jetstream2 Actions

One thing that a GUI does not make easy is automating a series of actions. Each time you want to create an image or start an instance through the Exosphere GUI, you need to click on a series of buttons and maybe type some text into the web pages. If you have to do this frequently, it can be very time consuming. It can also be prone to error if every step must always be performed in exactly the same way.

Non-GUI interfaces allow you to create a program or script that performs a series actions without requiring human intervention. Scripts can have knowledge and abilities outside of the realm of Jetstream2, such as looking to see which data files are present and then copying them to an instance once it is started. Such programs and scripts can also be made to run at times when it is inconvenient for a human to be present to perform the actions.

Accessing Additional Functionality

Another good reason to use a non-GUI interface is to access functionality that was not included in the GUI. Going this route may require you to perform additional steps that the GUI had been performing for you behind the scenes. But if you need finer control over configurations and actions than the GUI allows, this option could solve you problems.

What Types of Interfaces Are Available?

Access to Jetstream2 functionality can be broken down into three types:

Graphical User Interface (GUI)
As mentioned above, the Jetstream2 web site is an example of a GUI. GUIs are characterized by graphical displays where the user moves a cursor to interact with buttons, drop-down menus, etc., and may also enter text into predefined boxes. GUIs are typically implemented by calling functionality in an API (see below).
Command Line Interface (CLI)
A CLI provides text-based interaction that allows the user to type in commands and see printed feedback. These interfaces must usually be run in a shell or terminal window. They may be presented as a series of shell commands or as an application within which you can enter a series of commands. They are also usually implemented by calling functionality in an API.
Application Programmer Interface (API)
An API is a programming interface that software developers call to access functionality. This is the lowest level of interface and provides the greatest access, but it is the hardest to use due to the programming skills it requires.

The following sections of this topic provide details about the different interfaces that are available for Jetstream2.

 
©   Cornell University  |  Center for Advanced Computing  |  Copyright Statement  |  Inclusivity Statement