# deepasunny/devops-projects architecture

> Architecture diagram of the GitHub repository deepasunny/devops-projects, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-06-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/deepasunny/devops-projects
- Repository: https://github.com/deepasunny/devops-projects

## Overview

1. This repository is a portfolio-style monorepo, not one single application. The top level contains many independent DevOps/cloud projects (`DevOps-Project-01` through `39`), each with its own app code, infrastructure, and delivery workflow. A correct architecture diagram should treat each project as a separate island rather than one shared system.

2. The common pattern across projects is: application source code, container/image packaging, infrastructure-as-code, and deployment manifests or pipeline definitions. Most projects also include local tests and environment-specific configuration, so the repo is organized around “build once, deploy to a target platform” rather than a shared runtime.

3. Application runtimes vary by project. The repo includes Java/Spring Boot web apps, JSP-based legacy Java apps, Python/Django, .NET/ASP.NET Core, Node/Express APIs, React/Vite and Next.js frontends, static HTML/JSP sites, Android apps, and a serverless Node.js API. These are independent implementations that demonstrate different delivery pipelines and hosting targets.

4. The main infrastructure boundary is cloud provisioning via Terraform and related IaC. Several projects define reusable modules for network, security, load balancing, auto scaling, databases, registries, identity, and observability. The diagrams for these projects should show Terraform as the control plane that creates cloud resources, not as part of the application runtime.

5. AWS-focused projects typically model a classic 3-tier or platform stack: VPC, security groups/IAM, EC2 or EKS, RDS, ALB/Route53/WAF/CloudFront, and sometimes Jenkins or S3-backed state. The Java login app is a good example of an EC2/RDS-style architecture with separate network, app, database, and monitoring modules.

6. Azure-focused projects center on VNet, AKS, ACR, Log Analytics, Application Insights, and Key Vault. In those labs, the application is usually containerized and deployed to Kubernetes, while Terraform provisions the cluster, registry, network, and supporting observability/security services.

7. Kubernetes is a major deployment boundary in the repo. Multiple projects ship Kubernetes YAML, Helm charts, ingress/service definitions, secrets, namespaces, and HPA configs. In diagram terms, the app usually runs inside a cluster with an ingress edge, service abstraction, and separate backing services such as databases or message endpoints.

8. CI/CD is represented by several orchestration tools rather than one standard pipeline. There are Jenkinsfiles, GitHub Actions workflows, Azure DevOps YAML pipelines, GitLab CI, CodeDeploy/AppSpec files, and CodeBuild-style buildspecs. These pipelines typically move code from source control to build/test, then to container registry or artifact storage, and finally to EC2/Kubernetes/static hosting.

9. Packaging and runtime delivery are mostly container-based for modern projects. Dockerfiles appear across the Java, .NET, Node, Python, and React applications, and some projects also include Docker Compose for local multi-service runs. In diagrams, Docker is the build artifact boundary between source and deploy target.

10. Data stores and supporting services are application-specific, but the common ones are RDS-backed relational databases, SQLite for simple Django demos, Redis for caching, and AWS Service Bus in one Terraform example. Some apps use local seed SQL or in-memory/test databases for development and automated tests.

11. Observability and validation are explicit architecture concerns in several projects. The repo includes CloudWatch-related material, Azure Application Insights/Log Analytics, InSpec infrastructure tests, Sonar configuration, JMeter tests, and application-level health/monitoring pages. These pieces belong outside the request path but inside the delivery/operations boundary.

12. Security and identity are also first-class in the cloud setups. IAM roles/policies, Kubernetes RBAC, Key Vault/secret manifests, security groups, WAF, TLS/certificates, and OIDC integration show up in multiple projects. A diagram should show secrets and permissions as separate support layers, not embedded in the app.

13. One useful way to diagram the repo is as a set of repeated patterns: source repository → CI/CD pipeline → build artifact/container → infrastructure provisioning → runtime platform → data/observability services. The exact cloud and app technologies change by project, but that lifecycle structure is consistent across the repository.

