SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
How The Qovery Deployment Engine


Written in Rust 🦀 Works




-


Follow us @Qovery_ -
I am CEO 👨💼 and developer👨💻 struct Pro
fi
le<'a> {

name: &'a str,

age: u8,

job_position: &'a str,

company: &'a str,

skills: &’a Vec<&’a str>,

}

fn main() {

let pro
fi
le = Pro
fi
le {

name: "Romaric Philogene",

age: 33,

job_position: "CEO & Co-founder",

company: "Qovery",

skills: &vec![

"Kotlin",

"Rust",

"Python",

"Infrastructure",

],

};

print!("{} greets you 👋", pro
fi
le.name);

}
Agenda 🧑🏫
- What is Qovery


- How The Qovery Engine (🦀) works


- How To Get Started With Rust


- Q&A
Qovery turns app deployment on AWS a breeze
25 000+ developers from more than 100+ countries


deploy their apps with Qovery
Beyond application deployment 🚀
BUILD DEPLOY RUN SCALE
How Qovery Engine Works 🙆
App deployment
fl
ow
QOVERY


ENGINE
APP
QOVERY


CONTROL
PLANE
GITHUB /
GITLAB
User AWS account
Qovery infrastructure
Outside
Git Commit


and Push
WEB


CONSOLE
USER
QOVERY


AGENT
WebHooks gRPC
Cloud


API
REST


API
Application deployment - Qovery infrastructure view
GITHUB /
GITLAB
MATCH


DEPLOYMENT


RULE
MATCH


APPS
Send
deployment
requests to


Qovery
Engines
Webhook
Qovery infrastructure
MATCH


QOVERY


ENGINE(S)
Control plane
Match apps -> git repo URL + branch


Deployment rule -> should I deploy or not?
Application deployment - user AWS account view
Qovery Engine POD
Pull
deployment
request from
control plane
AWS
…
Qovery namespace
Kubernetes (EKS)
Qovery Agent
App namespace
INGRESS
SERVICE
LOAD


BALANCER
VPC
RDS
…
https://github.com/Qovery/engine
Show Me The Rust 🦀
Application deployment - Qovery Engine view
Qovery Engine Lib
Qovery Engine Runtime
https://github.com/Qovery/engine
BUILD CONTAINER
PUSH CONTAINER
DEPLOY CONTAINER
Transaction
Binaries
DOCKER
BUILDPACKS
TERRAFORM
HELM
Qovery Engine Container
AWS API
Qovery Engine - State Machine 1/2
https://github.com/Qovery/engine
CREATE


KUBERNETES


CLUSTER
CREATE


ACLs
CREATE


LOAD


BALANCERS
CREATE


VPC
BUILD


CONTAINER
DEPLOY


DATABASE
PUSH


CONTAINER
…
1 2 3 4
5 6 7 N
Qovery Engine - State Machine 2/2
https://github.com/Qovery/engine
👋 Execution
starts here
Qovery Engine - Transaction
https://github.com/Qovery/engine
Step 3 - deploy


Application
Step 2 - deploy
database
….
Step 1 - create


Kubernetes
FIFO
Enqueue
Dequeue
First to
execute
Qovery Engine - Error Handling
https://github.com/Qovery/engine
Step 3 - deploy


Application
Step 2 - deploy
database
….
Step 1 - create


Kubernetes
LIFO
Unstack
Stack
First to
execute
Tada - app deployed!
Conclusion - Why Rust?
- Service Availability: powerful type system preventing remote
runtime outages


- Low footprint: Qovery runs on the infrastructure of our
customer, we need to have something very low memory and
CPU usage.


- Cool language and perfect to hire curious engineers 😄
How to get started with Rust? 🤔
Synchronize your cloud databases
and hide sensitive data 🛡
https://github.com/Qovery/replibyte
THANKS 👏


QUESTIONS?
Speaker: Romaric -
romaric@qovery.com


@Qovery_


We are hiring


jobs.qovery.com
GET YOUR GOODIES ON shop.qovery.com


PROMO CODE: —<hidden>—
Announcing: Qovery Edge 🎉
Kesako Qovery Edge
- Lightweight Qovery 🍃


- Qovery Edge runs on a single node instance 👌


- Deploying container applications anywhere 🌍

Mais conteúdo relacionado

Semelhante a Rust Meetup - How the Qovery Engine written in Rust works

