How to Build a Production-Ready AWS Infrastructure in 4 Simple Steps with Qovery
A quick guide on the advantages of using Qovery as your preferred apps deployment platform—and how to build a faster AWS production-ready with it.
Morgan PerryJune 7, 2022 · 6 min read
CRO and co-founder of Qovery. Morgan is a Tech entrepreneur with 7+ years of experience in the SaaS industry.See all articles
AWS is the go-to infrastructure solution for growing startups because it gives them much flexibility to choose the desired plan that fits their needs, and there is a service available whatever your need is. At the same time, AWS still requires some level of DevOps expertise and does not provide developer experience to its users. That’s when Qovery comes in. With Qovery, you will not face the need to have DevOps resources in your team, and you can achieve the same reliability provided by AWS but with great simplicity like Heroku. We will walk you through exactly how to build your own AWS production infrastructure right from Qovery, without any DevOps knowledge.
Key advantages of using Qovery for building and managing infrastructure on AWS
Let’s talk through the four big benefits of building an AWS infrastructure with Qovery:
- AWS Infrastructure setup is simple and quick— You do not need cloud infrastructure expertise, and you can set up the infrastructure in just a couple of steps.
- Get the Heroku-like experience with the flexibility you need— Qovery offers fully automated deployments to your AWS account. You get the same developer experience as Heroku (no DevOps knowledge needed), but now you have full access to inspect and tweak anything without Heroku limiting you.
- Deploy and scale effortlessly— Qovery utilizes a Kubernetes cluster behind the scenes (EKS). Qovery manages and scales services in your existing AWS account so you can focus on building products instead of managing its infrastructure. With Qovery, you can deploy in seconds from a Git repository.
- Visibility and control of your AWS cost— As Qovery uses your own AWS account, so you have full control over the resources and full visibility of cost as well.
Before we dive into the steps to build a production-ready AWS infrastructure, here are a few quick notes about how does Qovery work:
Qovery is an abstraction layer on top of the most promising tools (Kubernetes, Terraform, Helm...) and cloud service providers (AWS, Digital Ocean, Scaleway...). The goal of Qovery is to provide a production-ready platform layer to build on top of it. Qovery needs to install a few services on your cloud account to work. Some of them are required and others are optional.
All your applications and your data run in your cloud account. The Qovery Engine, Qovery Agent, and Kubernetes are the three main services running on your infrastructure to run your applications. The Qovery Engine and the Qovery Agent receive remote instructions from the control plane via a secured gRPC/TLS connection initiated. Qovery infrastructure and your infrastructure are completely isolated from each other. Qovery has been designed to never impact your infrastructure in case of any outage and security breach.
Read our complete documentation here.
4 simple steps to build a production-ready AWS infrastructure with Qovery
Let’s start with the first step of creating an AWS user for Qovery!
Step 1: Create an AWS User
In order to create an AWS user, you would need to have an AWS account. If you already have it then you can follow the below steps to create a user. If not, then you can click on the “Create Account” button on the AWS home page, see below screenshot for reference:
Now that you have an AWS account, you need to create an IAM user through the AWS console. Go to the IAM section and go to “Users”. Once you are on the “Users” screen, click on “Add User”.
To keep things simple and easily identifiable, you can name this user “Qovery”. Qovery will use the permissions of this user to spin up the cloud infrastructure on behalf of this user. Assign only “Programmatic Access” and do not enable “Console” access (see below)
Then, on the permissions screen, you will need to create a new user group (e.g. Admins) and add this user to the new user group.
Note down the access key and secret access key upon creation of this user. In later steps, these IDs will need to be provided to Qovery so Qovery could set up infrastructure on this user’s behalf.
Step 2: Assign Permissions to the AWS User
Now that we have successfully created a user in AWS, let’s assign the required permissions to this user. The permissions will allow this user to spin up the Kubernetes cluster and other related services.
The first thing to do is to go to this user in the IAM section and you will see the “permissions” tab. Click on the “inline policy”. Copy-paste the JSON text from the following link https://hub.qovery.com/files/qovery-iam-aws.json; and provide a meaningful name for this policy e.g. “Qovery_permissions”.
Step 3: Create your Kubernetes Cluster with Qovery
Now that you have completed setting the user's permissions, it is time to install Qovery on your AWS account. Attention, this is where things get too easy! 😅
Note that behind the scenes, Qovery uses a managed Kubernetes (AWS EKS) cluster as infrastructure.
After going to the Qovery console, simply click on "Add a Cluster" to start installing your Kubernetes cluster by selecting AWS as your cloud provider (Qovery supports other cloud providers) and choosing the desired AWS region closest to your customer’s location.
Finally, you will need to set your AWS credentials to link your Qovery account to your AWS user. That’s it, nothing more!
From there, your cluster is being created (and configured automatically by Qovery) and will be up and running as soon as you see the cluster showing a green icon as below.
Step 4- Verify the successful setup of the cluster
It takes less than 30 minutes before the provisioning of the clusters will be complete. Now, you will need to verify if the cluster setup is completed successfully. Through the Qovery console, you can see the resources being used in this EKS cluster and update other settings of the cluster. For instance, Qovery allows you to define the resources you want to allocate to your cluster such as the Instance type, the node disk size, the node scale, etc.
If you want to dig deeper into this part, you can find the documentation on cluster configuration.
By following the above 4 simple steps, you have literally built a production-ready AWS infrastructure in less than 30 minutes, with all the necessary configurations to start deploying and scaling your applications. Awesome, isn’t it? Now If you go to your AWS account and go to the EKS dashboard, you will see your cluster up and running there. You can see the resources being used in this EKS cluster and update other settings of the cluster. If you go to the CloudWatch or IAM section of your AWS account, you will see users and logs are automatically created for the EKS cluster by Qovery.
Qovery is a great tool for growing companies who want to harness the power of AWS but do not have enough DevOps expertise. Qovery simplifies your AWS deployments and makes it easier to implement CI/CD. This enables companies to scale their business in quick time and shorten the time to market their product. As demonstrated in this article, setting up AWS cloud infrastructure through qovery takes just a few simple steps without the need to have any DevOps skills. Want to give it a try? Start for free!
Deploy your apps in production on AWS in minutes
Qovery combines the power of Kubernetes, the reliability of AWS, and the simplicity of Heroku to deploy your apps on AWS.Deploy my apps