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 the way 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 , that is. Today, cloud computing services offer a wide range of options
for individuals and organizations to store, process and analyze data in a scalable and cost-effective manner.
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 insitutions to access or analyse sensitive data.
In academia or clinical insitutions, 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 comsuming.
Quick Tutorial on SSH¶
If your work requires you to work with SSH, you’ll be usually introduced to the local IT support, that teaches you how to access their server systems and what permissable operations you might perform. Here is what you can expect from this interaction
Depending on your operating system you will either be installing a SSH client on your machine (e.g. Solar-PuTTY for Windows), on MacOS and Linux you’ll instead use the terminal. Normally you will provided access to a computer designated for that purpose using macOS/Linux
Next a public/private key pair for you local machine will be generated. This is used to authenticate your machine to the remote server. Think of it as a work ID that your computer gets assigned, 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 user is your username on the remote server and remote_server_IP the IP address or hostname of the remote server. Both will most liekly be provided by the system administrator.)
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 somethin shocking: the lack of the GUI (Graphical User Interface
!
As SSH is a service used for managing data in the most efficient way 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. If you open up a on your macOS terminal or Linux terminal, you’ll be able to use BASH commands to directly comunicate with your machine to do basic operations such as creating, deleting or moving files and directories, as well as runs more complicated automatization processes.
For a deep dive on how to use BASH check-out this [Introduction to BASH](link 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.