SlideShare a Scribd company logo
1 of 72
1
Florent Rivoire
DevOps engineer
Team « Instances » (previously "Compute")
Aime le vélo, les poissons rouges et « Plus Belle La
Vie S5E17» (en VOST seulement !)
A toujours rêvé de rencontrer M. Propre en vrai !
2
3
Start my
instance
« website » Instance
running
Inside the cloud
4
Inside Instances’ control plane
5
Lots of components communicating
6
Including 1000s of hypervisors & VMs
HV
HV
VMs
VMs
HV VMs
…...
7
A lot of messages to route
HV
HV
VMs
VMs
HV VMs
…...
8
Client-side
Web

console
Web

console
APIs
Client-side Instances control plane
Web

console
APIs
Client-side Instances control plane
DBs
& auth
Web

console
APIs
Worker
dispatcher
Client-side Instances control plane
DBs
& auth
Web

console
APIs
Worker
dispatcher
Client-side Instances control plane
DBs
& auth
Start instance XYZ
Web

console
APIs
Worker
dispatcher
Client-side Instances control plane
DBs
& auth
Start instance XYZ
Queuing 101
14
• Asynchronous processing

→ « instant » API response
• Decoupling of components (smaller)

→ maintainability, testing
• Allow scaling each layer independently

→ performance, monitoring
Our queuing stack
15
Celery RabbitMQ
Python lib Daemon (erlang)
opensource opensource
RabbitMQ, overview
16
• message broker
• accepts, stores and forwards messages
• « like a post office »
RabbitMQ, overview
17
node
RabbitMQ
cluster
Producer ConsumerMessage Messages
Messages sorted
in « queues »
Celery
18
• async task queue model
• similar to RPC : run a function (task) on a remote worker
• based on distributed message passing (like RabbitMQ)
• can create complex tasks graph

(sequential and/or parallel tasks, error callback, retry, etc.)
Web

console
APIs
Worker
dispatcher
Client-side Instances control plane
DBs
& auth
Start instance XYZ
Worker "dispatcher"
20
• Handling allocation of instances, orchestration of tasks
• 1 logical worker
• but several "physical" copies (for HA and scaling)
• processing one « big » pool of tasks for the whole AZ
→ simple queuing: 1 queue « dispatcher »
[import+config of celery]
celery.start()
@celery.task()
def poweron_server(server_id, model):
physical_node = allocate(model)
    prepare(server_id, physical_node)
———————————————————————————————————————————————
celery.send_task("poweron_server",
     kwargs={'server_id': 12345,
'model': 'GP1-S'}
)
21
Example: simple task
Worker side
API side
Web

console
APIs
Worker
dispatcher
Client-side Instances control plane
DBs
& auth
23
Web

console
APIs
Worker
dispatcher
Client-side Instances control plane Hypervisor A
Hypervisor B
DBs
& auth
24
Web

console
APIs
Worker
dispatcher
Client-side Instances control plane Hypervisor A
VMs
Volumes
VMs
Volumes
Hypervisor B
DBs
& auth
25
Web

console
APIs
Worker
dispatcher
Worker(s)
Client-side Instances control plane Hypervisor A
VMs
Volumes
Worker(s)
VMs
Volumes
Hypervisor B
DBs
& auth
26
Web

console
APIs
Worker
dispatcher
Worker(s)
Client-side Instances control plane Hypervisor A
VMs
Volumes
Worker(s)
VMs
Volumes
Hypervisor B
DBs
& auth
Hypervisor’s workers
27
• Two workers per hypervisor :
1. to manage volumes (local-storage)
2. to manage VMs (start, stop, etc.)
• processing only tasks related to this HV precisely
→ not so common routing pattern
28
Web

console
APIs
Worker
dispatcher
Worker(s)
Client-side Instances control plane Hypervisor A
VMs
Volumes
Worker(s)
VMs
Volumes
Hypervisor B
DBs
& auth
29
Web

console
APIs
Worker
dispatcher
Worker(s)
Client-side Instances control plane Hypervisor A
VMs
Volumes
Worker(s)
VMs
Volumes
Hypervisor B
DBs
& auth
30
Web

console
APIs
Worker
dispatcher
Worker(s)
Client-side Instances control plane Hypervisor A
VMs
Volumes
Worker(s)
VMs
Volumes
Hypervisor B
DBs
& auth
download

volume

5643
poweron
VM 431
31
Web

console
APIs
Worker
dispatcher
Worker(s)
Client-side Instances control plane Hypervisor A
VMs
Volumes
Worker(s)
VMs
Volumes
Hypervisor B
DBs
& auth
32
Web

console
APIs
Worker
dispatcher
Worker(s)
Client-side Instances control plane Hypervisor A
VMs
Volumes
Worker(s)
VMs
Volumes
Hypervisor B
DBs
& auth
RabbitMQ
33
Web

