Skip to content
Snippets Groups Projects
Select Git revision
  • master
  • M30
  • M24
  • TestForUpdateSite
  • M12
5 results

DECIDE.json

Blame
  • DECIDE.json 56.43 KiB
    {
        "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"
    }