Secure Hybrid Datacenter Network Architecture
Inspiration
As colleges increasingly move from traditional on-premises infrastructure to hybrid environments, sensitive information such as student records, ERP databases, research data, and academic applications can no longer be protected simply by securing the physical datacenter perimeter.
This inspired me to design a Secure Hybrid Datacenter Network Architecture that treats identity as the primary security perimeter rather than relying only on network boundaries.
My goal was to create an architecture where a compromise in one application or workload would not automatically allow an attacker to move laterally into other applications, databases, or the campus network.
The project combines:
- Zero Trust Network Access (ZTNA)
- Federated IAM and least privilege
- Hub-and-spoke cloud networking
- Application-level VPC isolation
- Security groups and deny-by-default rules
- Kubernetes NetworkPolicies
- Service-mesh mTLS
- Hybrid datacenter-to-cloud connectivity
- Centralized logging, monitoring, and incident response
The central idea was simple:
Every connection must be explicitly authorized, authenticated, monitored, and limited to exactly what is required.
What I Built
I designed a repeatable security architecture for a college environment that connects a private datacenter with public cloud services.
The private datacenter contains stateful and regulated services such as student records, ERP databases, licensing servers, and research storage, while cloud infrastructure provides elastic compute, storage, analytics, and AI/ML capabilities.
The architecture uses a hub-and-spoke topology. Each application receives its own cloud environment, while communication between applications is forced through a centralized inspection layer.
Instead of allowing:
$$ App_A \rightarrow App_B $$
the architecture requires:
$$ App_A \rightarrow Inspection\ Hub \rightarrow App_B $$
This provides a central enforcement point where traffic can be inspected and explicitly authorized.
Layered Security
I implemented security as multiple independent layers:
- Cloud account isolation
- VPC isolation
- Public/Application/Data subnet separation
- Security groups
- Kubernetes NetworkPolicies
- Cryptographic workload identity and mTLS
Therefore, an attacker would have to bypass multiple security boundaries before reaching another application.
Identity-Based Access
The design eliminates long-lived cloud credentials.
Human users authenticate through the college identity provider, while workloads use short-lived, workload-bound credentials. Kubernetes workloads can use OIDC federation and temporary credentials instead of storing cloud access keys inside containers.
I also designed an ABAC model where access can depend on application and environment tags:
$$ Access = f(Identity,\ Application,\ Environment,\ MFA) $$
This allows the security model to scale without creating a separate IAM policy for every application.
Kubernetes Security
A major part of the project focuses on protecting microservices.
Each application can have its own namespace, with default-deny networking applied first. Only explicitly required communication is allowed.
For example:
$$ Web \rightarrow API $$
may be allowed, while:
$$ Web \not\rightarrow Database $$
This reduces the possibility of lateral movement after a workload compromise.
I also incorporated a service mesh with mTLS and Layer-7 authorization, allowing workloads to authenticate using service identity rather than depending only on IP addresses.
Zero Trust Faculty Access
Instead of giving faculty members full network-level access through a traditional VPN, I designed a Zero Trust Network Access model.
The access flow is:
$$ Faculty\ Device \rightarrow ZTNA\ Client \rightarrow Identity + MFA \rightarrow Device\ Posture \rightarrow Application $$
This means being connected to the campus Wi-Fi does not automatically make a user trusted.
Faculty members receive access only to the applications they are authorized to use, while device health, identity, MFA, risk, and session information can be evaluated continuously.
How I Built It
I approached the project as a security architecture and implementation roadmap rather than treating security as a single firewall configuration.
Step 1 — Threat Modeling
I identified major attack paths, including:
- Lateral movement after application compromise
- Credential theft
- Privilege escalation
- Data exfiltration
- Compromised faculty devices
- Malicious container images
- Security configuration drift
Each threat was mapped to specific architectural controls.
Step 2 — Network Architecture
I created separate security zones for:
- DMZ/public-facing services
- Container workloads
- Application and database systems
- Management infrastructure
Inter-zone traffic is required to pass through firewall enforcement rather than unrestricted VLAN routing.
Step 3 — Cloud Segmentation
I designed one application/environment boundary per cloud account, with separate VPCs and subnet tiers.
The standard application VPC contains:
- Public subnet
- Application subnet
- Data subnet
- Endpoint subnet
- Transit Gateway attachment
The data tier has no default Internet route.
Step 4 — Security Policies
Security groups are based on application roles rather than broad CIDR ranges.
For example:
$$ Web \rightarrow App : 9000 $$
$$ App \rightarrow Database : 5432 $$
while direct:
$$ Web \rightarrow Database $$
is not permitted.
The architecture also prevents unrestricted Internet ingress except where explicitly required at the public application entry point.
Step 5 — Monitoring and Response
I designed centralized security telemetry using:
- VPC Flow Logs
- DNS logs
- CloudTrail
- Kubernetes audit logs
- Service-mesh access logs
- ZTNA session logs
- Runtime security monitoring
- CSPM/drift detection
These feed into a central SIEM for correlation and investigation.
What I Learned
This project taught me that cybersecurity is not just about building a firewall.
I learned how different security controls work together:
Identity + Network Segmentation + Workload Security + Encryption + Monitoring + Automation = Defense in Depth
I also learned the importance of designing security for scale.
If every new application requires a completely new security architecture, the design eventually becomes difficult to maintain. Instead, I learned to create a reusable security template and enforce it through automation.
The project also helped me understand:
- Cloud IAM and federated identity
- Zero Trust architecture
- VPC and subnet segmentation
- Transit Gateway routing
- Kubernetes NetworkPolicies
- Service-mesh security
- mTLS
- Workload identity
- Policy-as-code
- Infrastructure-as-code
- Security monitoring
- Incident response
- Hybrid cloud connectivity
One of the most important lessons was that security and usability do not necessarily have to conflict. A properly designed Zero Trust architecture can provide stronger security while giving users consistent application access from both campus and home.
Challenges I Faced
1. Preventing Lateral Movement
One of the biggest challenges was designing the network so that compromising one application would not provide a path to another.
I solved this using multiple boundaries:
$$ Account \rightarrow VPC \rightarrow Subnet \rightarrow SG \rightarrow NetworkPolicy \rightarrow mTLS $$
This creates defense in depth instead of relying on a single security mechanism.
2. Managing Hybrid Cloud Identity
Another difficult problem was allowing workloads running in the private datacenter to access cloud services without embedding permanent credentials.
The solution was OIDC-based workload identity and temporary credentials, allowing workloads to assume tightly scoped roles without storing static keys.
3. Balancing Security and Scalability
Highly restrictive security policies can become difficult to operate when hundreds of applications are involved.
I addressed this with:
- Reusable landing-zone templates
- ABAC
- Terraform
- GitOps
- Policy-as-code
- Automated guardrails
This allows applications to be deployed independently while remaining inside the organization's security boundaries.
4. Protecting Kubernetes Workloads
Container environments are dynamic, so traditional IP-based security is not always sufficient.
I addressed this using:
- Default-deny NetworkPolicies
- mTLS
- Workload identities
- Admission control
- Signed images
- CVE scanning
- Runtime monitoring
- Restricted pod security
What Makes This Project Different
The most important aspect of this project is that security is designed from the beginning, rather than added after deployment.
Instead of asking:
"How do we protect our network?"
the architecture asks:
"Who is requesting access, what are they requesting, why do they need it, and can we verify every step?"
The architecture also treats every application as an independent security boundary.
This means adding the 100th application should not require redesigning the entire network. The same secure landing-zone pattern can be reused and automatically enforced.
Future Improvements
The architecture can be extended further with:
- Automated threat intelligence integration
- AI-assisted security anomaly detection
- Automated attack-path analysis
- More advanced DLP
- Continuous compliance monitoring
- Automated red-team simulations
- Expanded multi-cloud policy enforcement
- Security dashboards for real-time visibility
The roadmap already includes continuous SIEM monitoring, automated incident-response playbooks, purple-team testing, and quarterly security reviews.
Final Thoughts
Building this project changed the way I think about cybersecurity.
I learned that a secure system is not created by one powerful security tool. It is created by multiple small, carefully designed controls working together.
My final design follows a simple principle:
$$ \boxed{\text{Never Trust Automatically. Always Verify.}} $$
By combining Zero Trust, identity-based access, network segmentation, Kubernetes security, encryption, centralized monitoring, and automated guardrails, this project provides a scalable approach for protecting a modern college hybrid datacenter.
The ultimate goal is not simply to prevent every attack — because no architecture can guarantee that.
The goal is to ensure that when one component is compromised, the compromise does not become a compromise of the entire organization.
Built With
- amazon-web-services
- cloudtrail
- cosign
- cybersecurity
- eks
- falco
- gitops
- guardduty
- iam
- ipsec
- istio
- kms
- kubernetes
- kyverno
- oidc
- opa
- openshift
- saml
- security-groups
- siem
- terraform
- transit-gateway
- vpc
- zero-trust
- ztna
Log in or sign up for Devpost to join the conversation.