console
APIs
Worker
dispatcher
Worker(s)
Client-side Instances control plane Hypervisor A
VMs
Volumes
Worker(s)
VMs
Volumes
Hypervisor B
DBs
& auth
RabbitMQ
34
Cluster RabbitMQ
API & worker
dispatcher
RabbitMQ routing
35
Cluster RabbitMQ
API & worker
dispatcher
RabbitMQ routing
Worker
dispatcher
Worker
« vm » HV-A
Worker
« vm » HV-B
Worker
« storage » X
36
Queue
Queue
Queue
Cluster RabbitMQ
API & worker
dispatcher
RabbitMQ routing
Worker
dispatcher
Worker
« vm » HV-A
Worker
« vm » HV-B
Queue
Worker
« storage » X
37
Queue
Queue
Queue
Cluster RabbitMQ
API & worker
dispatcher
RabbitMQ routing to queues
Worker
dispatcher
Worker
« vm » HV-A
Worker

« vm » HV-B
? Queue
Worker
« storage » X
38
Which
worker ?
Which
cluster ?
dispatcher storagevm
Which
cluster ?
dispatcher
vm
53-11
Which
HV ?
Which
HV ?
Which
HV ?
Which
HV ?
Which
HV ?
53 54 55 53 54
11 12
vm
53-12
Queue
Value
Criteria
vm
54-98
98 99
vm
53-99
…. …. ….
Logical routing
tree
Routing challenge
39
• Need routing to proper destination
• Simple to use
• Reasonable speed (msg/seconds)
• But a lot of queues/connections :
- 1000s
- growing with nb of HVs
Our solution
40
Use RabbitMQ features at maximum :
• « bindings »: routing-rules
• « exchange »: router, not storing msg
To route Celery messages
41
Publish
Publish
Binding Binding
Exchange
B
Binding
Exchange
A
Binding
Binding
Exchange
C
Queue Y
Queue Z
Queue X
Cluster
RabbitMQ
M M M
M
M M
RabbitMQ, inside the cluster
42
Description Example
routing-key Scalar value (ASCII) celery-task [not used]
headers Key/value pairs
- daemon => storage

- cluster => 54

- hypervisor => 98
content_type Format of the body application/json
body
Free format

(never read by RabbitMQ)
{

id:  "1326d7f2-fc36-4271-…",

task: "download_volume",

kwargs: {volume_id: 56789,

verify_chksum: True}

}
RabbitMQ, message structure
RabbitMQ, binding
43
• 1 src exchange
• some condition:
- routing-key match
- one key/value match
• 1 target (exchange / queue)
Multiple bindings possible (« many to many »)
RabbitMQ, binding
44
• 1 src exchange
• some condition:
- routing-key match
- one key/value match
• 1 target (exchange / queue)
Multiple bindings possible (« many to many »)
Example :
• msg in exchange « global »
• if match:

- header « daemon »

- is equal to « dispatcher »
• route to queue « dispatcher »
45
Web

console
APIs
Worker
dispatcher
Worker(s)
Client-side Instances control plane Hypervisor A
VMs
Volumes
Worker(s)
VMs
Volumes
Hypervisor B
DBs
& auth
RabbitMQ
Code example
46
Using our "scw-routed-rpc" library
• simple wrapper around Celery
• simplify configuration of routing :
- exchanges
- bindings
- queues
[import+config of scw_routed_rpc]
scw_routed_rpc.send_task(
"download_volume",
    kwargs={'volume_id': 56789, 'verify_chksum': True},
    headers={
     'daemon': 'storage',
        'cluster_id': 54,
        'hypervisor_id': 98,
    },
)
47
Example: send a task
[import+config of scw_routed_rpc]
scw_routed_rpc.send_task(
"download_volume",
    kwargs={'volume_id': 56789, 'verify_chksum': True},
    headers={
     'daemon': 'storage',
        'cluster_id': 54,
        'hypervisor_id': 98,
    },
)
48
Example: send a task
[import+config of scw_routed_rpc]
scw_routed_rpc.start({'daemon': 'storage',
                   'cluster_id': 54,
                   'hypervisor_id': 98})
@scw_routed_rpc.task()
def download_volume(volume_id, verify_chksum):
transfer_file(volume_id)
    finalize_volume(volume_id, verify_chksum)
@scw_routed_rpc.task()
def upload_volume(volume_id, foo):
    [...]
49
Example: worker storage
[import+config of scw_routed_rpc]
scw_routed_rpc.start({'daemon': 'storage',
                   'cluster_id': 54,
                   'hypervisor_id': 98})
@scw_routed_rpc.task()
def download_volume(volume_id, verify_chksum):
transfer_file(volume_id)
    finalize_volume(volume_id, verify_chksum)
@scw_routed_rpc.task()
def upload_volume(volume_id, foo):
    [...]
50
Example: worker storage
51
Web

console
APIs
Worker
dispatcher
Worker(s)
Client-side Instances control plane Hypervisor A
VMs
Volumes
Worker(s)
VMs
Volumes
Hypervisor B
DBs
& auth
RabbitMQ
52
Queue
Queue
Queue
Cluster RabbitMQ
API & worker
dispatcher
RabbitMQ routing to queues
Worker
dispatcher
Worker
« vm » HV-A
Worker

