Cloud Computing
Contents
Cloud Computing¶
Using & developing scalable and flexible computing systems that can be delivered as services over the internet.
Cloud computing has revolutionized how we access,
store
, and process data.
Gone are the days when accessing a centralized server using SSH was the norm, well outside of academia, big tech firms, and the range of the German. Today, cloud computing services offer a wide range of options
for individuals and organizations to store, process, and analyze data scalable and cost-effectively.
In this module, we will take a dive into the world of cloud computing, exploring both classic approaches, such as accessing a server using SSH,
as well as newer approaches, such as cloud computing services suitable for research.
In short, this chapter will provide a comprehensive overview of the cloud computing landscape and what you might encounter.
Roadmap¶
Cloud computing & SSH
Quick Tutorial on SSH
Textbased Adventure introducing the Terminal
Introduction to brainlife.io
Cloud Computing & SSH¶
SSH (Secure Shell) is a secure protocol used to remotely access and manage computer systems over an unsecured network. Or simpler, it provides a user access to a remote computer or computer systems by defining a set of rules and procedures for transmitting data between computers. It uses encryption protocols to protect sensitive information exchanged between devices, making it a secure way to access remote servers and devices. SSH is, therefore, commonly used by organizations or institutions to access or analyze sensitive data.
In academia or clinical institutions, e.g., in neuroscience research, you may encounter SSH as a means to log in to a remote server and execute commands, transfer large files, or perform analysis that a regular computer could not handle or that would be incredibly time-consuming.
Quick Tutorial on SSH¶
If your work requires you to work with SSH, you’ll be usually introduced to the local IT support, which teaches you how to access their server systems and what permissible operations you might perform. Here is what you can expect from this interaction
Depending on your operating system, you will either be installing an SSH client on your machine (e.g., Solar-PuTTY for Windows) or MacOS and Linux; you’ll instead use the terminal. You usually will provided access to a computer designated for that purpose using macOS/Linux
Next, a public/private key pair for your local machine will be generated. This is used to authenticate your machine to the remote server. Think of it as a work ID assigned by your computer, which will be checked against a list of registered machines when accessing the remote server.
Now open the installed SSH client or terminal on your local machine and enter the following command
ssh <user>@<remote_server_IP>
(where the user is your username on the remote server, and remote_server_IP is the IP address or hostname of the remote server. The system administrator will most likely provide both.)
You will be prompted to enter your password. Once you enter the correct password, you will be logged into the remote server over an encrypted SSH connection.
But you’ll probably soon realize something shocking: the lack of the GUI (Graphical User Interface
!
As SSH is a service used for managing data most efficiently, we’re usually constrained to text-based communication with the machine. The most common language used for this purpose is called BASH (Bourne Again SHell).
BASH (Bourne-Again SHell) is a widely used command-line interface (CLI) for Unix-based operating systems. Open up an on your macOS terminal or Linux terminal. You’ll be able to use BASH commands to directly communicate with your machine to do basic operations such as creating, deleting, or moving files and directories and run more complicated automatization processes.
For a deep dive into how to use BASH, check this Introduction to BASH
Neuroscience-specific Cloud Computing Service¶
Brainlife is a platform for sharing
, running
, and reproducing neuroimaging research
. Brainlife provides access to tools and pipelines created by the neuroimaging community to automate certain tasks such as preprocessing MRI data.
Using Brainlife for MRI preprocessing would look something like this:
Create an account
on the Brainlife website (brainlife.io)Search for
MRI preprocessing tools
that meet your specific needs and requirementsUpload
your dataLaunch
the selected tool or pipeline by specifying the input data and any necessary parametersWait for the processing to complete and
view the results
on the platformDownload the processed data
for further analysis or visualization
Note that the specific steps and details of using Brainlife for MRI preprocessing will depend on the tool or pipeline you choose, and it is advisable to consult the documentation and guidelines for that specific tool.
Closing Words¶
We hope this tutorial has provided you with a useful roadmap to explore cloud computing and SSH, learn how to use SSH effectively, engage in a fun text-based adventure that introduces the terminal, and discover the benefits of using brainlife.io for scientific research. Each of these topics can be daunting at first, but with practice and perseverance, you can become proficient in using these tools and platforms to achieve your goals.