from diagrams.azure.web import AppServices from diagrams.azure.database import SQLDatabases from diagrams.azure.web import APIConnections from diagrams.azure.compute import FunctionApps from diagrams.azure.mobile import AppServiceMobile from diagrams.programming.framework import React graph_attr = {"fontsize": "45", "bgcolor": "transparent"} with Diagram("Cashback", show=True, graph_attr=graph_attr, direction="TB"): with Cluster("Internal"): with Cluster("Azure"): checkSupplier = FunctionApps("Push Notification") apiRestFul = AppServices("ApiRestFul") sqlServerDataBase = SQLDatabases("Database") apiRestFul >> sqlServerDataBase with Cluster("Aplicativos"): reactAppClient = AppServiceMobile("App Cliente") reactAppParnet = AppServiceMobile("App Parceiro") with Cluster("External"): agendamentoApi = APIConnections("Agendamento") carteiraApi = APIConnections("Pagamento Api") cashBackApi = APIConnections("CashBack Api") reactAppClient >> apiRestFul reactAppParnet >> apiRestFul apiRestFul << checkSupplier checkSupplier >> reactAppClient
with Cluster('On premise'): ad_dispatcher = CloudServices('ad-dispatcher') opus_uploader = CloudServices('opus-uploader') ad_writeback = CloudServices('ad-writeback') replication_agent = CloudServices('replication agent') with Cluster('Data kilder'): opus_data = Boards('KMD OPUS data') uni_data = DataBoxEdgeDataBoxGateway('STIL unilogin WS17') ad_data = ActiveDirectory('Skanderborg AD') azure_services = ContainerInstances('Skanderborg Azure Automation') adfs = ActiveDirectory('Skanderborg ADFS') with Cluster('SOFD'): sofden = SQLDatabases('LORA_SOFD') sofden - Redshift('logs') with Cluster('MOX agenter'): mox_kmdi2 = CloudServicesClassic('mox_kmdi2_sync') mox_intranote = CloudServicesClassic('mox_intranote') mox_kalenda_greenbyte = CloudServicesClassic( 'mox_kalenda_greenbyte') mox_safetynet = CloudServicesClassic('Safetynet SSIS service') mox_acubiz = CloudServicesClassic('mox_acubiz') sofden - VMScaleSet('SKB Systemer') sts_org = Artifacts('STS Organisation') sts_org - VMScaleSet('KOMBIT Systemer') intranettet = VMClassic('Intranettet') os2_rollekatalog = VMClassic('OS2 Rollekatalog') kmd_i2 = DataBoxEdgeDataBoxGateway('KMD i2 azure API') aula = VMClassic('AULA')
from diagrams.azure.compute import VMScaleSet, VMClassic with Diagram('sofd_flow_simple', show=False, direction='TB'): sofd_core = VMClassic('SOFD Core') with Cluster('Data kilder'): opus_data = Boards('KMD OPUS data') uni_data = DataBoxEdgeDataBoxGateway('STIL unilogin WS17') ad_data = ActiveDirectory('Skanderborg AD') azure_services = ContainerInstances('Skanderborg Azure Automation') adfs = ActiveDirectory('Skanderborg ADFS') lora = SQLDatabases('LORA_SOFD') sts_org = Artifacts('STS Organisation') os2rollekatalog = VMClassic('OS2rollekatalog') os2faktor = VMClassic('OS2faktor') kombit_context_handler = APIConnections('KOMBIT Contexthandler') os2sync = DataBoxEdgeDataBoxGateway('OS2sync') ad_data >> adfs >> kombit_context_handler sts_org >> kombit_context_handler os2sync >> sts_org os2rollekatalog >> kombit_context_handler lora >> azure_services >> ad_data >> azure_services >> lora opus_data >> sofd_core uni_data >> sofd_core
from diagrams.firebase.base import Firebase from diagrams.azure.database import CosmosDb, SQLDatabases, CacheForRedis from diagrams.azure.storage import BlobStorage from diagrams.aws.database import Dynamodb, RDS, Elasticache from diagrams.aws.storage import S3 node_attr = {"fontsize": "20"} graph_attr = {"fontsize": "28"} with Diagram("", show=False, direction="TB", node_attr=node_attr): with Cluster("On-Premises", graph_attr=graph_attr): with Cluster("Relational Database", graph_attr=graph_attr): relational = Mssql("") relational - [Oracle("")] with Cluster("Document Database", graph_attr=graph_attr): documentdb = Mongodb("\nMongoDB") documentdb - [Couchdb("\nCouchDB")] - Firebase("\nFirebase") with Cluster("Cache", graph_attr=graph_attr): cache = Redis("\nRedis") cache - [Memcached("\nMemcached")] - Hazelcast("\nHazelcast") with Cluster("Cloud", graph_attr=graph_attr): with Cluster("Azure", graph_attr=graph_attr): azure = CosmosDb("\nCosmos DB") azure - [ SQLDatabases("\nSQL DB") ] - CacheForRedis("\nRedis") - BlobStorage("\nBlob Storage") with Cluster("AWS", graph_attr=graph_attr): aws = Dynamodb("\nDynamoDB") aws - [RDS("\nRDS")] - Elasticache("\nElasticache") - S3("\nS3")
with Diagram("", show=False, direction="TB", node_attr=node_attr): with Cluster("On-Premises", graph_attr=graph_attr): with Cluster("Commercial Platforms", graph_attr=graph_attr): closed_source = [Oracle(""), Mssql("")] with Cluster("Open Source Platforms", graph_attr=graph_attr): with Cluster(""): mysql = Mysql("") mysql >> [MariaDB("MariaDB")] open_source = [mysql, Postgresql("PostgreSQL")] with Cluster("Cloud", graph_attr=graph_attr): with Cluster("Azure", graph_attr=graph_attr): with Cluster("SQL Server", graph_attr=graph_attr): azure = [ SQLDatabases("\nAzure SQL\nDatabase"), SQLManagedInstances("\n\nSQL\nManaged\nInstances"), SQLServers("\nSQL Server\n(IaaS)") ] with Cluster("Other", graph_attr=graph_attr): azure2 = [ DatabaseForMysqlServers("\nMySQL"), DatabaseForMariadbServers("\nMariaDB"), DatabaseForPostgresqlServers("\nPostgreSQL") ] with Cluster("AWS", graph_attr=graph_attr): aws = [ RDS("\n\nRelational\nDatabase\nServices"), Aurora("\nAurora"), Database("\nDatabases\n(IaaS)") ]
from diagrams import Cluster, Diagram from diagrams.azure.database import SQLDatabases from diagrams.generic.database import SQL from diagrams.programming.language import Python, R with Diagram("Data Quality Model", show=False, outformat="jpg"): dm = SQLDatabases("Data Model") sample = SQL("Sample") metadata = SQLDatabases("Metadata") QA = SQL("Quality Assessment") with Cluster("Source"): source = [metadata, dm, sample] dm >> metadata dm >> sample with Cluster("Sample Analysis"): SA = sample >> Python("Sample metrics") >> R("Statistical analysis") with Cluster("Analysis"): dm >> Python("Analysis") >> QA metadata >> Python("Analysis") >> QA with Cluster("Quality assessment"): SA >> QA QA >> SQL("Quality report")