Main entry points: [`DevOps-Project-01/Java-Login-App`](https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-01/Java-Login-App) (Java Login), [`DevOps-Project-11`](https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-11) (AWS 3-Tier), [`DevOps-Project-19`](https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-19) (Jenkins EKS), [`DevOps-Project-36/3-tier-app-eks`](https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-36/3-tier-app-eks) (3-Tier Quiz)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_monorepo["Monorepo"]
  node_repo["DevOps Projects<br/>portfolio monorepo"]
end

subgraph group_aws["AWS stacks"]
  node_p01["Java Login<br/>Spring Boot + Terraform"]
  node_p02["HTML VPC Lab<br/>static web + VPC"]
  node_p11["AWS 3-Tier<br/>Terraform platform stack"]
  node_p19["Jenkins EKS<br/>Jenkins + Terraform"]
  node_p36["3-Tier Quiz<br/>Python/React EKS"]
  node_p38["Blogging App<br/>Spring Boot + EKS"]
end

subgraph group_azure["Azure stacks"]
  node_p07["AKS Lab<br/>Azure DevOps + Terraform"]
  node_p20["Service Bus IaC<br/>Terraform IaC"]
  node_p24["DotNet Monitor<br/>ASP.NET + AKS"]
end

subgraph group_k8s["Kubernetes apps"]
  node_p05["Java Webapp<br/>JSP + service app"]
  node_p06["Workshop App<br/>Spring Boot + K8s"]
  node_p18["Spring Boot App<br/>Spring Boot CI/CD"]
  node_p28["Chatbot UI<br/>Next.js + EKS"]
  node_p32["Petclinic CI/CD<br/>Spring MVC pipeline"]
  node_p33["JPetStore<br/>DevSecOps app"]
end

subgraph group_frontend["App demos"]
  node_p04["Django Demo<br/>Python/Django app"]
  node_p21["React UI<br/>Vite/React frontend"]
  node_p22["Serverless API<br/>Node serverless"]
  node_p39["Wanderlust<br/>Node/React 3-tier"]
end

subgraph group_mobile["Mobile"]
  node_p14["Android Demo<br/>Android/Gradle"]
end

node_repo -->|"contains"| node_p01
node_repo -->|"contains"| node_p02
node_repo -->|"contains"| node_p04
node_repo -->|"contains"| node_p05
node_repo -->|"contains"| node_p06
node_repo -->|"contains"| node_p07
node_repo -->|"contains"| node_p11
node_repo -->|"contains"| node_p14
node_repo -->|"contains"| node_p18
node_repo -->|"contains"| node_p19
node_repo -->|"contains"| node_p20
node_repo -->|"contains"| node_p21
node_repo -->|"contains"| node_p22
node_repo -->|"contains"| node_p24
node_repo -->|"contains"| node_p28
node_repo -->|"contains"| node_p32
node_repo -->|"contains"| node_p33
node_repo -->|"contains"| node_p36
node_repo -->|"contains"| node_p38
node_repo -->|"contains"| node_p39
node_p01 -->|"source→infra→runtime"| node_p01
node_p07 -->|"pipeline→cluster"| node_p07
node_p11 -->|"IaC→platform"| node_p11
node_p19 -->|"build→deploy"| node_p19
node_p21 -->|"ui→api"| node_p21
node_p22 -->|"code→serverless"| node_p22
node_p28 -->|"ui→k8s"| node_p28
node_p32 -->|"code→container"| node_p32
node_p33 -->|"CI→CD"| node_p33
node_p36 -->|"app→eks"| node_p36
node_p39 -->|"source→ops"| node_p39

