From 9e9676c98c3f2aaf04c8287d0c6914ca117236de Mon Sep 17 00:00:00 2001
From: "Escalante Martinez, Marisa" <marisa.escalante@tecnalia.com>
Date: Thu, 16 May 2019 13:08:06 +0200
Subject: [PATCH] Upload a new DECIDE.json

---
 DECIDE.json | 1488 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 1488 insertions(+)
 create mode 100644 DECIDE.json

diff --git a/DECIDE.json b/DECIDE.json
new file mode 100644
index 00000000..d021e567
--- /dev/null
+++ b/DECIDE.json
@@ -0,0 +1,1488 @@
+{
+    "id": "73b023f0-6bf6-4084-bb17-e562f36dd16c",
+    "name": "SockShop",
+    "description": "A socks shop",
+    "version": "0.2.2-alpha",
+    "highTechnologicalRisk": false,
+    "consulJoinIp": "82.223.11.174",
+    "nfrs": [
+        {
+            "type": "Availability",
+            "tags": [
+                "Application"
+            ],
+            "abstractValue": "Medium",
+            "value": 80.0,
+            "unit": "percentage"
+        },
+        {
+            "type": "Performance",
+            "tags": [
+                "Application"
+            ],
+            "abstractValue": "Medium",
+            "value": 20.0,
+            "unit": "millisecond"
+        }
+    ],
+    "microservices": [
+        {
+            "id": "e5a4a10d-ce95-490a-9ce6-aee2a8846e8d",
+            "name": "Front end",
+            "classification": "Computing Public IP",
+            "stateful": false,
+            "programmingLanguage": "HTML",
+            "tags": [
+                "Application"
+            ],
+            "publicIP": true,
+            "endpoints": [
+                ""
+            ],
+            "detachableResources": [
+                {
+                    "id": "edb55ae1-2e8d-4beb-992e-e97b8f0011df",
+                    "name": "none",
+                    "db": false,
+                    "classification": "storage"
+                }
+            ]
+        },
+        {
+            "id": "b8b0207a-5e87-45d6-a071-212eb69b1708",
+            "name": "catalogue",
+            "classification": "Computing",
+            "stateful": false,
+            "programmingLanguage": "Go",
+            "tags": [
+                "Application"
+            ],
+            "publicIP": false,
+            "endpoints": [
+                ""
+            ],
+            "detachableResources": [
+                {
+                    "id": "4b8d3115-1103-4a1e-9d1c-304e9384993f",
+                    "name": "MySQL",
+                    "db": true,
+                    "sql": true,
+                    "classification": "db"
+                }
+            ]
+        },
+        {
+            "id": "91aa8048-8849-4760-a4cc-a47b25bd717a",
+            "name": "carts",
+            "classification": "Computing",
+            "stateful": false,
+            "programmingLanguage": "Java",
+            "tags": [
+                "Application"
+            ],
+            "publicIP": false,
+            "endpoints": [
+                ""
+            ],
+            "detachableResources": [
+                {
+                    "id": "afc60316-ce8b-41ac-ae4b-f4627f773860",
+                    "name": "Mongo",
+                    "db": true,
+                    "classification": "db"
+                }
+            ]
+        },
+        {
+            "id": "97d68120-9e7c-4b9c-b8c8-c7a4bfe067ed",
+            "name": "orders",
+            "classification": "Computing",
+            "stateful": false,
+            "programmingLanguage": "Java",
+            "tags": [
+                "Application"
+            ],
+            "publicIP": false,
+            "endpoints": [
+                ""
+            ],
+            "detachableResources": [
+                {
+                    "id": "2ae95c64-1156-4c88-8897-b879baa1348b",
+                    "name": "Mongo",
+                    "db": true,
+                    "classification": "db"
+                }
+            ]
+        },
+        {
+            "id": "6b8d6b05-ee2d-4ec8-b679-c37719513d0f",
+            "name": "payment",
+            "classification": "Computing",
+            "stateful": false,
+            "programmingLanguage": "Go",
+            "tags": [
+                "Application"
+            ],
+            "publicIP": false,
+            "endpoints": [
+                ""
+            ],
+            "detachableResources": [
+                {
+                    "id": "b63faa0e-cdc6-43cd-b3ee-d04a3829df04",
+                    "name": "none",
+                    "db": false,
+                    "classification": "storage"
+                }
+            ]
+        },
+        {
+            "id": "c3fb92ba-497e-4d06-b1d0-928b71c0c662",
+            "name": "queue-master",
+            "classification": "Computing",
+            "stateful": false,
+            "programmingLanguage": "Java",
+            "tags": [
+                "Application"
+            ],
+            "publicIP": false,
+            "endpoints": [
+                ""
+            ],
+            "detachableResources": [
+                {
+                    "id": "cb42120b-04fb-4c3b-9254-bb8d0017a723",
+                    "name": "RabbitMQ",
+                    "db": false,
+                    "classification": "queue system"
+                }
+            ]
+        },
+        {
+            "id": "bf9bc26a-ab23-423c-92e0-9cf898619b10",
+            "name": "shipping",
+            "classification": "Computing",
+            "stateful": false,
+            "programmingLanguage": "Java",
+            "tags": [
+                "Application"
+            ],
+            "publicIP": false,
+            "endpoints": [
+                ""
+            ],
+            "detachableResources": [
+                {
+                    "id": "4cb9cedb-40df-4a57-8e6a-f2aa5d4db1eb",
+                    "name": "none",
+                    "db": false,
+                    "classification": "storage"
+                }
+            ]
+        },
+        {
+            "id": "0c8deb9f-ffb6-4489-b416-e60532c67b1d",
+            "name": "user",
+            "classification": "Computing",
+            "stateful": false,
+            "programmingLanguage": "Go",
+            "tags": [
+                "Application"
+            ],
+            "publicIP": false,
+            "endpoints": [
+                ""
+            ],
+            "detachableResources": [
+                {
+                    "id": "bd2c3ec0-bc1e-4bd7-9c68-c945e23fcf87",
+                    "name": "Mongo",
+                    "db": true,
+                    "classification": "db"
+                }
+            ]
+        }
+    ],
+    "mcsla": {
+        "sla": {
+            "description": "SockShop Service Level Agreement",
+            "objectives": [
+                {
+                    "termName": "Availability",
+                    "type": "slo",
+                    "value": "80.0",
+                    "unit": "percentage",
+                    "conditionStatement": "greaterOrEqual",
+                    "metrics": [
+                        {
+                            "id": "CSA_AV_001",
+                            "descriptor": "Aggregation of microservices",
+                            "scale": "ratio",
+                            "expression": {
+                                "expression": "AVAILABILITY_AGGREGATION_SUMTYPE",
+                                "expressionLanguage": "predefined",
+                                "note": "availability(term<1>, ...term<n>) = 100% - (sum<i=1..n>(100% - term<i>))",
+                                "unit": "percentage"
+                            },
+                            "underlyingMetrics": [
+                                {
+                                    "id": "e5a4a10d-ce95-490a-9ce6-aee2a8846e8d",
+                                    "descriptor": "Availability based on meantime between failure and meantime between recovery",
+                                    "scale": "ratio",
+                                    "note": "Front end",
+                                    "expression": {
+                                        "expression": "AVAILABILITY_MTBFMTTR",
+                                        "expressionLanguage": "predefined",
+                                        "note": "100 * (MTBF/(MTBF + MTTR))",
+                                        "unit": "percentage"
+                                    }
+                                },
+                                {
+                                    "id": "b8b0207a-5e87-45d6-a071-212eb69b1708",
+                                    "descriptor": "Availability based on meantime between failure and meantime between recovery",
+                                    "scale": "ratio",
+                                    "note": "catalogue",
+                                    "expression": {
+                                        "expression": "AVAILABILITY_MTBFMTTR",
+                                        "expressionLanguage": "predefined",
+                                        "note": "100 * (MTBF/(MTBF + MTTR))",
+                                        "unit": "percentage"
+                                    }
+                                },
+                                {
+                                    "id": "91aa8048-8849-4760-a4cc-a47b25bd717a",
+                                    "descriptor": "Availability based on meantime between failure and meantime between recovery",
+                                    "scale": "ratio",
+                                    "note": "carts",
+                                    "expression": {
+                                        "expression": "AVAILABILITY_MTBFMTTR",
+                                        "expressionLanguage": "predefined",
+                                        "note": "100 * (MTBF/(MTBF + MTTR))",
+                                        "unit": "percentage"
+                                    }
+                                },
+                                {
+                                    "id": "97d68120-9e7c-4b9c-b8c8-c7a4bfe067ed",
+                                    "descriptor": "Availability based on meantime between failure and meantime between recovery",
+                                    "scale": "ratio",
+                                    "note": "orders",
+                                    "expression": {
+                                        "expression": "AVAILABILITY_MTBFMTTR",
+                                        "expressionLanguage": "predefined",
+                                        "note": "100 * (MTBF/(MTBF + MTTR))",
+                                        "unit": "percentage"
+                                    }
+                                },
+                                {
+                                    "id": "6b8d6b05-ee2d-4ec8-b679-c37719513d0f",
+                                    "descriptor": "Availability based on meantime between failure and meantime between recovery",
+                                    "scale": "ratio",
+                                    "note": "payment",
+                                    "expression": {
+                                        "expression": "AVAILABILITY_MTBFMTTR",
+                                        "expressionLanguage": "predefined",
+                                        "note": "100 * (MTBF/(MTBF + MTTR))",
+                                        "unit": "percentage"
+                                    }
+                                },
+                                {
+                                    "id": "c3fb92ba-497e-4d06-b1d0-928b71c0c662",
+                                    "descriptor": "Availability based on meantime between failure and meantime between recovery",
+                                    "scale": "ratio",
+                                    "note": "queue-master",
+                                    "expression": {
+                                        "expression": "AVAILABILITY_MTBFMTTR",
+                                        "expressionLanguage": "predefined",
+                                        "note": "100 * (MTBF/(MTBF + MTTR))",
+                                        "unit": "percentage"
+                                    }
+                                },
+                                {
+                                    "id": "bf9bc26a-ab23-423c-92e0-9cf898619b10",
+                                    "descriptor": "Availability based on meantime between failure and meantime between recovery",
+                                    "scale": "ratio",
+                                    "note": "shipping",
+                                    "expression": {
+                                        "expression": "AVAILABILITY_MTBFMTTR",
+                                        "expressionLanguage": "predefined",
+                                        "note": "100 * (MTBF/(MTBF + MTTR))",
+                                        "unit": "percentage"
+                                    }
+                                },
+                                {
+                                    "id": "0c8deb9f-ffb6-4489-b416-e60532c67b1d",
+                                    "descriptor": "Availability based on meantime between failure and meantime between recovery",
+                                    "scale": "ratio",
+                                    "note": "user",
+                                    "expression": {
+                                        "expression": "AVAILABILITY_MTBFMTTR",
+                                        "expressionLanguage": "predefined",
+                                        "note": "100 * (MTBF/(MTBF + MTTR))",
+                                        "unit": "percentage"
+                                    }
+                                }
+                            ]
+                        }
+                    ]
+                },
+                {
+                    "termName": "Performance",
+                    "type": "slo",
+                    "value": "20.0",
+                    "unit": "millisecond",
+                    "conditionStatement": "lessOrEqual",
+                    "metrics": [
+                        {
+                            "id": "CSA_PE_001",
+                            "descriptor": "Maximum response time for a request",
+                            "scale": "ratio",
+                            "expression": {
+                                "expression": "AGGREGATION_MAXTYPE",
+                                "expressionLanguage": "predefined",
+                                "note": "max(term<1>, ...term<n>)",
+                                "unit": "millisecond"
+                            },
+                            "underlyingMetrics": [
+                                {
+                                    "id": "e5a4a10d-ce95-490a-9ce6-aee2a8846e8d",
+                                    "scale": "ratio",
+                                    "note": "Front end",
+                                    "expression": {
+                                        "expression": "EMPTY",
+                                        "expressionLanguage": "predefined",
+                                        "unit": "millisecond"
+                                    }
+                                },
+                                {
+                                    "id": "b8b0207a-5e87-45d6-a071-212eb69b1708",
+                                    "scale": "ratio",
+                                    "note": "catalogue",
+                                    "expression": {
+                                        "expression": "EMPTY",
+                                        "expressionLanguage": "predefined",
+                                        "unit": "millisecond"
+                                    }
+                                },
+                                {
+                                    "id": "91aa8048-8849-4760-a4cc-a47b25bd717a",
+                                    "scale": "ratio",
+                                    "note": "carts",
+                                    "expression": {
+                                        "expression": "EMPTY",
+                                        "expressionLanguage": "predefined",
+                                        "unit": "millisecond"
+                                    }
+                                },
+                                {
+                                    "id": "97d68120-9e7c-4b9c-b8c8-c7a4bfe067ed",
+                                    "scale": "ratio",
+                                    "note": "orders",
+                                    "expression": {
+                                        "expression": "EMPTY",
+                                        "expressionLanguage": "predefined",
+                                        "unit": "millisecond"
+                                    }
+                                },
+                                {
+                                    "id": "6b8d6b05-ee2d-4ec8-b679-c37719513d0f",
+                                    "scale": "ratio",
+                                    "note": "payment",
+                                    "expression": {
+                                        "expression": "EMPTY",
+                                        "expressionLanguage": "predefined",
+                                        "unit": "millisecond"
+                                    }
+                                },
+                                {
+                                    "id": "c3fb92ba-497e-4d06-b1d0-928b71c0c662",
+                                    "scale": "ratio",
+                                    "note": "queue-master",
+                                    "expression": {
+                                        "expression": "EMPTY",
+                                        "expressionLanguage": "predefined",
+                                        "unit": "millisecond"
+                                    }
+                                },
+                                {
+                                    "id": "bf9bc26a-ab23-423c-92e0-9cf898619b10",
+                                    "scale": "ratio",
+                                    "note": "shipping",
+                                    "expression": {
+                                        "expression": "EMPTY",
+                                        "expressionLanguage": "predefined",
+                                        "unit": "millisecond"
+                                    }
+                                },
+                                {
+                                    "id": "0c8deb9f-ffb6-4489-b416-e60532c67b1d",
+                                    "scale": "ratio",
+                                    "note": "user",
+                                    "expression": {
+                                        "expression": "EMPTY",
+                                        "expressionLanguage": "predefined",
+                                        "unit": "millisecond"
+                                    }
+                                }
+                            ]
+                        }
+                    ]
+                }
+            ]
+        },
+        "csSlas": {
+            "16": {
+                "description": "m4.4xlarge",
+                "coveredServices": [
+                    "Virtual Machine"
+                ],
+                "objectives": [
+                    {
+                        "termName": "Region",
+                        "type": "sqo",
+                        "value": "Europe",
+                        "conditionStatement": "equal"
+                    },
+                    {
+                        "termName": "Zone",
+                        "type": "sqo",
+                        "value": "Spain",
+                        "conditionStatement": "equal"
+                    },
+                    {
+                        "termName": "Provider",
+                        "type": "sqo",
+                        "value": "Amazon",
+                        "conditionStatement": "equal"
+                    },
+                    {
+                        "termName": "Availability",
+                        "type": "slo",
+                        "value": "99.8",
+                        "unit": "percentage",
+                        "conditionStatement": "greaterOrEqual",
+                        "metrics": [
+                            {
+                                "id": "CS_16_001",
+                                "descriptor": "Uptime during a specific time period",
+                                "scale": "ratio",
+                                "expression": {
+                                    "expression": "AVAILABILITY_UPTIME_BC",
+                                    "expressionLanguage": "predefined",
+                                    "note": "100 - (billingCycle - totalDowntime)/billingCycle",
+                                    "unit": "percentage"
+                                }
+                            }
+                        ]
+                    },
+                    {
+                        "comment": "Response time: Virtual Machine Performance",
+                        "termName": "Performance",
+                        "type": "slo",
+                        "value": "2",
+                        "unit": "millisecond",
+                        "conditionStatement": "lessOrEqual",
+                        "metrics": [
+                            {
+                                "id": "CS_16_001",
+                                "descriptor": "Response time for a request",
+                                "scale": "interval",
+                                "expression": {
+                                    "expression": "EMPTY",
+                                    "expressionLanguage": "predefined",
+                                    "note": "delta(t)",
+                                    "unit": "millisecond"
+                                }
+                            }
+                        ]
+                    },
+                    {
+                        "comment": "Legal Level/Accreditations",
+                        "termName": "Legal Level",
+                        "type": "sqo",
+                        "value": "Legal Level 3",
+                        "conditionStatement": "equal"
+                    },
+                    {
+                        "termName": "Cost",
+                        "type": "slo",
+                        "value": "640",
+                        "unit": "euro",
+                        "conditionStatement": "less"
+                    }
+                ]
+            },
+            "18": {
+                "description": "c5.2xlarge",
+                "coveredServices": [
+                    "Virtual Machine"
+                ],
+                "objectives": [
+                    {
+                        "termName": "Region",
+                        "type": "sqo",
+                        "value": "North America",
+                        "conditionStatement": "equal"
+                    },
+                    {
+                        "termName": "Zone",
+                        "type": "sqo",
+                        "value": "Canada",
+                        "conditionStatement": "equal"
+                    },
+                    {
+                        "termName": "Provider",
+                        "type": "sqo",
+                        "value": "Amazon",
+                        "conditionStatement": "equal"
+                    },
+                    {
+                        "termName": "Availability",
+                        "type": "slo",
+                        "value": "99.4",
+                        "unit": "percentage",
+                        "conditionStatement": "greaterOrEqual",
+                        "metrics": [
+                            {
+                                "id": "CS_18_001",
+                                "descriptor": "Uptime during a specific time period",
+                                "scale": "ratio",
+                                "expression": {
+                                    "expression": "AVAILABILITY_UPTIME_BC",
+                                    "expressionLanguage": "predefined",
+                                    "note": "100 - (billingCycle - totalDowntime)/billingCycle",
+                                    "unit": "percentage"
+                                }
+                            }
+                        ]
+                    },
+                    {
+                        "comment": "Response time: Virtual Machine Performance",
+                        "termName": "Performance",
+                        "type": "slo",
+                        "value": "5",
+                        "unit": "millisecond",
+                        "conditionStatement": "lessOrEqual",
+                        "metrics": [
+                            {
+                                "id": "CS_18_001",
+                                "descriptor": "Response time for a request",
+                                "scale": "interval",
+                                "expression": {
+                                    "expression": "EMPTY",
+                                    "expressionLanguage": "predefined",
+                                    "note": "delta(t)",
+                                    "unit": "millisecond"
+                                }
+                            }
+                        ]
+                    },
+                    {
+                        "comment": "Legal Level/Accreditations",
+                        "termName": "Legal Level",
+                        "type": "sqo",
+                        "value": "Legal Level 3",
+                        "conditionStatement": "equal"
+                    },
+                    {
+                        "termName": "Cost",
+                        "type": "slo",
+                        "value": "268",
+                        "unit": "euro",
+                        "conditionStatement": "less"
+                    }
+                ]
+            },
+            "20": {
+                "description": "g3.8xlarge",
+                "coveredServices": [
+                    "Virtual Machine"
+                ],
+                "objectives": [
+                    {
+                        "termName": "Region",
+                        "type": "sqo",
+                        "value": "North America",
+                        "conditionStatement": "equal"
+                    },
+                    {
+                        "termName": "Zone",
+                        "type": "sqo",
+                        "value": "United States",
+                        "conditionStatement": "equal"
+                    },
+                    {
+                        "termName": "Provider",
+                        "type": "sqo",
+                        "value": "Amazon",
+                        "conditionStatement": "equal"
+                    },
+                    {
+                        "termName": "Availability",
+                        "type": "slo",
+                        "value": "99.8",
+                        "unit": "percentage",
+                        "conditionStatement": "greaterOrEqual",
+                        "metrics": [
+                            {
+                                "id": "CS_20_001",
+                                "descriptor": "Uptime during a specific time period",
+                                "scale": "ratio",
+                                "expression": {
+                                    "expression": "AVAILABILITY_UPTIME_BC",
+                                    "expressionLanguage": "predefined",
+                                    "note": "100 - (billingCycle - totalDowntime)/billingCycle",
+                                    "unit": "percentage"
+                                }
+                            }
+                        ]
+                    },
+                    {
+                        "comment": "Response time: Virtual Machine Performance",
+                        "termName": "Performance",
+                        "type": "slo",
+                        "value": "2",
+                        "unit": "millisecond",
+                        "conditionStatement": "lessOrEqual",
+                        "metrics": [
+                            {
+                                "id": "CS_20_001",
+                                "descriptor": "Response time for a request",
+                                "scale": "interval",
+                                "expression": {
+                                    "expression": "EMPTY",
+                                    "expressionLanguage": "predefined",
+                                    "note": "delta(t)",
+                                    "unit": "millisecond"
+                                }
+                            }
+                        ]
+                    },
+                    {
+                        "comment": "Legal Level/Accreditations",
+                        "termName": "Legal Level",
+                        "type": "sqo",
+                        "value": "Legal Level 2",
+                        "conditionStatement": "equal"
+                    },
+                    {
+                        "termName": "Cost",
+                        "type": "slo",
+                        "value": "2209",
+                        "unit": "euro",
+                        "conditionStatement": "less"
+                    }
+                ]
+            },
+            "21": {
+                "description": "p2.8xlarge",
+                "coveredServices": [
+                    "Virtual Machine"
+                ],
+                "objectives": [
+                    {
+                        "termName": "Region",
+                        "type": "sqo",
+                        "value": "Europe",
+                        "conditionStatement": "equal"
+                    },
+                    {
+                        "termName": "Zone",
+                        "type": "sqo",
+                        "value": "United Kingdom",
+                        "conditionStatement": "equal"
+                    },
+                    {
+                        "termName": "Provider",
+                        "type": "sqo",
+                        "value": "Amazon",
+                        "conditionStatement": "equal"
+                    },
+                    {
+                        "termName": "Availability",
+                        "type": "slo",
+                        "value": "99.9",
+                        "unit": "percentage",
+                        "conditionStatement": "greaterOrEqual",
+                        "metrics": [
+                            {
+                                "id": "CS_21_001",
+                                "descriptor": "Uptime during a specific time period",
+                                "scale": "ratio",
+                                "expression": {
+                                    "expression": "AVAILABILITY_UPTIME_BC",
+                                    "expressionLanguage": "predefined",
+                                    "note": "100 - (billingCycle - totalDowntime)/billingCycle",
+                                    "unit": "percentage"
+                                }
+                            }
+                        ]
+                    },
+                    {
+                        "comment": "Response time: Virtual Machine Performance",
+                        "termName": "Performance",
+                        "type": "slo",
+                        "value": "2",
+                        "unit": "millisecond",
+                        "conditionStatement": "lessOrEqual",
+                        "metrics": [
+                            {
+                                "id": "CS_21_001",
+                                "descriptor": "Response time for a request",
+                                "scale": "interval",
+                                "expression": {
+                                    "expression": "EMPTY",
+                                    "expressionLanguage": "predefined",
+                                    "note": "delta(t)",
+                                    "unit": "millisecond"
+                                }
+                            }
+                        ]
+                    },
+                    {
+                        "comment": "Legal Level/Accreditations",
+                        "termName": "Legal Level",
+                        "type": "sqo",
+                        "value": "Legal Level 1",
+                        "conditionStatement": "equal"
+                    },
+                    {
+                        "termName": "Cost",
+                        "type": "slo",
+                        "value": "5600",
+                        "unit": "euro",
+                        "conditionStatement": "less"
+                    }
+                ]
+            },
+            "23": {
+                "description": "x1e.4xlarge",
+                "coveredServices": [
+                    "Virtual Machine"
+                ],
+                "objectives": [
+                    {
+                        "termName": "Region",
+                        "type": "sqo",
+                        "value": "Europe",
+                        "conditionStatement": "equal"
+                    },
+                    {
+                        "termName": "Zone",
+                        "type": "sqo",
+                        "value": "Germany",
+                        "conditionStatement": "equal"
+                    },
+                    {
+                        "termName": "Provider",
+                        "type": "sqo",
+                        "value": "Amazon",
+                        "conditionStatement": "equal"
+                    },
+                    {
+                        "termName": "Availability",
+                        "type": "slo",
+                        "value": "99",
+                        "unit": "percentage",
+                        "conditionStatement": "greaterOrEqual",
+                        "metrics": [
+                            {
+                                "id": "CS_23_001",
+                                "descriptor": "Uptime during a specific time period",
+                                "scale": "ratio",
+                                "expression": {
+                                    "expression": "AVAILABILITY_UPTIME_BC",
+                                    "expressionLanguage": "predefined",
+                                    "note": "100 - (billingCycle - totalDowntime)/billingCycle",
+                                    "unit": "percentage"
+                                }
+                            }
+                        ]
+                    },
+                    {
+                        "comment": "Response time: Virtual Machine Performance",
+                        "termName": "Performance",
+                        "type": "slo",
+                        "value": "2",
+                        "unit": "millisecond",
+                        "conditionStatement": "lessOrEqual",
+                        "metrics": [
+                            {
+                                "id": "CS_23_001",
+                                "descriptor": "Response time for a request",
+                                "scale": "interval",
+                                "expression": {
+                                    "expression": "EMPTY",
+                                    "expressionLanguage": "predefined",
+                                    "note": "delta(t)",
+                                    "unit": "millisecond"
+                                }
+                            }
+                        ]
+                    },
+                    {
+                        "comment": "Legal Level/Accreditations",
+                        "termName": "Legal Level",
+                        "type": "sqo",
+                        "value": "Legal Level 2",
+                        "conditionStatement": "equal"
+                    },
+                    {
+                        "termName": "Cost",
+                        "type": "slo",
+                        "value": "3376",
+                        "unit": "euro",
+                        "conditionStatement": "less"
+                    }
+                ]
+            }
+        }
+    },
+    "recommendedPatterns": [
+        {
+            "title": "Service Registry",
+            "uriRef": "http://decideh2020.eu/resources/patterns/service-registry",
+            "categories": [
+                "http://decideh2020.eu/resources/patterncategories/basic"
+            ],
+            "selected": false
+        },
+        {
+            "title": "Two-Tier Cloud Application",
+            "uriRef": "http://decideh2020.eu/resources/patterns/two-tier-cloud-application",
+            "categories": [
+                "http://decideh2020.eu/resources/patterncategories/basic"
+            ],
+            "selected": false
+        },
+        {
+            "title": "Loose Coupling",
+            "uriRef": "http://decideh2020.eu/resources/patterns/loose-coupling",
+            "categories": [
+                "http://decideh2020.eu/resources/patterncategories/basic"
+            ],
+            "selected": false
+        },
+        {
+            "title": "Distributed Application",
+            "uriRef": "http://decideh2020.eu/resources/patterns/distributed-application",
+            "categories": [
+                "http://decideh2020.eu/resources/patterncategories/basic"
+            ],
+            "selected": false
+        },
+        {
+            "title": "Three-Tier Cloud Application",
+            "uriRef": "http://decideh2020.eu/resources/patterns/three-tier-cloud-application",
+            "categories": [
+                "http://decideh2020.eu/resources/patterncategories/basic"
+            ],
+            "selected": false
+        },
+        {
+            "title": "Managed Configuration",
+            "uriRef": "http://decideh2020.eu/resources/patterns/managed-configuration",
+            "categories": [
+                "http://decideh2020.eu/resources/patterncategories/basic"
+            ],
+            "selected": false
+        },
+        {
+            "title": "Containerization",
+            "uriRef": "http://decideh2020.eu/resources/patterns/containerization",
+            "categories": [
+                "http://decideh2020.eu/resources/patterncategories/basic"
+            ],
+            "selected": false
+        },
+        {
+            "title": "Service Registry",
+            "uriRef": "http://decideh2020.eu/resources/patterns/service-registry",
+            "categories": [
+                "http://decideh2020.eu/resources/patterncategories/basic"
+            ],
+            "selected": false
+        },
+        {
+            "title": "Two-Tier Cloud Application",
+            "uriRef": "http://decideh2020.eu/resources/patterns/two-tier-cloud-application",
+            "categories": [
+                "http://decideh2020.eu/resources/patterncategories/basic"
+            ],
+            "selected": false
+        },
+        {
+            "title": "Loose Coupling",
+            "uriRef": "http://decideh2020.eu/resources/patterns/loose-coupling",
+            "categories": [
+                "http://decideh2020.eu/resources/patterncategories/basic"
+            ],
+            "selected": false
+        },
+        {
+            "title": "Distributed Application",
+            "uriRef": "http://decideh2020.eu/resources/patterns/distributed-application",
+            "categories": [
+                "http://decideh2020.eu/resources/patterncategories/basic"
+            ],
+            "selected": false
+        },
+        {
+            "title": "Three-Tier Cloud Application",
+            "uriRef": "http://decideh2020.eu/resources/patterns/three-tier-cloud-application",
+            "categories": [
+                "http://decideh2020.eu/resources/patterncategories/basic"
+            ],
+            "selected": false
+        },
+        {
+            "title": "Managed Configuration",
+            "uriRef": "http://decideh2020.eu/resources/patterns/managed-configuration",
+            "categories": [
+                "http://decideh2020.eu/resources/patterncategories/basic"
+            ],
+            "selected": false
+        },
+        {
+            "title": "Containerization",
+            "uriRef": "http://decideh2020.eu/resources/patterns/containerization",
+            "categories": [
+                "http://decideh2020.eu/resources/patterncategories/basic"
+            ],
+            "selected": false
+        }
+    ],
+    "schema": [
+        {
+            "microservices": [
+                "e5a4a10d-ce95-490a-9ce6-aee2a8846e8d",
+                "edb55ae1-2e8d-4beb-992e-e97b8f0011df"
+            ],
+            "csId": "20",
+            "index": 0
+        },
+        {
+            "microservices": [
+                "91aa8048-8849-4760-a4cc-a47b25bd717a",
+                "afc60316-ce8b-41ac-ae4b-f4627f773860",
+                "bf9bc26a-ab23-423c-92e0-9cf898619b10",
+                "4cb9cedb-40df-4a57-8e6a-f2aa5d4db1eb",
+                "b8b0207a-5e87-45d6-a071-212eb69b1708",
+                "4b8d3115-1103-4a1e-9d1c-304e9384993f"
+            ],
+            "csId": "21",
+            "index": 1
+        },
+        {
+            "microservices": [
+                "c3fb92ba-497e-4d06-b1d0-928b71c0c662",
+                "cb42120b-04fb-4c3b-9254-bb8d0017a723",
+                "97d68120-9e7c-4b9c-b8c8-c7a4bfe067ed",
+                "2ae95c64-1156-4c88-8897-b879baa1348b"
+            ],
+            "csId": "23",
+            "index": 2
+        },
+        {
+            "microservices": [
+                "6b8d6b05-ee2d-4ec8-b679-c37719513d0f",
+                "b63faa0e-cdc6-43cd-b3ee-d04a3829df04"
+            ],
+            "csId": "16",
+            "index": 3
+        },
+        {
+            "microservices": [
+                "0c8deb9f-ffb6-4489-b416-e60532c67b1d",
+                "bd2c3ec0-bc1e-4bd7-9c68-c945e23fcf87"
+            ],
+            "csId": "18",
+            "index": 4
+        }
+    ],
+    "virtualMachines": [
+        {
+            "id": "20",
+            "cspName": "Amazon",
+            "cspId": "AMAZ",
+            "ram": 4,
+            "cores": 2,
+            "storage": 1,
+            "image": "Ubuntu 16.04",
+            "vmSoftwareId": "21b7ebed-5076-43b6-8351-0e06cf16eedc",
+            "vmResourceId": "05d76ee4-3b7e-4726-8ff3-eb24f667c70d",
+            "vmRegionId": "83dc7c1e-711c-4548-9a9e-128f9795cfed",
+            "instanceTypeId": "e3ca8e4c-0f91-4e83-9bd9-4cef88d054a8",
+            "keyPairId": "dbe5cc42-1f33-4ca4-b761-aec1c46a76fe",
+            "dockerPrivateRegistryIp": "82.223.3.19",
+            "dockerHostNodeName": "node-0",
+            "vmUser": "ubuntu",
+            "openedPort": "22,80,8000-9000,9411",
+            "dockerPrivateRegistryPort": "80",
+            "dockerHostPublicIp": "85.91.40.245"
+        },
+        {
+            "id": "21",
+            "cspName": "Amazon",
+            "cspId": "AMAZ",
+            "ram": 4,
+            "cores": 2,
+            "storage": 1,
+            "image": "Ubuntu 16.04",
+            "vmSoftwareId": "21b7ebed-5076-43b6-8351-0e06cf16eedc",
+            "vmResourceId": "05d76ee4-3b7e-4726-8ff3-eb24f667c70d",
+            "vmRegionId": "83dc7c1e-711c-4548-9a9e-128f9795cfed",
+            "instanceTypeId": "e3ca8e4c-0f91-4e83-9bd9-4cef88d054a8",
+            "keyPairId": "dbe5cc42-1f33-4ca4-b761-aec1c46a76fe",
+            "dockerPrivateRegistryIp": "82.223.3.19",
+            "dockerHostNodeName": "node-1",
+            "vmUser": "ubuntu",
+            "openedPort": "22,80,8000-9000,9411",
+            "dockerPrivateRegistryPort": "80",
+            "dockerHostPublicIp": "85.91.40.245"
+        },
+        {
+            "id": "23",
+            "cspName": "Amazon",
+            "cspId": "AMAZ",
+            "ram": 4,
+            "cores": 2,
+            "storage": 1,
+            "image": "Ubuntu 16.04",
+            "vmSoftwareId": "21b7ebed-5076-43b6-8351-0e06cf16eedc",
+            "vmResourceId": "05d76ee4-3b7e-4726-8ff3-eb24f667c70d",
+            "vmRegionId": "83dc7c1e-711c-4548-9a9e-128f9795cfed",
+            "instanceTypeId": "e3ca8e4c-0f91-4e83-9bd9-4cef88d054a8",
+            "keyPairId": "dbe5cc42-1f33-4ca4-b761-aec1c46a76fe",
+            "dockerPrivateRegistryIp": "82.223.3.19",
+            "dockerHostNodeName": "node-2",
+            "vmUser": "ubuntu",
+            "openedPort": "22,80,8000-9000,9411",
+            "dockerPrivateRegistryPort": "80",
+            "dockerHostPublicIp": "85.91.40.245"
+        },
+        {
+            "id": "16",
+            "cspName": "Amazon",
+            "cspId": "AMAZ",
+            "ram": 4,
+            "cores": 2,
+            "storage": 1,
+            "image": "Ubuntu 16.04",
+            "vmSoftwareId": "21b7ebed-5076-43b6-8351-0e06cf16eedc",
+            "vmResourceId": "05d76ee4-3b7e-4726-8ff3-eb24f667c70d",
+            "vmRegionId": "83dc7c1e-711c-4548-9a9e-128f9795cfed",
+            "instanceTypeId": "e3ca8e4c-0f91-4e83-9bd9-4cef88d054a8",
+            "keyPairId": "dbe5cc42-1f33-4ca4-b761-aec1c46a76fe",
+            "dockerPrivateRegistryIp": "82.223.3.19",
+            "dockerHostNodeName": "node-3",
+            "vmUser": "ubuntu",
+            "openedPort": "22,80,8000-9000,9411",
+            "dockerPrivateRegistryPort": "80",
+            "dockerHostPublicIp": "85.91.40.245"
+        },
+        {
+            "id": "18",
+            "cspName": "Amazon",
+            "cspId": "AMAZ",
+            "ram": 4,
+            "cores": 2,
+            "storage": 1,
+            "image": "Ubuntu 16.04",
+            "vmSoftwareId": "21b7ebed-5076-43b6-8351-0e06cf16eedc",
+            "vmResourceId": "05d76ee4-3b7e-4726-8ff3-eb24f667c70d",
+            "vmRegionId": "83dc7c1e-711c-4548-9a9e-128f9795cfed",
+            "instanceTypeId": "e3ca8e4c-0f91-4e83-9bd9-4cef88d054a8",
+            "keyPairId": "dbe5cc42-1f33-4ca4-b761-aec1c46a76fe",
+            "dockerPrivateRegistryIp": "82.223.3.19",
+            "dockerHostNodeName": "node-4",
+            "vmUser": "ubuntu",
+            "openedPort": "22,80,8000-9000,9411",
+            "dockerPrivateRegistryPort": "80",
+            "dockerHostPublicIp": "85.91.40.245"
+        }
+    ],
+    "containers": [
+        {
+            "imageName": "my-traefik",
+            "imageTag": "1",
+            "dockerPrivateRegistryIp": "82.223.3.19",
+            "dockerPrivateRegistryPort": 80,
+            "hostname": "front-end",
+            "restart": "always",
+            "command": [
+                "--consul",
+                "--consul.endpoint=82.223.11.174:8500",
+                "--consul.prefix=SockShop/traefik"
+            ],
+            "entrypoint": [
+                "traefik"
+            ],
+            "dockerHostNodeName": "node-0",
+            "consulKvProviderNodeName": "node-1",
+            "addConsulService": 1,
+            "consulServicePort": 80,
+            "addConsulTraefikRules": 0,
+            "portMapping": [
+                {
+                    "hostPort": "80",
+                    "containerPort": "80"
+                },
+                {
+                    "hostPort": "8082",
+                    "containerPort": "8082"
+                },
+                {
+                    "hostPort": "9411",
+                    "containerPort": "9411"
+                }
+            ],
+            "endpoints": [
+                {
+                    "protocol": "http",
+                    "port": 80
+                }
+            ],
+            "dockerPrivateRegistryPassword": "d3cid3",
+            "containerName": "traefik-private",
+            "dockerPrivateRegistryUser": "decide-user"
+        },
+        {
+            "imageName": "weaveworksdemos/front-end",
+            "imageTag": "latest",
+            "hostname": "front-end",
+            "restart": "always",
+            "dockerHostNodeName": "node-2",
+            "addConsulService": 1,
+            "consulServicePort": 8479,
+            "addConsulTraefikRules": 1,
+            "portMapping": [
+                {
+                    "hostPort": "8479",
+                    "containerPort": "8079"
+                }
+            ],
+            "endpoints": [
+                {
+                    "protocol": "http",
+                    "port": 8479,
+                    "skipRule": 1,
+                    "containerNameOverride": "shop-front-end"
+                }
+            ],
+            "containerName": "front-end",
+            "hostMapping": [
+                {
+                    "ip": "",
+                    "referencedContainerName": "traefik-private",
+                    "host": "catalogue"
+                },
+                {
+                    "ip": "",
+                    "referencedContainerName": "traefik-private",
+                    "host": "carts"
+                },
+                {
+                    "ip": "",
+                    "referencedContainerName": "traefik-private",
+                    "host": "user"
+                },
+                {
+                    "ip": "",
+                    "referencedContainerName": "zipkin",
+                    "host": "zipkin"
+                }
+            ]
+        },
+        {
+            "imageName": "weaveworksdemos/catalogue",
+            "imageTag": "latest",
+            "hostname": "catalogue",
+            "restart": "always",
+            "dockerHostNodeName": "node-1",
+            "networks": [
+                "catalogue-network"
+            ],
+            "environment": [
+                "ZIPKIN=http://TBD_zipkin-ip:8493/api/v1/spans"
+            ],
+            "consulKvProviderNodeName": "node-1",
+            "addConsulService": 1,
+            "consulServicePort": 8480,
+            "addConsulTraefikRules": 1,
+            "portMapping": [
+                {
+                    "hostPort": "8480",
+                    "containerPort": "80"
+                }
+            ],
+            "endpoints": [
+                {
+                    "protocol": "http",
+                    "port": 8480
+                }
+            ],
+            "containerName": "catalogue"
+        },
+        {
+            "imageName": "weaveworksdemos/catalogue-db",
+            "imageTag": "latest",
+            "hostname": "catalogue-db",
+            "restart": "always",
+            "dockerHostNodeName": "node-1",
+            "networks": [
+                "catalogue-network"
+            ],
+            "environment": [
+                "MYSQL_ROOT_PASSWORD=$${MYSQL_ROOT_PASSWORD}",
+                "MYSQL_ALLOW_EMPTY_PASSWORD=true",
+                "MYSQL_DATABASE=socksdb"
+            ],
+            "containerName": "catalogue-db"
+        },
+        {
+            "imageName": "weaveworksdemos/user-db",
+            "imageTag": "latest",
+            "hostname": "user-db",
+            "restart": "always",
+            "dockerHostNodeName": "node-4",
+            "networks": [
+                "user-network"
+            ],
+            "containerName": "user-db"
+        },
+        {
+            "imageName": "weaveworksdemos/user",
+            "imageTag": "latest",
+            "hostname": "user",
+            "restart": "always",
+            "dockerHostNodeName": "node-4",
+            "networks": [
+                "user-network"
+            ],
+            "environment": [
+                "MONGO_HOST=user-db:27017"
+            ],
+            "consulKvProviderNodeName": "node-1",
+            "addConsulService": 1,
+            "consulServicePort": 8485,
+            "addConsulTraefikRules": 1,
+            "portMapping": [
+                {
+                    "hostPort": "8485",
+                    "containerPort": "80"
+                }
+            ],
+            "endpoints": [
+                {
+                    "protocol": "http",
+                    "port": 8485
+                }
+            ],
+            "containerName": "user",
+            "hostMapping": [
+                {
+                    "ip": "",
+                    "referencedContainerName": "traefik-private",
+                    "host": "zipkin"
+                }
+            ]
+        },
+        {
+            "imageName": "mongo",
+            "imageTag": "latest",
+            "hostname": "carts-db",
+            "restart": "always",
+            "dockerHostNodeName": "node-1",
+            "networks": [
+                "carts-network"
+            ],
+            "containerName": "carts-db"
+        },
+        {
+            "imageName": "weaveworksdemos/carts",
+            "imageTag": "latest",
+            "hostname": "user",
+            "restart": "always",
+            "dockerHostNodeName": "node-1",
+            "networks": [
+                "carts-network"
+            ],
+            "environment": [
+                "JAVA_OPTS=-Xms64m -Xmx128m -XX:PermSize=32m -XX:MaxPermSize=64m -XX:+UseG1GC -Djava.security.egd=file:/dev/urandom",
+                "ZIPKIN=TBD_traefik-ip"
+            ],
+            "consulKvProviderNodeName": "node-1",
+            "addConsulService": 1,
+            "consulServicePort": 8481,
+            "addConsulTraefikRules": 1,
+            "portMapping": [
+                {
+                    "hostPort": "8481",
+                    "containerPort": "80"
+                }
+            ],
+            "endpoints": [
+                {
+                    "protocol": "http",
+                    "port": 8481
+                }
+            ],
+            "containerName": "carts"
+        },
+        {
+            "imageName": "openzipkin/zipkin",
+            "imageTag": "latest",
+            "hostname": "zipkin",
+            "restart": "always",
+            "dockerHostNodeName": "node-1",
+            "environment": [
+                "reschedule=on-node-failure"
+            ],
+            "addConsulService": 1,
+            "consulServicePort": 9411,
+            "addConsulTraefikRules": 1,
+            "portMapping": [
+                {
+                    "hostPort": "8493",
+                    "containerPort": "9411"
+                }
+            ],
+            "endpoints": [
+                {
+                    "protocol": "http",
+                    "port": 9411
+                }
+            ],
+            "containerName": "zipkin"
+        },
+        {
+            "imageName": "weaveworksdemos/shipping",
+            "imageTag": "latest",
+            "hostname": "shipping",
+            "restart": "always",
+            "dockerHostNodeName": "node-1",
+            "networks": [
+                "shipping-network"
+            ],
+            "environment": [
+                "ZIPKIN=http://TBD_zipkin-ip}"
+            ],
+            "consulKvProviderNodeName": "node-1",
+            "addConsulService": 1,
+            "consulServicePort": 8483,
+            "addConsulTraefikRules": 1,
+            "portMapping": [
+                {
+                    "hostPort": "8483",
+                    "containerPort": "80"
+                }
+            ],
+            "endpoints": [
+                {
+                    "protocol": "http",
+                    "port": 8483
+                }
+            ],
+            "containerName": "shipping"
+        },
+        {
+            "imageName": "weaveworksdemos/queue-master",
+            "imageTag": "latest",
+            "hostname": "queue-master",
+            "restart": "always",
+            "dockerHostNodeName": "node-2",
+            "networks": [
+                "shipping-network"
+            ],
+            "volumeMapping": [
+                {
+                    "hostPath": "/var/run/docker.sock",
+                    "containerPath": "/var/run/docker.sock"
+                }
+            ],
+            "containerName": "queue-master"
+        },
+        {
+            "imageName": "rabbitmq",
+            "imageTag": "3.6.8",
+            "hostname": "rabbitmq",
+            "restart": "always",
+            "dockerHostNodeName": "node-2",
+            "networks": [
+                "shipping-network"
+            ],
+            "containerName": "rabbitmq"
+        },
+        {
+            "imageName": "weaveworksdemos/orders",
+            "imageTag": "latest",
+            "hostname": "orders",
+            "restart": "always",
+            "dockerHostNodeName": "node-2",
+            "networks": [
+                "orders-network"
+            ],
+            "environment": [
+                "ZIPKIN=http://TBD_zipkin-ip}"
+            ],
+            "consulKvProviderNodeName": "node-1",
+            "addConsulService": 1,
+            "consulServicePort": 8482,
+            "addConsulTraefikRules": 1,
+            "portMapping": [
+                {
+                    "hostPort": "8482",
+                    "containerPort": "80"
+                }
+            ],
+            "endpoints": [
+                {
+                    "protocol": "http",
+                    "port": 8482
+                }
+            ],
+            "containerName": "orders"
+        },
+        {
+            "imageName": "mongo",
+            "imageTag": "latest",
+            "hostname": "orders-db",
+            "restart": "always",
+            "dockerHostNodeName": "node-2",
+            "networks": [
+                "orders-network"
+            ],
+            "containerName": "orders-db"
+        },
+        {
+            "imageName": "weaveworksdemos/payment",
+            "imageTag": "latest",
+            "hostname": "payment",
+            "restart": "always",
+            "dockerHostNodeName": "node-3",
+            "environment": [
+                "ZIPKIN=http://TBD_zipkin-ip}",
+                "reschedule=on-node-failure"
+            ],
+            "consulKvProviderNodeName": "node-1",
+            "addConsulService": 1,
+            "consulServicePort": 8484,
+            "addConsulTraefikRules": 1,
+            "portMapping": [
+                {
+                    "hostPort": "8484",
+                    "containerPort": "80"
+                }
+            ],
+            "endpoints": [
+                {
+                    "protocol": "http",
+                    "port": 8484
+                }
+            ],
+            "containerName": "payment"
+        }
+    ],
+    "applicationInstanceId": "c283ef91-fd08-448f-899c-de63d1709598"
+}
\ No newline at end of file
-- 
GitLab