« vm » HV-B
? Queue
Worker
« storage » X
53
Queue
Queue
Queue
Cluster RabbitMQ
API & worker
dispatcher
RabbitMQ routing to queues
Worker
dispatcher
Worker
« vm » HV-A
Worker

« vm » HV-B
Queue
Worker
« storage » X
54
Queue
Queue
Queue
Cluster RabbitMQ
API & worker
dispatcher
RabbitMQ routing to queues
Queue
55
storage-
54-98
storage-
54-99
dispatcher
Cluster RabbitMQ
RabbitMQ routing to queues
….
Queue
….
56
storage-
54-98
storage-
54-99
dispatcher
Cluster RabbitMQ
RabbitMQ routing to queues
….
Queue
….
Exch-
ange
global
57
storage-
54-98
storage-
54-99
dispatcher
Cluster RabbitMQ
RabbitMQ routing to queues
global storage
vm
….
daemon="dispatcher"
daemon="vm"
Exch-
ange
Queue
binding
….
daemon=
"storage"
58
storage-
54-98
storage-
54-99
dispatcher
Cluster RabbitMQ
RabbitMQ routing to queues
global storage
vm
….
daemon="dispatcher"
daemon="vm"
Exch-
ange
Queue
binding
….
daemon=
"storage"
59
Example
routing-key celery-task [not used]
headers
- daemon => storage

- cluster => 54

- hypervisor => 98
content_type application/json
body
{

id:  "1326d7f2-fc36-4271-…",

task: "download_volume",

kwargs: {volume_id: 56789,

verify_chksum: True}

}
RabbitMQ, message structure
60
storage-
54-98
storage-
54-99
dispatcher
Cluster RabbitMQ
RabbitMQ routing to queues
global storage
vm
….
daemon="dispatcher"
daemon="vm"
Exch-
ange
Queue
binding
….
daemon=
"storage"
61
storage-
54-98
storage-
54-99
dispatcher
Cluster RabbitMQ
RabbitMQ routing to queues
global storage
storage-
53
storage-
54
vm
….
daemon="dispatcher"
daemon="vm"
Exch-
ange
Queue
binding
….
daemon=
"storage"
cluster="53"
cluster="54"
62
Example
routing-key celery-task [not used]
headers
- daemon => storage

- cluster => 54

- hypervisor => 98
content_type application/json
body
{

id:  "1326d7f2-fc36-4271-…",

task: "download_volume",

kwargs: {volume_id: 56789,

verify_chksum: True}

}
RabbitMQ, message structure
63
storage-
54-98
storage-
54-99
dispatcher
Cluster RabbitMQ
RabbitMQ routing to queues
global storage
storage-
53
storage-
54
vm
….
daemon="dispatcher"
daemon="vm"
Exch-
ange
Queue
binding
….
daemon=
"storage"
cluster="53"
cluster="54"
64
storage-
54-98
storage-
54-99
dispatcher
Cluster RabbitMQ
RabbitMQ routing to queues
global storage
storage-
53
storage-
54
vm
….
daemon="dispatcher"
daemon="vm"
Exch-
ange
Queue
binding
….
daemon=
"storage"
cluster="53"
cluster="54"
hv="99"
hv="98"
65
Example
routing-key celery-task [not used]
headers
- daemon => storage

- cluster => 54

- hypervisor => 98
content_type application/json
body
{

id:  "1326d7f2-fc36-4271-…",

task: "download_volume",

kwargs: {volume_id: 56789,

verify_chksum: True}

}
RabbitMQ, message structure
66
storage-
54-98
storage-
54-99
dispatcher
Cluster RabbitMQ
RabbitMQ routing to queues
global storage
storage-
53
storage-
54
vm
….
daemon="dispatcher"
daemon="vm"
Exch-
ange
Queue
binding
….
daemon=
"storage"
cluster="53"
cluster="54"
hv="99"
hv="98"
67
Web

console
APIs
Worker
dispatcher
Worker(s)
Client-side Instances control plane Hypervisor A
VMs
Volumes
Worker(s)
VMs
Volumes
Hypervisor B
DBs
& auth
RabbitMQ
Experience (1)
68
• Tuning Celery parameters

→ nb of process, nb of tasks/process, prefetch, etc.
• Complex config (lib over-engineered at first)

→ feature removed: broadcast, namespace, versioning
• End2end tracing (1 API-call, N tasks)

→ generate a « req-id » on API

→ correlate all tasks with the req-id
Experience (2)
69
• Too many connections on RabbitMQ

→ enough RAM + proper limits (erlang process, file-
descriptors)
• High availability control-plane

→ clustering RabbitMQ, multiple copies of workers
• RabbitMQ management web interface

→ powerful, use it !!
Conclusion
70
+
MERCI
Suivez notre actualité, tutoriels inédits et infos cloud sur
Twitter et LinkedIn @Scaleway
71
Et retrouvez toutes les présentations du Scaleday sur Slideshare :
72

More Related Content

What's hot

クックパッドのLVSについて
クックパッドのLVSについてクックパッドのLVSについて
クックパッドのLVSについてSugawara Genki
 