Developing and Deploying PHP with Docker
Developing and Deploying PHP with DockerDeveloping and Deploying PHP with Docker
Developing and Deploying PHP with Docker
Patrick Mizer
 
Plack perl superglue for web frameworks and servers
Plack perl superglue for web frameworks and serversPlack perl superglue for web frameworks and servers
Plack perl superglue for web frameworks and servers
Tatsuhiko Miyagawa
 

Semelhante a Rust Meetup - How the Qovery Engine written in Rust works (20)

Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트)
 Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트) Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트)
Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트)
 
Self Heal Your OpenStack Control Plane!
Self Heal Your OpenStack Control Plane!Self Heal Your OpenStack Control Plane!
Self Heal Your OpenStack Control Plane!
 
Developing and Deploying PHP with Docker
Developing and Deploying PHP with DockerDeveloping and Deploying PHP with Docker
Developing and Deploying PHP with Docker
 
2016 - Easing Your Way Into Docker: Lessons From a Journey to Production
2016 - Easing Your Way Into Docker: Lessons From a Journey to Production2016 - Easing Your Way Into Docker: Lessons From a Journey to Production
2016 - Easing Your Way Into Docker: Lessons From a Journey to Production
 
AWS Summit Santa Slara 2019 Mar ECS
AWS Summit Santa Slara 2019 Mar ECSAWS Summit Santa Slara 2019 Mar ECS
AWS Summit Santa Slara 2019 Mar ECS
 
Kubernetes or OpenShift - choosing your container platform for Dev and Ops
Kubernetes or OpenShift - choosing your container platform for Dev and OpsKubernetes or OpenShift - choosing your container platform for Dev and Ops
Kubernetes or OpenShift - choosing your container platform for Dev and Ops
 
Minimum Viable Docker: our journey towards orchestration
Minimum Viable Docker: our journey towards orchestrationMinimum Viable Docker: our journey towards orchestration
Minimum Viable Docker: our journey towards orchestration
 
Plack perl superglue for web frameworks and servers
Plack perl superglue for web frameworks and serversPlack perl superglue for web frameworks and servers
Plack perl superglue for web frameworks and servers
 
Deploying Web Apps with PaaS and Docker Tools
Deploying Web Apps with PaaS and Docker ToolsDeploying Web Apps with PaaS and Docker Tools
Deploying Web Apps with PaaS and Docker Tools
 
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, OrchestrationThe Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
 
AbarCloud Overview
AbarCloud OverviewAbarCloud Overview
AbarCloud Overview
 
The Big Cloud native FaaS Lebowski
The Big Cloud native FaaS LebowskiThe Big Cloud native FaaS Lebowski
The Big Cloud native FaaS Lebowski
 
Getting Started with Amazon ECS: Run Docker Containers on AWS
Getting Started with Amazon ECS: Run Docker Containers on AWSGetting Started with Amazon ECS: Run Docker Containers on AWS
Getting Started with Amazon ECS: Run Docker Containers on AWS
 
Effective Platform Building with Kubernetes. Is K8S new Linux?
Effective Platform Building with Kubernetes. Is K8S new Linux?Effective Platform Building with Kubernetes. Is K8S new Linux?
Effective Platform Building with Kubernetes. Is K8S new Linux?
 
Serverless Pune meetup 3
Serverless Pune meetup 3Serverless Pune meetup 3
Serverless Pune meetup 3
 
Set up a Development Environment in 5 Minutes
Set up a Development Environment in 5 MinutesSet up a Development Environment in 5 Minutes
Set up a Development Environment in 5 Minutes
 
Effective Building your Platform with Kubernetes == Keep it Simple
Effective Building your Platform with Kubernetes == Keep it Simple Effective Building your Platform with Kubernetes == Keep it Simple
Effective Building your Platform with Kubernetes == Keep it Simple
 
Getting Started with ECS: An Easy Way to Run Docker Containers - AWS Summit A...
Getting Started with ECS: An Easy Way to Run Docker Containers - AWS Summit A...Getting Started with ECS: An Easy Way to Run Docker Containers - AWS Summit A...
Getting Started with ECS: An Easy Way to Run Docker Containers - AWS Summit A...
 
CI Provisioning with OpenStack - Gidi Samuels - OpenStack Day Israel 2016
CI Provisioning with OpenStack - Gidi Samuels - OpenStack Day Israel 2016CI Provisioning with OpenStack - Gidi Samuels - OpenStack Day Israel 2016
CI Provisioning with OpenStack - Gidi Samuels - OpenStack Day Israel 2016
 
