Zero to Hero - How to deploy your app on AWS in 30 minutes

Step-by-step guide on how to deploy your app on AWS in 30 minutes. No AWS knowledge required.

Amazon Web Services (AWS) is a platform that offers flexible, reliable, and scalable Cloud computing solutions. The platform is developed with a combination of infrastructure as a service (IaaS), platform as a service (PaaS), and packaged software as a service (SaaS) offerings. In 2021, thousands of companies host their apps on AWS. In 2006, AWS was composed of only 3 services (SQS, S3, EC2) that were simple to use. In 2021, more than 200 services and 2000 features exist, and deploying your app can take days.

Qovery provides a state of the art Continuous Deployment platform in 30 minutes instead of 18 months to build it yourself.

In this tutorial, I will explain step by step how to deploy your app on AWS in 30 minutes. No AWS/infrastructure/Cloud knowledge required - no kidding!

Before you start

  1. This tutorial is perfect for:
  • Junior/experienced/expert developer.
  • Lead developer and CTO.
  • Anybody interested into deploying apps on AWS in the simplest way.
  1. If you have any question or suggestion on this tutorial, please contact me via this form or Discord :)

Why you should use AWS

  • You need to focus on what you are building.
  • You need to speed up your Go-To-Market and Product Market Fit.
  • You plan to be the next unicorn 🦄 ;)

Why you should not use AWS

  • You are building a side project.
  • You are looking for a cheap hosting provider.
  • You dislike Amazon.

Let's start!

Step-by-step tutorial

Create an account on AWS

If you already have an AWS account, you can go to the next point.

Before creating an AWS account, I'd recommend contacting AWS to see if you are eligible to free credits. AWS provides up to $100k of credits for 12 to 24 months. Which is convenient to have at the beginning of a project. If you know that you are not eligible, you can create your account by clicking on the top right button Create an AWS Account of their main page.

Create an account on AWS

Install Qovery on AWS

To deploy your apps on your AWS account, we'll use Qovery. Qovery is a Continuous Deployment platform that makes app deployment on AWS very simple (see "What is Qovery"). The installation of Qovery on your AWS account takes approximately 30 minutes. Then you're ready to deploy your apps "a la" Heroku like.

Get your AWS API keys

To install Qovery on your AWS account, the secret access key and access key id are required. Here is a comprehensive step-by-step guide on how to generate your secret access key and access key id. If you already have those keys, then you can go to the next point.

Connect to Qovery

Using Qovery is as simple as connect with your Github or Gitlab account on console.qovery.com.

-> Connect to Qovery

Create your Organization

The concept of an organization is similar to the Organization on GitHub (read more). It's good practice to name your organization like your Company or project. You can be part of multiple organizations. Then you can give permissions to teammates to get access to your organization and then collaborate.

Create an Organization by clicking on the top right dropdown menu.

Qovery - Create an Organization - dropdown

Then give a name and a logo (optional) to your organization.

Qovery - Create an Organization

Launch the Qovery installation

Select your Cloud provider where you want to use Qovery and insert the required Credentials.

Qovery - Select your Cloud provider

Select the closest region from your users to have the best latency.

Qovery - Select your Cloud provider region

Congrats! Qovery will be installed within 30 minutes 🎉. In the meantime, you can take a look at what happens on your AWS account - an EKS is spawning with Qovery.

Qovery - Qovery installation is in progress

Deploy your application

Once Qovery is installed on your AWS account, you have the possibility to create a project. A project contains multiple apps on different environments (production, staging, dev). Learn more on the project and environment concepts.

Create a project

Give a name to your project. Pro-tips: In my Qovery organization I have a project ProductAnalytics and a project Application. If you don't plan to have multiple projects, then give the name of your app.

Qovery - create a project

Deploy your app

To deploy your app on AWS with Qovery, it is as simple as selecting your Github or Gitlab repository. Nothing more :) Everything is configured for you, even the SSL/TLS and your domain.

Select the repository of the app you want to deploy.

Qovery - select the repository of your app

Give a name to your app.

Qovery - give a name to your app

Optional: You can deploy a database or attach a storage to your app in one-click.

Qovery - deploy a database or attach a storage to your app

Then deploy your app by clicking on "Deploy".

Qovery - deploy your app

Your app is deployed and ready to be used by your users. And all of that from your AWS account! 🎉

Qovery - the app is deployed

If you need to add another app to your project, you just need to repeat the latest steps 😎.

What's next

Now you can see how you can add a database to your app or set up your domain.

Add a database
Set up your domain