click node_p01 "https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-01/Java-Login-App"
click node_p02 "https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-02/html-web-app"
click node_p04 "https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-04/hello_world_django_app"
click node_p05 "https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-05/hello-world"
click node_p06 "https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-06"
click node_p07 "https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-07"
click node_p11 "https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-11"
click node_p14 "https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-14/android-demo-app"
click node_p18 "https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-18/spring-boot-app"
click node_p19 "https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-19"
click node_p20 "https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-20"
click node_p21 "https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-21"
click node_p22 "https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-22/serverless-api"
click node_p24 "https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-24/DotNet-monitoring"
click node_p28 "https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-28/Chatbot-UI"
click node_p32 "https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-32/JavaApp-CICD"
click node_p33 "https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-33/DevSecOps-CI-CD-Pipeline"
click node_p36 "https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-36/3-tier-app-eks"
click node_p38 "https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-38/FullStack-Blogging-App"
click node_p39 "https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-39/wanderlust-3tier-project"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_repo toneBlue
class node_p01,node_p02,node_p11,node_p19,node_p36,node_p38 toneAmber
class node_p07,node_p20,node_p24 toneMint
class node_p05,node_p06,node_p18,node_p28,node_p32,node_p33 toneRose
class node_p04,node_p21,node_p22,node_p39 toneIndigo
class node_p14 toneTeal
```

## Components

### Monorepo

Top-level portfolio repository containing many independent DevOps/cloud project islands.

- **DevOps Projects**: portfolio monorepo · Collection of independent DevOps/cloud labs and sample applications.

### AWS stacks

AWS-oriented projects using Terraform, EC2/EKS, load balancing, databases, and supporting security/monitoring.

- [Java Login](https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-01/Java-Login-App): Spring Boot + Terraform · EC2/RDS-style Java login app with Terraform modules for VPC, ALB, ASG, RDS, security, and monitoring. · `DevOps-Project-01/Java-Login-App`
- [HTML VPC Lab](https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-02/html-web-app): static web + VPC · Static HTML site paired with VPC/networking policy artifacts and scripts. · `DevOps-Project-02/html-web-app`
- [AWS 3-Tier](https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-11): Terraform platform stack · AWS three-tier infrastructure with VPC, IAM, security groups, autoscaling, RDS, ALB, WAF/CDN, and Route53. · `DevOps-Project-11`
- [Jenkins EKS](https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-19): Jenkins + Terraform · Jenkins server and pipeline setup driving AWS EC2 and EKS provisioning plus Kubernetes deployment manifests. · `DevOps-Project-19`
- [3-Tier Quiz](https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-36/3-tier-app-eks): Python/React EKS · Three-tier application with Python backend, React frontend, Terraform EKS infra, and Kubernetes resources. · `DevOps-Project-36/3-tier-app-eks`
- [Blogging App](https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-38/FullStack-Blogging-App): Spring Boot + EKS · Spring Boot blogging app with Jenkins, Docker, and EKS Terraform deployment. · `DevOps-Project-38/FullStack-Blogging-App`

### Azure stacks

Azure-oriented labs centered on Terraform provisioning, AKS, ACR, observability, and secrets management.

- [AKS Lab](https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-07): Azure DevOps + Terraform · Azure lab provisioning VNet, AKS, ACR, Log Analytics, App Insights, and Key Vault, then deploying an ASP.NET app via pipelines. · `DevOps-Project-07`
- [Service Bus IaC](https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-20): Terraform IaC · Azure-style Terraform project provisioning a service bus and related deployment templates. · `DevOps-Project-20`
- [DotNet Monitor](https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-24/DotNet-monitoring): ASP.NET + AKS · Monitoring-focused .NET app with GitHub Actions, container build, Kubernetes deployment, and Azure infrastructure definitions. · `DevOps-Project-24/DotNet-monitoring`

### Kubernetes apps

Projects whose delivery boundary is Kubernetes manifests, Helm charts, ingress, services, and secrets.

- [Java Webapp](https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-05/hello-world): JSP + service app · Java web application split into server and webapp modules with Kubernetes manifests. · `DevOps-Project-05/hello-world`
- [Workshop App](https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-06): Spring Boot + K8s · Spring Boot app packaged into a chart/manifests workflow with namespace, secret, deployment, service, and Sonar/Jenkins delivery. · `DevOps-Project-06`
- [Spring Boot App](https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-18/spring-boot-app): Spring Boot CI/CD · Spring Boot app with Jenkinsfile, Dockerfile, and Kubernetes deployment/service manifests. · `DevOps-Project-18/spring-boot-app`
- [Chatbot UI](https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-28/Chatbot-UI): Next.js + EKS · Next.js chatbot front end with Docker Compose, Kubernetes manifests, Jenkins pipelines, and EKS Terraform. · `DevOps-Project-28/Chatbot-UI`
- [Petclinic CI/CD](https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-32/JavaApp-CICD): Spring MVC pipeline · Large Java/JSP application with Jenkins, Docker, Kubernetes, and extensive test coverage. · `DevOps-Project-32/JavaApp-CICD`
- [JPetStore](https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-33/DevSecOps-CI-CD-Pipeline): DevSecOps app · Java web application emphasizing CI/CD, Docker, security scanning, and deployment manifests. · `DevOps-Project-33/DevSecOps-CI-CD-Pipeline`

### App demos

Standalone application demos spanning Java, Python, .NET, Node, React, and static content.

- [Django Demo](https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-04/hello_world_django_app): Python/Django app · Simple Django application with Docker packaging and local SQLite runtime. · `DevOps-Project-04/hello_world_django_app`
- [React UI](https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-21): Vite/React frontend · Frontend app with Docker, buildspec/AppSpec delivery files, and a rich component-based UI. · `DevOps-Project-21`
- [Serverless API](https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-22/serverless-api): Node serverless · Node.js API combined with Terraform root config and serverless-style application structure. · `DevOps-Project-22/serverless-api`
- [Wanderlust](https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-39/wanderlust-3tier-project): Node/React 3-tier · Full-stack blogging app with backend, frontend, Docker variants, Jenkins pipelines, Sonar, Redis, and compose workflows. · `DevOps-Project-39/wanderlust-3tier-project`

### Mobile

Android delivery and build workflows.

- [Android Demo](https://github.com/deepasunny/devops-projects/tree/master/DevOps-Project-14/android-demo-app): Android/Gradle · Multi-module Android project with GitHub Actions workflows and build automation scripts. · `DevOps-Project-14/android-demo-app`

## Connections

- DevOps Projects → Java Login: contains · Independent project island
- DevOps Projects → HTML VPC Lab: contains · Independent project island
- DevOps Projects → Django Demo: contains · Independent project island
- DevOps Projects → Java Webapp: contains · Independent project island
- DevOps Projects → Workshop App: contains · Independent project island
- DevOps Projects → AKS Lab: contains · Independent project island
- DevOps Projects → AWS 3-Tier: contains · Independent project island
- DevOps Projects → Android Demo: contains · Independent project island
- DevOps Projects → Spring Boot App: contains · Independent project island
- DevOps Projects → Jenkins EKS: contains · Independent project island
- DevOps Projects → Service Bus IaC: contains · Independent project island
- DevOps Projects → React UI: contains · Independent project island
- DevOps Projects → Serverless API: contains · Independent project island
- DevOps Projects → DotNet Monitor: contains · Independent project island
- DevOps Projects → Chatbot UI: contains · Independent project island
- DevOps Projects → Petclinic CI/CD: contains · Independent project island
- DevOps Projects → JPetStore: contains · Independent project island
- DevOps Projects → 3-Tier Quiz: contains · Independent project island
- DevOps Projects → Blogging App: contains · Independent project island
- DevOps Projects → Wanderlust: contains · Independent project island
- Java Login → Java Login: source→infra→runtime · Java source, Terraform control plane, and deployed app flow together.
- AKS Lab → AKS Lab: pipeline→cluster · Azure DevOps pipelines drive Terraform and AKS deployment.
- AWS 3-Tier → AWS 3-Tier: IaC→platform · Terraform provisions the AWS application platform and supporting services.
- Jenkins EKS → Jenkins EKS: build→deploy · Jenkins and Terraform coordinate EC2/EKS provisioning and app rollout.
- React UI → React UI: ui→api · React frontend is packaged and delivered as a standalone app.
- Serverless API → Serverless API: code→serverless · Node API code is paired with infrastructure and deployment settings.
- Chatbot UI → Chatbot UI: ui→k8s · Next.js app is built, containerized, and deployed to Kubernetes.
- Petclinic CI/CD → Petclinic CI/CD: code→container · Spring MVC app flows through Docker and Kubernetes deployment.
- JPetStore → JPetStore: CI→CD · Security-focused pipeline builds, scans, and deploys the Java app.
- 3-Tier Quiz → 3-Tier Quiz: app→eks · Python backend and React frontend land on EKS with Terraform support.
- Wanderlust → Wanderlust: source→ops · Frontend/backend, Docker, Jenkins, Sonar, Redis, and compose support the delivery loop.