Deploying R for Production - SRUG
Deploying R for Production - SRUGDeploying R for Production - SRUG
Deploying R for Production - SRUG
 

Último

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 

Último (20)

WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 

Rust Meetup - How the Qovery Engine written in Rust works

  • 1. How The Qovery Deployment Engine Written in Rust 🦀 Works 
 
 - 
 Follow us @Qovery_ -
  • 2. I am CEO 👨💼 and developer👨💻 struct Pro fi le<'a> { name: &'a str, age: u8, job_position: &'a str, company: &'a str, skills: &’a Vec<&’a str>, } fn main() { let pro fi le = Pro fi le { name: "Romaric Philogene", age: 33, job_position: "CEO & Co-founder", company: "Qovery", skills: &vec![ "Kotlin", "Rust", "Python", "Infrastructure", ], }; print!("{} greets you 👋", pro fi le.name); }
  • 3. Agenda 🧑🏫 - What is Qovery - How The Qovery Engine (🦀) works - How To Get Started With Rust - Q&A
  • 4. Qovery turns app deployment on AWS a breeze
  • 5. 25 000+ developers from more than 100+ countries deploy their apps with Qovery
  • 6. Beyond application deployment 🚀 BUILD DEPLOY RUN SCALE
  • 7. How Qovery Engine Works 🙆
  • 8. App deployment fl ow QOVERY ENGINE APP QOVERY CONTROL PLANE GITHUB / GITLAB User AWS account Qovery infrastructure Outside Git Commit and Push WEB CONSOLE USER QOVERY AGENT WebHooks gRPC Cloud API REST API
  • 9. Application deployment - Qovery infrastructure view GITHUB / GITLAB MATCH DEPLOYMENT RULE MATCH APPS Send deployment requests to Qovery Engines Webhook Qovery infrastructure MATCH QOVERY ENGINE(S) Control plane Match apps -> git repo URL + branch Deployment rule -> should I deploy or not?
  • 10. Application deployment - user AWS account view Qovery Engine POD Pull deployment request from control plane AWS … Qovery namespace Kubernetes (EKS) Qovery Agent App namespace INGRESS SERVICE LOAD BALANCER VPC RDS … https://github.com/Qovery/engine
  • 11. Show Me The Rust 🦀
  • 12. Application deployment - Qovery Engine view Qovery Engine Lib Qovery Engine Runtime https://github.com/Qovery/engine BUILD CONTAINER PUSH CONTAINER DEPLOY CONTAINER Transaction Binaries DOCKER BUILDPACKS TERRAFORM HELM Qovery Engine Container AWS API
  • 13. Qovery Engine - State Machine 1/2 https://github.com/Qovery/engine CREATE KUBERNETES CLUSTER CREATE ACLs CREATE LOAD BALANCERS CREATE VPC BUILD CONTAINER DEPLOY DATABASE PUSH CONTAINER … 1 2 3 4 5 6 7 N
  • 14. Qovery Engine - State Machine 2/2 https://github.com/Qovery/engine 👋 Execution starts here
  • 15. Qovery Engine - Transaction https://github.com/Qovery/engine Step 3 - deploy Application Step 2 - deploy database …. Step 1 - create Kubernetes FIFO Enqueue Dequeue First to execute
  • 16. Qovery Engine - Error Handling https://github.com/Qovery/engine Step 3 - deploy Application Step 2 - deploy database …. Step 1 - create Kubernetes LIFO Unstack Stack First to execute
  • 17. Tada - app deployed!
  • 18. Conclusion - Why Rust? - Service Availability: powerful type system preventing remote runtime outages - Low footprint: Qovery runs on the infrastructure of our customer, we need to have something very low memory and CPU usage. - Cool language and perfect to hire curious engineers 😄
  • 19. How to get started with Rust? 🤔
  • 20. Synchronize your cloud databases and hide sensitive data 🛡 https://github.com/Qovery/replibyte
  • 21. THANKS 👏 QUESTIONS? Speaker: Romaric - romaric@qovery.com @Qovery_ We are hiring jobs.qovery.com GET YOUR GOODIES ON shop.qovery.com 
 PROMO CODE: —<hidden>—
  • 23. Kesako Qovery Edge - Lightweight Qovery 🍃 - Qovery Edge runs on a single node instance 👌 - Deploying container applications anywhere 🌍