diff --git a/docker-compose.yaml b/docker-compose.yaml
index 562f0aad173d4d87bb7d750299e270663cd9c99e..e2170ea2b9236ba1db8c015fcbee9c7a6dbc9a0d 100644
--- a/docker-compose.yaml
+++ b/docker-compose.yaml
@@ -13,7 +13,7 @@ services:
       - "3600:80"
 
   server-john:
-    build: /.
+    build: ./
     links:
       - redis
     expose:
@@ -23,7 +23,7 @@ services:
       - PORT=3600
 
   server-paul:
-    build: /.
+    build: ./
     links:
       - redis
     expose:
@@ -33,7 +33,7 @@ services:
       - PORT=3600
 
   server-george:
-    build: /.
+    build: ./
     links:
       - redis
     expose:
@@ -43,7 +43,7 @@ services:
       - PORT=3600
 
   server-ringo:
-    build: /.
+    build: ./
     links:
       - redis
     expose:
diff --git a/nginx/nginx.conf b/nginx/nginx.conf
index 66bde13413de065566b73996b07a858c437ab349..07382dfb52a6967717dbc266556b98f3214a6ab7 100644
--- a/nginx/nginx.conf
+++ b/nginx/nginx.conf
@@ -25,7 +25,8 @@ http {
 
   upstream nodes {
     # enable sticky session with either "hash" (uses the complete IP address)
-    hash $remote_addr consistent;
+    #hash $remote_addr consistent;
+    least_conn;
     # or "ip_hash" (uses the first three octets of the client IPv4 address, or the entire IPv6 address)
     # ip_hash;
     # or "sticky" (needs commercial subscription)
diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json
index 524372699ca92620d7a95fa1148d1975e098494a..8b82e8ed573330198455561e834633a3b1ef493d 100644
--- a/node_modules/.package-lock.json
+++ b/node_modules/.package-lock.json
@@ -1125,6 +1125,54 @@
             "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
             "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
         },
+        "node_modules/@socket.io/redis-adapter": {
+            "version": "8.0.0",
+            "resolved": "https://registry.npmjs.org/@socket.io/redis-adapter/-/redis-adapter-8.0.0.tgz",
+            "integrity": "sha512-CbXmsl90xVK/H7aITNKJsa4RcmaYByezDOf8EBGj9LdEoblQTJZGvH67kuoIM2aalzSdUf0Lk00XPVs8DujTNw==",
+            "dependencies": {
+                "debug": "~4.3.1",
+                "notepack.io": "~3.0.1",
+                "socket.io-adapter": "^2.4.0",
+                "uid2": "1.0.0"
+            },
+            "engines": {
+                "node": ">=10.0.0"
+            }
+        },
+        "node_modules/@socket.io/redis-adapter/node_modules/debug": {
+            "version": "4.3.4",
+            "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+            "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+            "dependencies": {
+                "ms": "2.1.2"
+            },
+            "engines": {
+                "node": ">=6.0"
+            },
+            "peerDependenciesMeta": {
+                "supports-color": {
+                    "optional": true
+                }
+            }
+        },
+        "node_modules/@socket.io/redis-adapter/node_modules/ms": {
+            "version": "2.1.2",
+            "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+            "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+        },
+        "node_modules/@socket.io/redis-adapter/node_modules/notepack.io": {
+            "version": "3.0.1",
+            "resolved": "https://registry.npmjs.org/notepack.io/-/notepack.io-3.0.1.tgz",
+            "integrity": "sha512-TKC/8zH5pXIAMVQio2TvVDTtPRX+DJPHDqjRbxogtFiByHyzKmy96RA0JtCQJ+WouyyL4A10xomQzgbUT+1jCg=="
+        },
+        "node_modules/@socket.io/redis-adapter/node_modules/uid2": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/uid2/-/uid2-1.0.0.tgz",
+            "integrity": "sha512-+I6aJUv63YAcY9n4mQreLUt0d4lvwkkopDNmpomkAUz0fAkEMV9pRWxN0EjhW1YfRhcuyHg2v3mwddCDW1+LFQ==",
+            "engines": {
+                "node": ">= 4.0.0"
+            }
+        },
         "node_modules/@types/cookie": {
             "version": "0.4.1",
             "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
@@ -1787,6 +1835,19 @@
             "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
             "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
         },
