diff --git a/available_compute.svg b/available_compute.svg deleted file mode 100644 index f6c45da..0000000 --- a/available_compute.svg +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - -mycloudapp - -mycloudapp - - -75efc94089794caeb14643cadb34fa34 - -OnPrem Docker - - - -cf7d56360645485bb3db3a5a900cb24b - -Front-End - - - -75efc94089794caeb14643cadb34fa34->cf7d56360645485bb3db3a5a900cb24b - - - - - -e749209181ba4c8ab60976b2877d7fea - -Back-End - - - -75efc94089794caeb14643cadb34fa34->e749209181ba4c8ab60976b2877d7fea - - - - - -d3910b3f960945f39a814be38396fa47 - -MyCloudApp-k8s - - - -cf7d56360645485bb3db3a5a900cb24b->d3910b3f960945f39a814be38396fa47 - - - - - -e749209181ba4c8ab60976b2877d7fea->d3910b3f960945f39a814be38396fa47 - - - - - -5cf16c0a663e47e4b50607033a9658e2 - -Function App - - - -48c41dd3521b47059dafbe417855f8a4 - -Cronjob - - - -6ef819a5ac724cb887b7b3a68242f2f0 - -Batch Processing - - - -a15bcd24a15348c794b48d1d8c1edffb - -File Delivery System - - - -a6457f407d2040d0b681bd15901769a6 - -Control Pool, 16 vCPU - - - -d3910b3f960945f39a814be38396fa47->a6457f407d2040d0b681bd15901769a6 - - - - - -4d84aef98d0e40ee8afee9e0c05e4801 - -Worker Pool, 64 vCPU - - - -d3910b3f960945f39a814be38396fa47->4d84aef98d0e40ee8afee9e0c05e4801 - - - - - -e2bd219ca75d46c088c71ee8d0bd7287 - -VPC - - - -a6457f407d2040d0b681bd15901769a6->e2bd219ca75d46c088c71ee8d0bd7287 - - - - - -4d84aef98d0e40ee8afee9e0c05e4801->e2bd219ca75d46c088c71ee8d0bd7287 - - - - - -e2bd219ca75d46c088c71ee8d0bd7287->5cf16c0a663e47e4b50607033a9658e2 - - - - - -e2bd219ca75d46c088c71ee8d0bd7287->48c41dd3521b47059dafbe417855f8a4 - - - - - -e2bd219ca75d46c088c71ee8d0bd7287->6ef819a5ac724cb887b7b3a68242f2f0 - - - - - -e2bd219ca75d46c088c71ee8d0bd7287->a15bcd24a15348c794b48d1d8c1edffb - - - - - diff --git a/aws-web-app-architecture.png b/aws-web-app/aws-web-app-architecture.png similarity index 100% rename from aws-web-app-architecture.png rename to aws-web-app/aws-web-app-architecture.png diff --git a/aws-web-app-architecture.py b/aws-web-app/aws-web-app-architecture.py similarity index 100% rename from aws-web-app-architecture.py rename to aws-web-app/aws-web-app-architecture.py diff --git a/ci-cd-pipeline.png b/ci-cd-pipeline/ci-cd-pipeline.png similarity index 100% rename from ci-cd-pipeline.png rename to ci-cd-pipeline/ci-cd-pipeline.png diff --git a/ci-cd-pipeline.py b/ci-cd-pipeline/ci-cd-pipeline.py similarity index 100% rename from ci-cd-pipeline.py rename to ci-cd-pipeline/ci-cd-pipeline.py diff --git a/data-pipeline-streaming.png b/data-pipeline/data-pipeline-streaming.png similarity index 100% rename from data-pipeline-streaming.png rename to data-pipeline/data-pipeline-streaming.png diff --git a/data-pipeline-streaming.py b/data-pipeline/data-pipeline-streaming.py similarity index 100% rename from data-pipeline-streaming.py rename to data-pipeline/data-pipeline-streaming.py diff --git a/dwgu-diagram.png b/data-pipeline/dwgu-diagram.png similarity index 100% rename from dwgu-diagram.png rename to data-pipeline/dwgu-diagram.png diff --git a/dwgu-diagram.py b/data-pipeline/dwgu-diagram.py similarity index 100% rename from dwgu-diagram.py rename to data-pipeline/dwgu-diagram.py diff --git a/digitalocean-docker.py b/digitalocean-docker.py deleted file mode 100644 index 86df28f..0000000 --- a/digitalocean-docker.py +++ /dev/null @@ -1,8 +0,0 @@ -from diagrams import Diagram -from diagrams.digitalocean.compute import Docker, Containers, K8SCluster, K8SNode, K8SNodePool -from diagrams.digitalocean.network import Vpc - -with Diagram("mycloudapp", filename="available_compute", outformat="svg"): - do_compute = Docker("OnPrem Docker") >> [Containers("Front-End"), Containers("Back-End")] - live_c = [K8SNode("Function App"),K8SNode("Cronjob"),K8SNode("Batch Processing"),K8SNode("File Delivery System")] - do_compute >> K8SCluster("MyCloudApp-k8s") << [K8SNodePool("Control Pool, 16 vCPU"), K8SNodePool("Worker Pool, 64 vCPU")] >> Vpc("VPC") << live_c \ No newline at end of file diff --git a/digitalocean_compute.svg b/digitalocean_compute.svg deleted file mode 100644 index 8cb717e..0000000 --- a/digitalocean_compute.svg +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - -digitalocean - -digitalocean - - -af3a08e830e545348018cd63cfb0ae38 - -OnPrem Docker - - - -1d72723b83c24650806c87eb7d6cf888 - -Front-End - - - -af3a08e830e545348018cd63cfb0ae38->1d72723b83c24650806c87eb7d6cf888 - - - - - -5d94318b716c4649b4374d76523781ac - -Back-End - - - -af3a08e830e545348018cd63cfb0ae38->5d94318b716c4649b4374d76523781ac - - - - - -70ab3b2086944e4f8818ef7b2c794d2f - -MyCloudApp - - - -1d72723b83c24650806c87eb7d6cf888->70ab3b2086944e4f8818ef7b2c794d2f - - - - - -5d94318b716c4649b4374d76523781ac->70ab3b2086944e4f8818ef7b2c794d2f - - - - - -7fe99b789b6e4d959ee5d77897a41c4a - -Control Pool - - - -70ab3b2086944e4f8818ef7b2c794d2f->7fe99b789b6e4d959ee5d77897a41c4a - - - - - -9b753de0d0864ac0aa9bf5218ae7e356 - -Worker Pool - - - -70ab3b2086944e4f8818ef7b2c794d2f->9b753de0d0864ac0aa9bf5218ae7e356 - - - - - -0840fa1321c2494aae45f392cfe02ad4 - -Live Containers - - - -7fe99b789b6e4d959ee5d77897a41c4a->0840fa1321c2494aae45f392cfe02ad4 - - - - - -9b753de0d0864ac0aa9bf5218ae7e356->0840fa1321c2494aae45f392cfe02ad4 - - - - - diff --git a/k8s-2-replicas.py b/k8s-2-replicas.py deleted file mode 100644 index 1ebe7e8..0000000 --- a/k8s-2-replicas.py +++ /dev/null @@ -1,9 +0,0 @@ -from diagrams import Diagram -from diagrams.k8s.clusterconfig import HPA -from diagrams.k8s.compute import Deployment, Pod, ReplicaSet -from diagrams.k8s.network import Ingress, Service - -with Diagram("MyApp", show=True, filename="myapp", outformat="png"): - net = Ingress("myapp.com:80,443") >> Service("myapp-svc:80") - net >> [Pod("myapp-1"), - Pod("myapp-2")] << ReplicaSet("rs") << Deployment("myapp") << HPA("hpa") \ No newline at end of file diff --git a/k8s-cluster-overview-azure.png b/kubernetes/k8s-cluster-overview-azure.png similarity index 100% rename from k8s-cluster-overview-azure.png rename to kubernetes/k8s-cluster-overview-azure.png diff --git a/k8s-cluster-overview.py b/kubernetes/k8s-cluster-overview.py similarity index 100% rename from k8s-cluster-overview.py rename to kubernetes/k8s-cluster-overview.py diff --git a/logging-monitoring-stack.png b/logging-monitoring-stack.png new file mode 100644 index 0000000..bc6e1cc Binary files /dev/null and b/logging-monitoring-stack.png differ diff --git a/logging-monitoring/logging_monitoring_stack.py b/logging-monitoring/logging_monitoring_stack.py new file mode 100644 index 0000000..9130849 --- /dev/null +++ b/logging-monitoring/logging_monitoring_stack.py @@ -0,0 +1,58 @@ +from diagrams import Diagram, Cluster, Edge +from diagrams.aws.network import APIGateway +from diagrams.aws.compute import Lambda +from diagrams.aws.analytics import KinesisDataStreams, KinesisDataFirehose, AmazonOpensearchService, Athena +from diagrams.aws.storage import S3 +from diagrams.aws.analytics import AmazonOpensearchService as OpenSearch +from diagrams.aws.management import Cloudwatch, CloudwatchAlarm +from diagrams.aws.integration import SNS +from diagrams.aws.database import DDB +from diagrams.aws.analytics import Athena + + +with Diagram("Logging & Monitoring Stack", show=True, filename="logging-monitoring-stack", direction="LR"): + # Ingestion layer + with Cluster("Ingestion"): + api_gateway = APIGateway("API Gateway") + ingest_lambda = Lambda("Ingest Lambda\n(validation/enrich)") + kinesis = KinesisDataStreams("Kinesis Data Streams") + + api_gateway >> Edge(label="HTTP logs/events") >> ingest_lambda >> kinesis + + # Processing & buffering + with Cluster("Processing"): + firehose = KinesisDataFirehose("Kinesis Firehose") + processor_lambda = Lambda("Processor Lambda\n(aggregation/metrics)") + + kinesis >> Edge(label="stream") >> processor_lambda + processor_lambda >> Edge(label="to firehose") >> firehose + + # Storage & search + with Cluster("Storage & Indexing"): + logs_bucket = S3("S3 Logs Bucket") + es = OpenSearch("OpenSearch / Elasticsearch") + metadata_db = DDB("DynamoDB (metadata)") + + firehose >> Edge(label="deliver") >> logs_bucket + firehose >> Edge(label="index") >> es + + # Analytics + with Cluster("Analytics"): + athena = Athena("Athena") + logs_bucket >> athena + + # Monitoring & Alerts + with Cluster("Monitoring"): + cw = Cloudwatch("CloudWatch") + alarm = CloudwatchAlarm("CW Alarm") + alerts = SNS("Alert Topic") + + processor_lambda >> cw + es >> cw + metadata_db >> cw + + cw >> alarm >> alerts + + # Connect metadata and retention + processor_lambda >> metadata_db + logs_bucket >> metadata_db \ No newline at end of file diff --git a/microservices-architecture.py b/microservices/microservices-architecture.py similarity index 100% rename from microservices-architecture.py rename to microservices/microservices-architecture.py diff --git a/microservices_architecture.png b/microservices/microservices_architecture.png similarity index 100% rename from microservices_architecture.png rename to microservices/microservices_architecture.png diff --git a/my-go-app.pdf b/my-go-app.pdf deleted file mode 100644 index a812bbf..0000000 Binary files a/my-go-app.pdf and /dev/null differ diff --git a/myapp.png b/myapp.png deleted file mode 100644 index df1c38a..0000000 Binary files a/myapp.png and /dev/null differ diff --git a/py-diagrams.py b/py-diagrams.py deleted file mode 100644 index 7339d7b..0000000 --- a/py-diagrams.py +++ /dev/null @@ -1,11 +0,0 @@ -from diagrams import Diagram -from diagrams.programming.language import Go -from diagrams.programming.flowchart import Action, Decision, Delay, InputOutput - -with Diagram("MyGoApp", show=True, filename="my-go-app", outformat="pdf"): - net = Go("MyGoApp") >> Action("Fetch User Data") - decide = Decision("Is this new user?") - action_y = Action("Yes") - action_n = Action("No") - net >> decide >> action_y >> InputOutput("Proceed to Login") - net >> decide >> action_n >> InputOutput("Register/Sign Up") diff --git a/serverless-architecture.png b/serverless/serverless-architecture.png similarity index 100% rename from serverless-architecture.png rename to serverless/serverless-architecture.png diff --git a/serverless-architecture.py b/serverless/serverless-architecture.py similarity index 100% rename from serverless-architecture.py rename to serverless/serverless-architecture.py