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

Step-by-step guide on how to deploy your apps 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 is the simplest way to deploy your apps on AWS.

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 anyone interested into deploying their apps on AWS seamlessly.
  2. If you have any question or suggestion on this tutorial, please contact us via this form or Discord.

What is Qovery

Qovery is a platform that makes your app deployment on AWS very simple. The installation of Qovery on your AWS account takes approximately 30 minutes. Then you're ready to deploy your apps "à la" Heroku-like.

Why you should use AWS

  • You need a reliable hosting platform.
  • You want to stay 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 hobby project.
  • You are looking for a cheap hosting provider.
  • You do not want to use Amazon services.

Let's start!

Video: Install Qovery on AWS

Step-by-step: Install Qovery on AWS

Create an AWS account

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

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.

Configure Qovery

Sign-up to Qovery

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

-> Connect to Qovery

Create your Organization

An organization is a shared account where developers can collaborate across many projects at once. Owners and organization administrators can manage:

  • Cloud accounts.
  • Members access.
  • Billing.

Read more about Organizations

To deploy on your AWS account, you have to choose between Free, Professional and Business plan for your organization.

Qovery - Create an Organization and select the plan

Install Qovery on your AWS account

1/ Go to your organization settings by clicking on the "cog" icon next to your organization name.

Go your organization settings > clusters

2/ Create a cluster, select Amazon Web Services and the region where you want to deploy your apps.

Create a cluster

3/ Set your AWS credentials. (Check out this guide if you have no AWS credentials).

Set your cloud credentials

4/ Under the hood, Qovery uses a managed Kubernetes (AWS EKS) to run your applications. You need to specify the instance type that you would like to use and the min/max number of nodes. Qovery will keep low the number of nodes and will only scale up your nodes if your applications really need to scale. If you don't know which instance type to chose, have a look at the AWS instance list or use the helper to chose the right instance based on your CPU/RAM needs.

Set your cluster resources

5/ Click on Save and Deploy.

AWS cluster is now available

Congrats! Qovery will be installed within 30 minutes 🎉. You will be notified when it is all good. In the meantime, you can take a look at our guide section.

6/ Enable cluster sync with SSO account

If you're using SSO for your AWS account deploying the Qovery cluster you have to add some infos in the aws-auth configmap in kube-system namespace. Connect to your cluster and edit the aws-auth configmap in order to add the following code in the mapRoles section:

- rolearn: arn:aws:iam::<iam_id>:role/AWSReservedSSO_AdministratorAccess_<the_role_id>
username: "{{SessionName}}"
groups:
- system:masters

Deploy your application

Once Qovery is installed on your AWS account, you have the possibility to deploy your application. Take a look to our guide on how to deploy your first application with Qovery.

Deploy your first application