Introduction to AWS EC2

AWS (Amazon Web Services) is the leading Cloud service provider. We would like our students to try this service, because the Cloud is the present and the near future of professional IT. We do not want to make a step-by-step tutorial, since there are plenty of them all around, but we would like to give our students some hints of where to start.
In a few words, AWS is a Cloud service provider that hires their computer servers with anyone for a fee. They offer a broad range of services, anything that can be done with a computer. The most common example is letting us run virtual machines on their servers. Instead of buying a computer for, let's say, publishing our personal website, we can launch a virtual machine in EC2 (Elastic Compute Cloud) and run the website there. This is not the only option (we could use a website hosting service for that), but it illustrates the idea: instead of using my own computers for anything, I will use Amazon's. For a short introduction the YouTube video by Simplilearn is great.
Before we follow, we could to the same (launching a VM) in many other Cloud services around: Microsoft Azure, Google Cloud Platform, Alibaba Cloud, etc. There are not many competitors, though, because the Cloud provider needs a humongous amount of computers and a solid infrastructure to be competitive.

You can open a free account in AWS, but the drawback is that they ask you for a payment method. There are plenty of free services (they call it the free tier), but you could use some expensive service by mistake and they want to have a way to charge you the costs in that case. This is something that scare our students. If you are one of them, ask for help from your teachers.

Once you have an account, it is a steep learning curve. There are plenty of services and their complexity varies. It is not difficult to launch a VM, but if you want to train a Machine Learning model it is a bit more tricky. Anyway, there is a place for everyone in AWS.

[As a footnote, we have tried about six Cloud providers and the feeling is that AWS has the easiest path for students and the likes. This is completely subjective and the other Cloud providers are great too.]

So, once again, our proposal is to do a couple of guided exercises to learn a bit and loose our fear of the Cloud. If you are serious about the Cloud your starting point is the AWS Cloud Practitioner Essentials course, but it is 20-hours-long. Unfortunately, most of our students do not have so much time, so they could start with the shorter (1-hour-long) AWS Foundations course. You only need an Amazon user account to access these free video courses, and they will give you a certificate of completion that you could proudly send to your teachers. More info at the following link:

Once you learn the basics, you could launch an EC2 instance (a Virtual Machine). You could follow the steps using the AWS Management Console or you could use an Amazon Machine Image (AMI) provided by the teachers. Custom AMIs a great way to organize your instances. They are a sort of a snapshot of a VM that you can share with others or launch several times to get copies of your original instance. For example, we have created an Ubuntu AMI with a flask-based Python web application, a Windows AMI with just Mozilla Firefox already installed, and a second Windows AMI with LabVIEW 2020 and MQTT.fx installed too. Now we can launch a copy of any of these machines in a few clicks.

Once you create an instance, you can connect to it following the instructions of the "Connect" button. It depends on the operating systems. For example, you could connect to a Windows instance using RDP.

Then the result, after using the key pair to decode the password, would be a window like the following:

Try to create some Linux and Windows instances, do some stuff there and share the results with your friends and the teachers. You will feel great!

When you finish, remember to stop or terminate your instances, because you could incur in some charges!

Thanks to Forrest Brazeal