finos / architecture-as-code

"Architecture as Code" (AasC) aims to devise and manage software architecture via a machine readable and version-controlled codebase, fostering a robust understanding, efficient development, and seamless maintenance of complex software architectures
https://finos.github.io/architecture-as-code/
Apache License 2.0
45 stars 19 forks source link

Define: Architecture Manifest #255

Closed rocketstack-matt closed 3 months ago

rocketstack-matt commented 1 year ago

Architecture as Code: Glossary Definition

Please see Architecture as Code: Glossary Definition for details on how to help with this definition.

Title

Architecture Manifest

Definition

What do we need to capture to codify an system architecture?

dc-ms commented 11 months ago

Attached is a preliminary c4 property model. Drivers:

Scope:

Principles:

Model:

dc-ms commented 11 months ago

[

{
    "softwaresystem": {
        "Name": "GESS Management Portal",
        "Description": "Global Equities Settlement System",
        "CreatedOn": "2022/08/15",
        "ModifiedOn": "2023/07/22",
        "Documentation": "https://github.com/finos/devops-automation/tree/main/docs",

        "Global Identifier": "86756",
        "TechnologyOwnOrganization": "Global Technology Application Development",
        "TechnologyConsumingOrganization": "Global Equities",
        "Business Capability": "Trading",
        "Deployment Strategy": "Blue/Green",
        "Risk Classification": 7,
        "Data Classification": "Confidential",
        "Data Concepts": "Cash Flow",
        "Interface": "https://www.acme.com",
        "OperationalInterface": "https://operations.amce.com",
        "User Population": 5000,
        "User Type": "External"
        }
},

{
    "container": {
        "Name": "GESS API",
        "Description": "Delivers static content to front end",
        "CreatedOn": "2022/08/15",
        "ModifiedOn": "2023/07/22",
        "Documentation": "https://github.com/finos/devops-automation/tree/main/docs",

        "Technology": "JSON/HTTPS",
        "Language": "Java",
        "Framework": "Spring MVC",
        "Type": "Web Server" 
        }
},

{
    "component": {
        "Name": "GESS Event Handler",
        "Description": "Event Handler",
        "CreatedOn": "2022/08/15",
        "ModifiedOn": "2023/07/22",
        "Documentation": "https://github.com/finos/devops-automation/tree/main/docs",

       "Service": "HTTPS",
       "Protocol": "TCP",
       "Port": "443",
       "Document Type": "JSON"
       }
},
{
    "deploymentnode": {
        "Name": "AWS",
        "Description": "AWS Cloud Provider",
        "CreatedOn": "2022/08/15",
        "ModifiedOn": "2023/07/22",
        "Documentation": "https://github.com/finos/devops-automation/tree/main/docs",

        "Provider": "AWS",
        "Type": "Cloud Provider"
        }
},
{
    "deploymentnode": {
        "Name": "US-East-1",
        "Description": "Region",
        "CreatedOn": "2022/08/15",
        "ModifiedOn": "2023/07/22",
        "Documentation": "https://github.com/finos/devops-automation/tree/main/docs",

        "Provider": "AWS",
        "Region": "US-East-1"
        }   
},
{
    "deploymentnode": {
        "Name": "Account",
        "Description": "Application Account",
        "CreatedOn": "2022/08/15",
        "ModifiedOn": "2023/07/22",
        "Documentation": "https://github.com/finos/devops-automation/tree/main/docs",

        "Provider": "AWS",
        "Account": "Application"
        }
},
{
    "deploymentnode": {
        "Name": "Platform",
        "Description": "Hosted Platform",
        "CreatedOn": "2022/08/15",
        "ModifiedOn": "2023/07/22",
        "Documentation": "https://github.com/finos/devops-automation/tree/main/docs",

        "Provider": "AWS",
        "Platform": "OpenShift",
        "Environment": "Development",
        "Network Zone": "External",
        "DeploynodeName":"serverdenis.ms.com"

        "Service": "HTTPS",
        "Protocol": "TCP",
        "Port": "443",
        "Document Type": "JSON"

        }
},
{
    "infrastructurenode": {
        "Name": "Load Balancing",
        "Description": "Load Balancing of Request Engine",
        "CreatedOn": "2022/08/15",
        "ModifiedOn": "2023/07/22",
        "Documentation": "https://github.com/finos/devops-automation/tree/main/docs",

        "Instances": "3",

        "Traffic Management": "Round Robin",
        "Certificate Management": "Terminated",
        "Session Persistence": 800,
        "LTM": 1,
        "GTM": 0
        }
}

]

dc-ms commented 11 months ago

FINOS Waltz definition of an App here: https://github.com/finos/waltz/tree/master/waltz-model

https://github.com/finos/architecture-as-code/issues/245

@davidwatkins Can you confirm this is the correct location?