Ever heard of AWS, GCP or Azure? These are abbreviations for services that build the backbone of many websites and services on the Internet, and as a developer you should at least know they exist and how they work. Again, we are talking about Amazon Web Services, Google Cloud Platform and Microsoft Azure, three of the most popular providers for cloud services. There are more and not all of them are US-based (fortunately), but I do not want to advertise any of these. You can look at the Forbes Top 5 list for cloud-computing vendors. Interestingly, many cloud file hosting services rely on these three, most prominent example being Dropbox (even though they stopped using AWS a while ago).
Now, what all these services have in common: they cost money, of course. But the vendors also offer free trials of their services, mainly due to the complexity and learning curve of their tools. Especially to students, the free access is important, as money is tight and who would pay for a cloud subscription that is barely used?
Before we start, we require a few things. This post is targeted at students and academic workers, and will require the following resources:
- An email account at an accredited university / academic institution. You usually get a confirmation mail, so make sure you have access to it.
- (spoiler) a credit card is required! Unfortunately, even for free tier services, you have to provide payment information. There are some tiny exceptions for AWS and Azure, but basically you do not get around it. Check with your bank if they offer a free credit card for students (and do not forget to cancel it after your studies).
- An account at the provider itself. You need a (free) AWS / Microsoft / Google account to register to the free tier.
Amazon Web Services
Amazon has the greatest number of services, organized in different categories. Most users only use 2-5 of them, and not all of them are accessible for free.
The free tier access offer 12 months of access to a number of costly services, mainly:
- Elastic Cloud Computing (EC2) for managing virtual servers, hosting web applications, etc.
- Relational Database Service (RDS) for database management (duh!).
- Simple Storage Service (S3) for file storage. This was used by Apple’s iCloud service (they changed to Google). Mostly used for static content.
- Lambda is used to run code without having to manage a server. The service takes care of all system dependencies.
- and others
There are also services that are free for all users, which are basically services with caps (max. X requests/month or Y GB of storage). If you exceed the limits, you either get a warning (before it happens) or the service stops working. I won’t lie to you, there is a risk you might get charged if you mess up, but for me it was only a few cents/pennies (and they never asked for it).
There is also a second option for Amazon called AWS Educate. This is targeted at academics who want to learn how AWS works and does explicitly not require a credit card. There is a downside to it, though. You do not get direct access to the AWS website, but to a third-party provider that provides “training” for Amazon services. So, the “AWS Educate Starter Account” is just an access token to Qwiklabs, a vendor for “lab learning environments”.
It is interesting to know how it works. Basically, you are offered “Labs” with specific tasks to do (e.g. “Introduction to AWS Lambda”). When you go through with it, you have access to the AWS service for the duration of the lesson (20-60 minutes), using a temporary and limited account created for you. See the screenshot below for an example on how it looks.
You first need to be approved to use the service, which means entering a lot of information about your current academic situation (when do you graduate, where etc) and Amazon will require a few days (5 days in my case) to accept the request. The confirmation mail looks like this:
Your AWS Educate application has been approved. As a member of the AWS Educate program, you will gain access to the benefits listed below:
AWS Educate Student Portal
The AWS Educate Student Portal is the hub for AWS Educate students around the world to find AWS content to help with classwork, connect to self-paced labs and training resources.
Free AWS Essentials Training
To access our foundational AWS Essentials online learning class for free and find other self-paced labs, you must have either and AWS account or an Amazon ID.
If you have an AWS account, sign in and click here to receive these benefits.
If you do not have an AWS account, click here and follow the instructions to create an Amazon ID to access these benefits.
For Microsoft Azure, there are not a lot of differences to the other providers. You do not need to provide credit card information at registration time, but you can basically only look at the empty dashboard until you do. You can register for a free account and get $200 (for a month) in credit to use. Also, you get 12 months of free usage for some services (note: I added some numbers because the info is spread around on the website):
- App Service to create “cloud apps”, which basically means (mobile) web applications. You get 10 apps and 1GB of disk space for free (how generous…)
- Virtual Machines for setting up a Linux or Windows machine. You get the cheapest option, which has 1GB of RAM and a CPU node.
- Azure SQL Database for relational database management (250 GB of storage)
- Block Blob is a storage for binary data, like images, videos, backups etc. You get 5 GB.
- Functions is for event-driven computations, running your code without having to set up the system. You get 1 million free executions (whatever that means…)
Azure for Students
If you have access to Microsoft Imagine (previously Dreamspark) through your institution, you can benefit from some Azure services. The site states:
Student developers can publish their own web apps to Azure and host them in the cloud, at no cost and with no credit card required. Take advantage of these great Azure services:
- Web Apps
- SQL Server and SQL InApp
- Application Insights
Unfortunately, the Azure portal is the most complicated piece of software I have used in a while. Basically, whenever you try to access a service not included in the free plan, you get redirected to a purchase screen. Also, it is not clearly visible from the UI which services are free to use with the above plan. So you will need a few hundreds of clicks back and forward until you finally understand what you are allowed to do.
Google Cloud Platform
Google also offers a free trial for new users, but there is also a Google for Education program (only for teachers and faculty members). As you have to provide links that prove your association with a faculty, it is not applicable for (most) students.
Similar to Azure, you get 12 months and $300 of usage of all services. Then, there are the capped “always free” services, with specific limitations. A credit card is required for the registration. After the trial phase, your account is deactivated until you upgrade to a paid account. If you upgrade to a paid account (which simply means they pull money if you use paid services), you can still use “Always Free” services (but note that if you exceed the limits, you are billed). These services include:
- App Engine is for (mobile) web applications. You can set spending limits so the free quotas are not exceeded.
- Cloud Datastore offers a NoSQL database, if you use the technology in your applications.
- Compute Engine manages your virtual machines. You can have only one running simultaneously per month.
- Cloud Storage is the actual storage for any data, from binary files to website content.
- Cloud Functions is for running code without having to manage any machines.
As said before, there is no special student plan at the time of writing this post.
The services you get for free do not vary a lot between providers. Depending on your usage, you might hit the free quota limits pretty early, but you should not have any expensive operations running on a free plan anyway. If you are a web developer, I recommend to learn and explore these technologies as long as possible, as they are highly requested and used nowadays. Even the biggest and most popular websites use AWS, including Reddit and Netflix (source: ZDNet), and also the other big players make use of these services, including Instagram (which is known to host its content on S3).
I put a lot of effort into this post, and the information might be outdated when you read this, so please leave a comment if you notice something wrong.