Who am I?
fun getSpeaker(): User {
val romaric = User(
firstName = "Romaric",
lastName = "Philogène",
age = 31,
email = "romaric@qovery.com",
twitter = "@rophilogene",
description = "10 years of experience in IT infrastructure and backend development",
favoriteLanguages = setOf("PYTHON", "JAVA", "KOTLIN")
)
return romaric
}
fun main(args: Array<String>) {
println("Hello you! From ${getSpeaker().firstName}")
// Hello you! From Romaric
}
Question
Question
Question
Question
Our believe
Obviously... Qovery !
Deploy Node.JS + PostgreSQL
$ pwd
~/my-nodejs-project
# Github, Bitbucket, Gitlab seamless authentication
$ qovery auth
Opening your browser, waiting for your authentication...
Authentication successful!
# Wizard to generate .qovery.yml
$ qovery init
# Git commit and push your code
$ git add .qovery.yml
$ git commit -m "add .qovery.yml file"
$ git push -u origin master
# App deployed!
Deploy Node.JS + PostgreSQL
$ qovery status
Environment
branch status endpoints applications databases brokers storage
master up and running https://xxx-main-gtw.qovery.io 1 1 0 0
Applications
name status endpoint databases brokers storage
backend-api up and running https://xxx.qovery.io 1 0 0
Databases
name status type version endpoint port username password application
my-pql up and running POSTGRESQL 11.5 xxx.eu-west-3.rds.amazonaws.com 5432 superuser ****** backend-api
application:
name: backend-api
project: my-nodejs-project
cloud_region: aws/eu-west-3
publicly_accessible: true
# required databases
databases:
- type: postgresql
version: "11.5"
name: my-pql
# one endpoint can target multiple applications
# here there is only one
routers:
- name: main
routes:
- application_name: backend-api
paths:
- /*
FROM node:13-alpine
# copy source to docker image
COPY . .
# download dependencies
RUN npm install
# application listen on port 3000
EXPOSE 3000
# run node
CMD node ./bin/www
Mandatory files
.qovery.yml
Dockerfile
//...
// PostgreSQL
const pool = new Pool({
connectionString: process.env.QOVERY_DATABASE_MY_PQL_CONNECTION_URI
});
// simple common NodeJS app
app.get('/', function (req, res, next) {
//...
});
app.get('/users', function (req, res, next) {
//...
});
Connect to PostgreSQL from Node.JS
Use environment variable !
Support most popular databases
application:
name: backend-api
project: my-nodejs-project
cloud_region: aws/eu-west-3
publicly_accessible: true
databases:
- type: postgresql
version: "11.5"
name: my-pql
- type: redis
version: "5.0"
name: my-redis
routers:
- name: main
routes:
- application_name: backend-api
paths:
- /*
.qovery.yml
AWS
Designed for microservices
Better teamwork (isolated environments)
git checkout master
git checkout -b staging
git push -u origin staging
# staging environment created
git checkout -b feat_1
git push -u origin feat_1
# feat_1 environment created
Mirror your production traffic to any environment (Shadowing)