Making Symofny shine with Varnish - SymfonyCon Madrid 2014
Making Symofny shine with Varnish - SymfonyCon Madrid 2014Making Symofny shine with Varnish - SymfonyCon Madrid 2014
Making Symofny shine with Varnish - SymfonyCon Madrid 2014Barel Barelon
 
Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...
Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...
Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...Ontico
 
Supporting Hyper-V 3.0 on Apache CloudStack
Supporting Hyper-V 3.0 on Apache CloudStackSupporting Hyper-V 3.0 on Apache CloudStack
Supporting Hyper-V 3.0 on Apache CloudStackDonal Lafferty
 
Kubernetes #4 volume & stateful set
Kubernetes #4   volume & stateful setKubernetes #4   volume & stateful set
Kubernetes #4 volume & stateful setTerry Cho
 
Terraform Immutablish Infrastructure with Consul-Template
Terraform Immutablish Infrastructure with Consul-TemplateTerraform Immutablish Infrastructure with Consul-Template
Terraform Immutablish Infrastructure with Consul-TemplateZane Williamson
 
How we used ruby to build locaweb's cloud (http://presentations.pothix.com/ru...
How we used ruby to build locaweb's cloud (http://presentations.pothix.com/ru...How we used ruby to build locaweb's cloud (http://presentations.pothix.com/ru...
How we used ruby to build locaweb's cloud (http://presentations.pothix.com/ru...Willian Molinari
 
Node.js streaming csv downloads proxy
Node.js streaming csv downloads proxyNode.js streaming csv downloads proxy
Node.js streaming csv downloads proxyIsmael Celis
 
Streams are Awesome - (Node.js) TimesOpen Sep 2012
Streams are Awesome - (Node.js) TimesOpen Sep 2012 Streams are Awesome - (Node.js) TimesOpen Sep 2012
Streams are Awesome - (Node.js) TimesOpen Sep 2012 Tom Croucher
 
Mасштабирование микросервисов на Go, Matt Heath (Hailo)
Mасштабирование микросервисов на Go, Matt Heath (Hailo)Mасштабирование микросервисов на Go, Matt Heath (Hailo)
Mасштабирование микросервисов на Go, Matt Heath (Hailo)Ontico
 
Caching/Expiring in Rails
Caching/Expiring in RailsCaching/Expiring in Rails
Caching/Expiring in Railscdechauri
 
Setting up your Multi Engine Environment - Apache Railo and ColdFusion
Setting up your Multi Engine Environment - Apache Railo and ColdFusionSetting up your Multi Engine Environment - Apache Railo and ColdFusion
Setting up your Multi Engine Environment - Apache Railo and ColdFusionGavin Pickin
 
How to stay sane during your Vagrant journey
How to stay sane during your Vagrant journeyHow to stay sane during your Vagrant journey
How to stay sane during your Vagrant journeyJakub Wadolowski
 
Caching with varnish
Caching with varnishCaching with varnish
Caching with varnish90kts
 
Autoscaled Distributed Automation Expedia Know How
Autoscaled Distributed Automation Expedia Know HowAutoscaled Distributed Automation Expedia Know How
Autoscaled Distributed Automation Expedia Know Howaragavan
 
Bootstrapping multidc observability stack
Bootstrapping multidc observability stackBootstrapping multidc observability stack
Bootstrapping multidc observability stackBram Vogelaar
 
Umleitung: a tiny mochiweb/CouchDB app
Umleitung: a tiny mochiweb/CouchDB appUmleitung: a tiny mochiweb/CouchDB app
Umleitung: a tiny mochiweb/CouchDB appLenz Gschwendtner
 
Puppet and the HashiStack
Puppet and the HashiStackPuppet and the HashiStack
Puppet and the HashiStackBram Vogelaar
 

What's hot (20)

クックパッドのLVSについて
クックパッドのLVSについてクックパッドのLVSについて
クックパッドのLVSについて
 
Making Symofny shine with Varnish - SymfonyCon Madrid 2014
Making Symofny shine with Varnish - SymfonyCon Madrid 2014Making Symofny shine with Varnish - SymfonyCon Madrid 2014
Making Symofny shine with Varnish - SymfonyCon Madrid 2014
 
Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...
Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...
Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...
 
Supporting Hyper-V 3.0 on Apache CloudStack
Supporting Hyper-V 3.0 on Apache CloudStackSupporting Hyper-V 3.0 on Apache CloudStack
Supporting Hyper-V 3.0 on Apache CloudStack
 
Kubernetes #4 volume & stateful set
Kubernetes #4   volume & stateful setKubernetes #4   volume & stateful set
Kubernetes #4 volume & stateful set
 
Terraform Immutablish Infrastructure with Consul-Template
Terraform Immutablish Infrastructure with Consul-TemplateTerraform Immutablish Infrastructure with Consul-Template
Terraform Immutablish Infrastructure with Consul-Template
 
How we used ruby to build locaweb's cloud (http://presentations.pothix.com/ru...
How we used ruby to build locaweb's cloud (http://presentations.pothix.com/ru...How we used ruby to build locaweb's cloud (http://presentations.pothix.com/ru...
How we used ruby to build locaweb's cloud (http://presentations.pothix.com/ru...
 
Varnish 4 cool features
Varnish 4 cool featuresVarnish 4 cool features
Varnish 4 cool features
 
Node.js streaming csv downloads proxy
Node.js streaming csv downloads proxyNode.js streaming csv downloads proxy
Node.js streaming csv downloads proxy
 
Streams are Awesome - (Node.js) TimesOpen Sep 2012
Streams are Awesome - (Node.js) TimesOpen Sep 2012 Streams are Awesome - (Node.js) TimesOpen Sep 2012
Streams are Awesome - (Node.js) TimesOpen Sep 2012
 
Mасштабирование микросервисов на Go, Matt Heath (Hailo)
Mасштабирование микросервисов на Go, Matt Heath (Hailo)Mасштабирование микросервисов на Go, Matt Heath (Hailo)
Mасштабирование микросервисов на Go, Matt Heath (Hailo)
 
(Re)discover your AEM
(Re)discover your AEM(Re)discover your AEM
(Re)discover your AEM
 
Caching/Expiring in Rails
Caching/Expiring in RailsCaching/Expiring in Rails
Caching/Expiring in Rails
 
Setting up your Multi Engine Environment - Apache Railo and ColdFusion
Setting up your Multi Engine Environment - Apache Railo and ColdFusionSetting up your Multi Engine Environment - Apache Railo and ColdFusion
Setting up your Multi Engine Environment - Apache Railo and ColdFusion
 
How to stay sane during your Vagrant journey
How to stay sane during your Vagrant journeyHow to stay sane during your Vagrant journey
How to stay sane during your Vagrant journey
 
Caching with varnish
Caching with varnishCaching with varnish
Caching with varnish
 
Autoscaled Distributed Automation Expedia Know How
Autoscaled Distributed Automation Expedia Know HowAutoscaled Distributed Automation Expedia Know How
Autoscaled Distributed Automation Expedia Know How
 
Bootstrapping multidc observability stack
Bootstrapping multidc observability stackBootstrapping multidc observability stack
Bootstrapping multidc observability stack
 
Umleitung: a tiny mochiweb/CouchDB app
Umleitung: a tiny mochiweb/CouchDB appUmleitung: a tiny mochiweb/CouchDB app
Umleitung: a tiny mochiweb/CouchDB app
 
Puppet and the HashiStack
Puppet and the HashiStackPuppet and the HashiStack
Puppet and the HashiStack
 

Similar to Routage à grande échelle des requêtes via RabbitMQ

Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...Amazon Web Services
 
Deployment with Ansible Tower, management with Scalr
Deployment with Ansible Tower, management with ScalrDeployment with Ansible Tower, management with Scalr
Deployment with Ansible Tower, management with ScalrSzymon Kędzierski
 
Next Generation DevOps in Drupal: DrupalCamp London 2014
Next Generation DevOps in Drupal: DrupalCamp London 2014Next Generation DevOps in Drupal: DrupalCamp London 2014
Next Generation DevOps in Drupal: DrupalCamp London 2014Barney Hanlon
 
Moving to Containers: Building with Docker and Amazon ECS - CON310 - re:Inven...
Moving to Containers: Building with Docker and Amazon ECS - CON310 - re:Inven...Moving to Containers: Building with Docker and Amazon ECS - CON310 - re:Inven...
Moving to Containers: Building with Docker and Amazon ECS - CON310 - re:Inven...Amazon Web Services
 
Virtualization Manager 5.0 – Now with Hyper-V Support!
Virtualization Manager 5.0 – Now with Hyper-V Support!Virtualization Manager 5.0 – Now with Hyper-V Support!
Virtualization Manager 5.0 – Now with Hyper-V Support!SolarWinds
 
Evolution of a cloud start up: From C# to Node.js
Evolution of a cloud start up: From C# to Node.jsEvolution of a cloud start up: From C# to Node.js
Evolution of a cloud start up: From C# to Node.jsSteve Jamieson
 
Simplifying Hyper-V Management for VMware Administrators
Simplifying Hyper-V Management for VMware AdministratorsSimplifying Hyper-V Management for VMware Administrators
Simplifying Hyper-V Management for VMware Administrators5nine
 
Node.js kubernetes-cloud all the buzzwords coming together with microsoft azure
Node.js kubernetes-cloud all the buzzwords coming together with microsoft azureNode.js kubernetes-cloud all the buzzwords coming together with microsoft azure
Node.js kubernetes-cloud all the buzzwords coming together with microsoft azurePatriek van Dorp
 
VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...
VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...
VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...VMworld
 
The Challenges of Becoming Cloud Native
The Challenges of Becoming Cloud NativeThe Challenges of Becoming Cloud Native
The Challenges of Becoming Cloud NativeBen Hall
 
Vert.X and MSA - DevOps
Vert.X and MSA - DevOpsVert.X and MSA - DevOps
Vert.X and MSA - DevOpsYongHyuk Lee
 
Using Apache as an Application Server
Using Apache as an Application ServerUsing Apache as an Application Server
Using Apache as an Application ServerPhil Windley
 
Mutating Admission Webhook creation
Mutating Admission Webhook creationMutating Admission Webhook creation
Mutating Admission Webhook creationVictor Morales
 
LF_OVS_17_OvS manipulation with Go at DigitalOcean
LF_OVS_17_OvS manipulation with Go at DigitalOceanLF_OVS_17_OvS manipulation with Go at DigitalOcean
LF_OVS_17_OvS manipulation with Go at DigitalOceanLF_OpenvSwitch
 
The Good Parts / The Hard Parts
The Good Parts / The Hard PartsThe Good Parts / The Hard Parts
The Good Parts / The Hard PartsNoah Zoschke
 
Meeyup aws-loadbalancing-28032015
Meeyup aws-loadbalancing-28032015Meeyup aws-loadbalancing-28032015
Meeyup aws-loadbalancing-28032015Jhalak Modi
 
Windows 與 Azure 的容器旅程 @ Skilltree Day
Windows 與 Azure 的容器旅程 @ Skilltree DayWindows 與 Azure 的容器旅程 @ Skilltree Day
Windows 與 Azure 的容器旅程 @ Skilltree DayJeff Chu
 

Similar to Routage à grande échelle des requêtes via RabbitMQ (20)

Serverless Microservices
Serverless MicroservicesServerless Microservices
Serverless Microservices
 
How Flipkart scales PHP
How Flipkart scales PHPHow Flipkart scales PHP
How Flipkart scales PHP
 
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
Deployment with Ansible Tower, management with Scalr
Deployment with Ansible Tower, management with ScalrDeployment with Ansible Tower, management with Scalr
Deployment with Ansible Tower, management with Scalr
 
Next Generation DevOps in Drupal: DrupalCamp London 2014
Next Generation DevOps in Drupal: DrupalCamp London 2014Next Generation DevOps in Drupal: DrupalCamp London 2014
Next Generation DevOps in Drupal: DrupalCamp London 2014
 
Moving to Containers: Building with Docker and Amazon ECS - CON310 - re:Inven...
Moving to Containers: Building with Docker and Amazon ECS - CON310 - re:Inven...Moving to Containers: Building with Docker and Amazon ECS - CON310 - re:Inven...
Moving to Containers: Building with Docker and Amazon ECS - CON310 - re:Inven...
 
Virtualization Manager 5.0 – Now with Hyper-V Support!
Virtualization Manager 5.0 – Now with Hyper-V Support!Virtualization Manager 5.0 – Now with Hyper-V Support!
Virtualization Manager 5.0 – Now with Hyper-V Support!
 
Evolution of a cloud start up: From C# to Node.js
Evolution of a cloud start up: From C# to Node.jsEvolution of a cloud start up: From C# to Node.js
Evolution of a cloud start up: From C# to Node.js
 
Simplifying Hyper-V Management for VMware Administrators
Simplifying Hyper-V Management for VMware AdministratorsSimplifying Hyper-V Management for VMware Administrators
Simplifying Hyper-V Management for VMware Administrators
 
Node.js kubernetes-cloud all the buzzwords coming together with microsoft azure
Node.js kubernetes-cloud all the buzzwords coming together with microsoft azureNode.js kubernetes-cloud all the buzzwords coming together with microsoft azure
Node.js kubernetes-cloud all the buzzwords coming together with microsoft azure
 
VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...
VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...
VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...
 
The Challenges of Becoming Cloud Native
The Challenges of Becoming Cloud NativeThe Challenges of Becoming Cloud Native
The Challenges of Becoming Cloud Native
 
Vert.X and MSA - DevOps
Vert.X and MSA - DevOpsVert.X and MSA - DevOps
Vert.X and MSA - DevOps
 
Using Apache as an Application Server
Using Apache as an Application ServerUsing Apache as an Application Server
Using Apache as an Application Server
 
Mutating Admission Webhook creation
Mutating Admission Webhook creationMutating Admission Webhook creation
Mutating Admission Webhook creation
 
LF_OVS_17_OvS manipulation with Go at DigitalOcean
LF_OVS_17_OvS manipulation with Go at DigitalOceanLF_OVS_17_OvS manipulation with Go at DigitalOcean
LF_OVS_17_OvS manipulation with Go at DigitalOcean
 
The Good Parts / The Hard Parts
The Good Parts / The Hard PartsThe Good Parts / The Hard Parts
The Good Parts / The Hard Parts
 
Meeyup aws-loadbalancing-28032015
Meeyup aws-loadbalancing-28032015Meeyup aws-loadbalancing-28032015
Meeyup aws-loadbalancing-28032015
 
Windows 與 Azure 的容器旅程 @ Skilltree Day
Windows 與 Azure 的容器旅程 @ Skilltree DayWindows 與 Azure 的容器旅程 @ Skilltree Day
Windows 與 Azure 的容器旅程 @ Skilltree Day
 

More from Scaleway

Entreprises : découvrez les briques essentielles d’une solution IoT
Entreprises : découvrez les briques essentielles d’une solution IoTEntreprises : découvrez les briques essentielles d’une solution IoT
Entreprises : découvrez les briques essentielles d’une solution IoTScaleway
 
Understand, verify, and act on the security of your Kubernetes clusters - Sca...
Understand, verify, and act on the security of your Kubernetes clusters - Sca...Understand, verify, and act on the security of your Kubernetes clusters - Sca...
Understand, verify, and act on the security of your Kubernetes clusters - Sca...Scaleway
 
Éditeurs d'applications mobiles : augmentez la résolution des photos de vos c...
Éditeurs d'applications mobiles : augmentez la résolution des photos de vos c...Éditeurs d'applications mobiles : augmentez la résolution des photos de vos c...
Éditeurs d'applications mobiles : augmentez la résolution des photos de vos c...Scaleway
 
Discover the benefits of Kubernetes to host a SaaS solution
Discover the benefits of Kubernetes to host a SaaS solutionDiscover the benefits of Kubernetes to host a SaaS solution
Discover the benefits of Kubernetes to host a SaaS solutionScaleway
 
6 winning strategies for agil SaaS editors
6 winning strategies for agil SaaS editors6 winning strategies for agil SaaS editors
6 winning strategies for agil SaaS editorsScaleway
 
Webinar - Relying on Bare Metal to manage your workloads
Webinar - Relying on Bare Metal to manage your workloadsWebinar - Relying on Bare Metal to manage your workloads
Webinar - Relying on Bare Metal to manage your workloadsScaleway
 
Webinaire du 09/04/20 - S'appuyer sur du Bare Metal pour gérer ses pics de ch...
Webinaire du 09/04/20 - S'appuyer sur du Bare Metal pour gérer ses pics de ch...Webinaire du 09/04/20 - S'appuyer sur du Bare Metal pour gérer ses pics de ch...
Webinaire du 09/04/20 - S'appuyer sur du Bare Metal pour gérer ses pics de ch...Scaleway
 
Scaleway Approach to VXLAN EVPN Fabric
Scaleway Approach to VXLAN EVPN FabricScaleway Approach to VXLAN EVPN Fabric
Scaleway Approach to VXLAN EVPN FabricScaleway
 
Workshop IoT Hub : Pilotez une ampoule connectée
Workshop IoT Hub : Pilotez une ampoule connectéeWorkshop IoT Hub : Pilotez une ampoule connectée
Workshop IoT Hub : Pilotez une ampoule connectéeScaleway
 
Why and how we proxy our IoT broker connections
 Why and how we proxy our IoT broker connections Why and how we proxy our IoT broker connections
Why and how we proxy our IoT broker connectionsScaleway
 
From local servers up to Kubernetes in the cloud
From local servers up to Kubernetes in the cloudFrom local servers up to Kubernetes in the cloud
From local servers up to Kubernetes in the cloudScaleway
 
L’évolution des serveurs dédiés vers le Bare Metal et les instances : comm...
L’évolution des serveurs dédiés vers le Bare Metal et les instances : comm...L’évolution des serveurs dédiés vers le Bare Metal et les instances : comm...
L’évolution des serveurs dédiés vers le Bare Metal et les instances : comm...Scaleway
 
L’IA, booster de votre activité : principes, usages & idéation
L’IA, booster de votre activité : principes, usages & idéationL’IA, booster de votre activité : principes, usages & idéation
L’IA, booster de votre activité : principes, usages & idéationScaleway
 
Comment automatiser le déploiement de sa plateforme sur des infrastructures ...
Comment automatiser le déploiement de sa plateforme sur des infrastructures ...Comment automatiser le déploiement de sa plateforme sur des infrastructures ...
Comment automatiser le déploiement de sa plateforme sur des infrastructures ...Scaleway
 
Serverless
ServerlessServerless
ServerlessScaleway
 
Migrating the Online’s console with Docker
Migrating the Online’s console with DockerMigrating the Online’s console with Docker
Migrating the Online’s console with DockerScaleway
 
Instances Behind the Scene: What happen when you click on «create a new insta...
Instances Behind the Scene: What happen when you click on «create a new insta...Instances Behind the Scene: What happen when you click on «create a new insta...
Instances Behind the Scene: What happen when you click on «create a new insta...Scaleway
 
Demystifying IoT : Bringing the cloud to connected devices with IoT Station
Demystifying IoT : Bringing the cloud to connected devices with IoT StationDemystifying IoT : Bringing the cloud to connected devices with IoT Station
Demystifying IoT : Bringing the cloud to connected devices with IoT StationScaleway
 
L’odyssée d’une requête HTTP chez Scaleway
L’odyssée d’une requête HTTP chez ScalewayL’odyssée d’une requête HTTP chez Scaleway
L’odyssée d’une requête HTTP chez ScalewayScaleway
 
Network & Filesystem: Doing less cross rings memory copy
Network & Filesystem: Doing less cross rings memory copyNetwork & Filesystem: Doing less cross rings memory copy
Network & Filesystem: Doing less cross rings memory copyScaleway
 

More from Scaleway (20)

Entreprises : découvrez les briques essentielles d’une solution IoT
Entreprises : découvrez les briques essentielles d’une solution IoTEntreprises : découvrez les briques essentielles d’une solution IoT
Entreprises : découvrez les briques essentielles d’une solution IoT
 
Understand, verify, and act on the security of your Kubernetes clusters - Sca...
Understand, verify, and act on the security of your Kubernetes clusters - Sca...Understand, verify, and act on the security of your Kubernetes clusters - Sca...
Understand, verify, and act on the security of your Kubernetes clusters - Sca...
 
Éditeurs d'applications mobiles : augmentez la résolution des photos de vos c...
Éditeurs d'applications mobiles : augmentez la résolution des photos de vos c...Éditeurs d'applications mobiles : augmentez la résolution des photos de vos c...
Éditeurs d'applications mobiles : augmentez la résolution des photos de vos c...
 
Discover the benefits of Kubernetes to host a SaaS solution
Discover the benefits of Kubernetes to host a SaaS solutionDiscover the benefits of Kubernetes to host a SaaS solution
Discover the benefits of Kubernetes to host a SaaS solution
 
6 winning strategies for agil SaaS editors
6 winning strategies for agil SaaS editors6 winning strategies for agil SaaS editors
6 winning strategies for agil SaaS editors
 
Webinar - Relying on Bare Metal to manage your workloads
Webinar - Relying on Bare Metal to manage your workloadsWebinar - Relying on Bare Metal to manage your workloads
Webinar - Relying on Bare Metal to manage your workloads
 
Webinaire du 09/04/20 - S'appuyer sur du Bare Metal pour gérer ses pics de ch...
Webinaire du 09/04/20 - S'appuyer sur du Bare Metal pour gérer ses pics de ch...Webinaire du 09/04/20 - S'appuyer sur du Bare Metal pour gérer ses pics de ch...
Webinaire du 09/04/20 - S'appuyer sur du Bare Metal pour gérer ses pics de ch...
 
Scaleway Approach to VXLAN EVPN Fabric
Scaleway Approach to VXLAN EVPN FabricScaleway Approach to VXLAN EVPN Fabric
Scaleway Approach to VXLAN EVPN Fabric
 
Workshop IoT Hub : Pilotez une ampoule connectée
Workshop IoT Hub : Pilotez une ampoule connectéeWorkshop IoT Hub : Pilotez une ampoule connectée
Workshop IoT Hub : Pilotez une ampoule connectée
 
Why and how we proxy our IoT broker connections
 Why and how we proxy our IoT broker connections Why and how we proxy our IoT broker connections
Why and how we proxy our IoT broker connections
 
From local servers up to Kubernetes in the cloud
From local servers up to Kubernetes in the cloudFrom local servers up to Kubernetes in the cloud
From local servers up to Kubernetes in the cloud
 
L’évolution des serveurs dédiés vers le Bare Metal et les instances : comm...
L’évolution des serveurs dédiés vers le Bare Metal et les instances : comm...L’évolution des serveurs dédiés vers le Bare Metal et les instances : comm...
L’évolution des serveurs dédiés vers le Bare Metal et les instances : comm...
 
L’IA, booster de votre activité : principes, usages & idéation
L’IA, booster de votre activité : principes, usages & idéationL’IA, booster de votre activité : principes, usages & idéation
L’IA, booster de votre activité : principes, usages & idéation
 
Comment automatiser le déploiement de sa plateforme sur des infrastructures ...
Comment automatiser le déploiement de sa plateforme sur des infrastructures ...Comment automatiser le déploiement de sa plateforme sur des infrastructures ...
Comment automatiser le déploiement de sa plateforme sur des infrastructures ...
 
Serverless
ServerlessServerless
Serverless
 
Migrating the Online’s console with Docker
Migrating the Online’s console with DockerMigrating the Online’s console with Docker
Migrating the Online’s console with Docker
 
Instances Behind the Scene: What happen when you click on «create a new insta...
Instances Behind the Scene: What happen when you click on «create a new insta...Instances Behind the Scene: What happen when you click on «create a new insta...
Instances Behind the Scene: What happen when you click on «create a new insta...
 
Demystifying IoT : Bringing the cloud to connected devices with IoT Station
Demystifying IoT : Bringing the cloud to connected devices with IoT StationDemystifying IoT : Bringing the cloud to connected devices with IoT Station
Demystifying IoT : Bringing the cloud to connected devices with IoT Station
 
L’odyssée d’une requête HTTP chez Scaleway
L’odyssée d’une requête HTTP chez ScalewayL’odyssée d’une requête HTTP chez Scaleway
L’odyssée d’une requête HTTP chez Scaleway
 
Network & Filesystem: Doing less cross rings memory copy
Network & Filesystem: Doing less cross rings memory copyNetwork & Filesystem: Doing less cross rings memory copy
Network & Filesystem: Doing less cross rings memory copy
 

Recently uploaded

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 

Recently uploaded (20)

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 

Routage à grande échelle des requêtes via RabbitMQ