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
- This tutorial is perfect for:
- Junior/experienced/expert developer.
- Lead developer and CTO.
- Anybody interested into deploying apps on AWS in the simplest way.
- 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.
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.
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.
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.
Then give a name and a logo (optional) to your organization.
Launch the Qovery installation
Select your Cloud provider where you want to use Qovery and insert the required Credentials.
Select the closest region from your users to have the best latency.
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.
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.
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.
Give a name to your app.
Optional: You can deploy a database or attach a storage to your app in one-click.
Then deploy your app by clicking on "Deploy".
Your app is deployed and ready to be used by your users. And all of that from your AWS account! 🎉
If you need to add another app to your project, you just need to repeat the latest steps 😎.