+        "node_modules/fsevents": {
+            "version": "2.3.2",
+            "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+            "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+            "hasInstallScript": true,
+            "optional": true,
+            "os": [
+                "darwin"
+            ],
+            "engines": {
+                "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+            }
+        },
         "node_modules/function-bind": {
             "version": "1.1.1",
             "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
diff --git a/package-lock.json b/package-lock.json
index bf257e19d0f13ec69c155891ab7fb46d609015f2..d5504cc148b66d9365c02d74da3f272a6ce203b2 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,6 +8,7 @@
             "name": "socket-chat-example",
             "version": "0.0.1",
             "dependencies": {
+                "@socket.io/redis-adapter": "^8.0.0",
                 "bcrypt": "^5.1.0",
                 "body-parser": "^1.20.1",
                 "dotenv": "^16.0.3",
@@ -1145,6 +1146,54 @@
             "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
             "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
         },
+        "node_modules/@socket.io/redis-adapter": {
+            "version": "8.0.0",
+            "resolved": "https://registry.npmjs.org/@socket.io/redis-adapter/-/redis-adapter-8.0.0.tgz",
+            "integrity": "sha512-CbXmsl90xVK/H7aITNKJsa4RcmaYByezDOf8EBGj9LdEoblQTJZGvH67kuoIM2aalzSdUf0Lk00XPVs8DujTNw==",
+            "dependencies": {
+                "debug": "~4.3.1",
+                "notepack.io": "~3.0.1",
+                "socket.io-adapter": "^2.4.0",
+                "uid2": "1.0.0"
+            },
+            "engines": {
+                "node": ">=10.0.0"
+            }
+        },
+        "node_modules/@socket.io/redis-adapter/node_modules/debug": {
+            "version": "4.3.4",
+            "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+            "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+            "dependencies": {
+                "ms": "2.1.2"
+            },
+            "engines": {
+                "node": ">=6.0"
+            },
+            "peerDependenciesMeta": {
+                "supports-color": {
+                    "optional": true
+                }
+            }
+        },
+        "node_modules/@socket.io/redis-adapter/node_modules/ms": {
+            "version": "2.1.2",
+            "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+            "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+        },
+        "node_modules/@socket.io/redis-adapter/node_modules/notepack.io": {
+            "version": "3.0.1",
+            "resolved": "https://registry.npmjs.org/notepack.io/-/notepack.io-3.0.1.tgz",
+            "integrity": "sha512-TKC/8zH5pXIAMVQio2TvVDTtPRX+DJPHDqjRbxogtFiByHyzKmy96RA0JtCQJ+WouyyL4A10xomQzgbUT+1jCg=="
+        },
+        "node_modules/@socket.io/redis-adapter/node_modules/uid2": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/uid2/-/uid2-1.0.0.tgz",
+            "integrity": "sha512-+I6aJUv63YAcY9n4mQreLUt0d4lvwkkopDNmpomkAUz0fAkEMV9pRWxN0EjhW1YfRhcuyHg2v3mwddCDW1+LFQ==",
+            "engines": {
+                "node": ">= 4.0.0"
+            }
+        },
         "node_modules/@types/cookie": {
             "version": "0.4.1",
             "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
@@ -4298,6 +4347,42 @@
             "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
             "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
         },
+        "@socket.io/redis-adapter": {
+            "version": "8.0.0",
+            "resolved": "https://registry.npmjs.org/@socket.io/redis-adapter/-/redis-adapter-8.0.0.tgz",
+            "integrity": "sha512-CbXmsl90xVK/H7aITNKJsa4RcmaYByezDOf8EBGj9LdEoblQTJZGvH67kuoIM2aalzSdUf0Lk00XPVs8DujTNw==",
+            "requires": {
+                "debug": "~4.3.1",
+                "notepack.io": "~3.0.1",
+                "socket.io-adapter": "^2.4.0",
+                "uid2": "1.0.0"
+            },
+            "dependencies": {
+                "debug": {
+                    "version": "4.3.4",
+                    "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+                    "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+                    "requires": {
+                        "ms": "2.1.2"
+                    }
+                },
+                "ms": {
+                    "version": "2.1.2",
+                    "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+                    "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+                },
+                "notepack.io": {
+                    "version": "3.0.1",
+                    "resolved": "https://registry.npmjs.org/notepack.io/-/notepack.io-3.0.1.tgz",
+                    "integrity": "sha512-TKC/8zH5pXIAMVQio2TvVDTtPRX+DJPHDqjRbxogtFiByHyzKmy96RA0JtCQJ+WouyyL4A10xomQzgbUT+1jCg=="
+                },
+                "uid2": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npmjs.org/uid2/-/uid2-1.0.0.tgz",
+                    "integrity": "sha512-+I6aJUv63YAcY9n4mQreLUt0d4lvwkkopDNmpomkAUz0fAkEMV9pRWxN0EjhW1YfRhcuyHg2v3mwddCDW1+LFQ=="
+                }
+            }
+        },
         "@types/cookie": {
             "version": "0.4.1",
             "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
diff --git a/package.json b/package.json
index 378b8c263508acaf583d2454c1441e242e5b6c9e..b2df36f50d51ae0ac5e7015935586c8b665130cb 100644
--- a/package.json
+++ b/package.json
@@ -6,6 +6,7 @@
         "start": "nodemon app.js"
     },
     "dependencies": {
+        "@socket.io/redis-adapter": "^8.0.0",
         "bcrypt": "^5.1.0",
         "body-parser": "^1.20.1",
         "dotenv": "^16.0.3",
diff --git "a/presentation_diagrams_documents/Exercise 2/~$Pr\303\244sentation_Exercise2.pptx" "b/presentation_diagrams_documents/Exercise 2/~$Pr\303\244sentation_Exercise2.pptx"
deleted file mode 100644
index b4f912b92f7ede24746c2746e43f4d10d75d8329..0000000000000000000000000000000000000000
Binary files "a/presentation_diagrams_documents/Exercise 2/~$Pr\303\244sentation_Exercise2.pptx" and /dev/null differ
diff --git a/prometheus/cloud_computing.code-workspace b/prometheus/cloud_computing.code-workspace
new file mode 100644
index 0000000000000000000000000000000000000000..bab1b7f616b360395e747dbbcd59ebadc307ad61
--- /dev/null
+++ b/prometheus/cloud_computing.code-workspace
@@ -0,0 +1,8 @@
+{
+	"folders": [
+		{
+			"path": ".."
+		}
+	],
+	"settings": {}
+}
\ No newline at end of file
diff --git a/prometheus/prometheus.yml b/prometheus/prometheus.yml
index 456c99ac819a01175de770235c065d797a4680b6..a2af07fa9f2cb9981cf6e5388a843575ea3edb32 100644
--- a/prometheus/prometheus.yml
+++ b/prometheus/prometheus.yml
@@ -14,7 +14,7 @@ scrape_configs:
     scrape_interval: 5s
     # scheme: https
     static_configs:
-      - targets: ['192.168.2.34:5000']
+      - targets: ['134.103.204.143:5000']
 
 # Node-exporter
   - job_name: 'node-exporter'
@@ -22,7 +22,7 @@ scrape_configs:
     scrape_interval: 5s
     # scheme: https
     static_configs:
-      - targets: ['192.168.2.34:9100']
+      - targets: ['134.103.204.143:9100']
   
 # MongoDB-exporter
   - job_name: 'mongodb-exporter'
@@ -30,4 +30,4 @@ scrape_configs:
     scrape_interval: 5s
      #scheme: https
     static_configs:
-      - targets: ['192.168.2.34:9216']
\ No newline at end of file
+      - targets: ['134.103.204.143:9216']
\ No newline at end of file