Architecture · Hybrid Cloud

You Don’t Need to Self-Host Everything

A practical case for keeping sensitive data in-house while running the edge in multiple clouds.

You Don’t Need to Self-Host Everything

A Practical Case for Keeping Sensitive Data In-House While Running the Edge in Multiple Clouds

Cloud platforms are extraordinarily useful. But “put everything in one cloud” should no longer be treated as the default answer.

Recent large-scale outages have shown how failures in DNS, authorization, configuration propagation, and private connectivity can take down systems that are otherwise distributed across zones or regions. Security incidents have also shown that a cloud platform itself does not need to be breached: stolen credentials and an over-concentrated data estate may be enough.

This article proposes a selective form of self-hosting:

Keep credentials, personally identifiable information (PII), and authoritative data inside a boundary you control. Put the public-facing portal in the cloud—and, when availability justifies the cost, in more than one cloud.

This is not a call to abandon the cloud or rebuild the server rooms of the past. It is a way to decide what should be entrusted to a provider and what should remain under your direct control.


Why I Started Thinking About This

My interest in multi-cloud architecture did not begin as an abstract exercise.

An AWS VPC endpoint incident made one of our portals unavailable. Other large services were affected during the same period. A dependency that looked like internal cloud plumbing had become a single failure domain for the entire application.

The lesson was not simply that “AWS can fail.” Every infrastructure provider—and every private data center—can fail. The more useful lesson was this:

Availability boundaries do not necessarily follow the boxes in an architecture diagram.

An application may span several availability zones and still depend on one regional control plane, DNS system, identity provider, edge configuration, or private connectivity path.

That experience led me toward multi-cloud delivery. It also led to a more important conclusion: not every organization needs to implement the final multi-cloud design on day one.

For many systems, separating sensitive data from the public application is already a meaningful destination.


What Recent Incidents Tell Us

Several major incidents in 2024 and 2025 shared a pattern: the initiating failure was not merely a broken server. It was a failure in automation, authorization, DNS, or configuration distribution.

Period Provider What happened Architectural lesson
June 2025 Google Cloud A Service Control failure produced widespread 503 errors for roughly three hours Regional application redundancy cannot help when a shared authorization layer fails
October 2025 AWS A race condition in DynamoDB DNS automation caused prolonged disruption in us-east-1 Multi-AZ deployment does not remove dependencies on regional control systems
October 2025 Microsoft Azure An Azure Front Door configuration problem affected the global edge and dependent services A shared entry point can become a very large failure domain
November 2025 Cloudflare A defective configuration associated with Bot Management caused a global outage Outsourcing the entire edge to one provider can take unrelated properties down together

Three conclusions follow:

  1. Control-plane and connectivity failures can be more consequential than individual hardware failures.
  2. Multi-AZ—and sometimes multi-region—redundancy inside one provider does not cover every failure mode.
  3. Recovery may take hours rather than minutes.

Managed infrastructure removes a great deal of operational work. It does not remove concentration risk.


Security Is Also a Concentration Problem

The 2024 campaign against Snowflake customer environments is an important example. According to Mandiant, attackers used credentials obtained outside Snowflake and targeted customer instances that often lacked enforced multi-factor authentication. The core Snowflake platform did not need to contain a vulnerability for large datasets to be exfiltrated.

The Change Healthcare incident offers a related lesson. Remote access without MFA was identified as an important entry point, and the disruption spread through a system on which a large part of US healthcare depended.

These incidents do not prove that on-premises systems are inherently safer. A poorly maintained private environment can be much less secure than a well-operated cloud service.

The real questions are:

Selective self-hosting changes the ownership and size of the trust boundary. Its value comes from deliberate separation, not from the physical location of a server alone.


The Architecture: A Data-Sovereignty Boundary

Portal and multi-cloud integrated architecture with a data-sovereignty boundary

The design has three layers:

Internet / Users
        |
        v
Neutral dual-provider traffic management
        |
        +--------------------+
        |                    |
   Cloud A (GCP)        Cloud B (AWS)
   non-sensitive        non-sensitive
        |                    |
        +------ redundant encrypted links ------+
                             |
                       On-premises
        credentials / PII / authoritative data

The cloud is responsible for presentation, edge protection, and elastic delivery. The self-hosted environment is responsible for identity, sensitive records, authoritative writes, and sanitization.

Inside the controlled boundary

Component Responsibility
Identity provider OIDC/OAuth2 issuer and authoritative login system
MFA and passkeys Strong authentication rather than password-only access
Identity/user database Sensitive user attributes and credential material
Writer API The only approved write path
Core data store The source of truth
Sanitized Reader Field allowlisting before responses leave the boundary
Audit log Durable evidence of sensitive operations
Import and analysis services Processing close to the authoritative data

The operating rule is:

Credentials, PII, and master data do not leave the controlled boundary.

Cloud systems receive short-lived tokens, reference identifiers, and explicitly allowlisted results. PII should not be placed in JWT claims or application logs. Sanitization is a product requirement, not a cosmetic filter added at the end.

In each cloud

Layer Google Cloud example AWS example
Edge protection Cloud Armor AWS WAF
Static portal Cloud Storage Amazon S3
API/BFF Cloud Run App Runner

Both stacks contain only non-sensitive data. If availability requirements justify it, they run active-active and either stack is sized to accept all traffic.

The two cloud deployments are useful only if their shared dependencies are also examined. DNS, container registries, observability, payment services, secrets, and deployment systems can quietly reintroduce a single provider dependency.


Why This Requires Less Hardware Than Traditional On-Premises IT

“Move data back on-premises” often evokes an entire legacy data center. That is not the proposal.

The public UI, WAF, BFF, and elastic workloads remain in the cloud. The local footprint is limited to the sensitive path: identity, keys, authoritative data, sanitization, and audit.

Traditional on-premises model Selective self-hosting
Web, application, database, email, batch processing, and files Identity and sensitive data path only
Public traffic terminates locally Cloud edge receives public traffic
Scaling means adding racks Elastic portions scale in the cloud
Specialized appliance-heavy stack Containers, PostgreSQL, GitOps, and familiar cloud-native tooling
A complete server room Potentially a small redundant cluster

The exact size depends on workload, RTO, RPO, retention, and compliance requirements. “A few nodes” is not a universal sizing rule. It is an observation that a narrowly defined trust boundary can be dramatically smaller than an entire enterprise application estate.

Power, cooling, physical security, backups, spare parts, independent network paths, monitoring, and tested recovery procedures still matter. The hardware may be smaller; the operational responsibility is not optional.


The Most Important Trade-Offs

1. The local site can become the new single point of failure

If every login and read crosses an encrypted link to one on-premises site, losing that site stalls the portal even when both cloud frontends are healthy.

A production design must define its degraded mode:

These decisions should be driven by explicit RTO and RPO targets.

2. The identity provider and reader set the throughput ceiling

Scaling cloud frontends does not help if all requests converge on a local identity service or Sanitized Reader. Capacity tests must include the links and the services behind them.

3. Sanitization is the substance of the sovereignty claim

An allowlist should define exactly which fields may cross the boundary. Joins, aggregates, small cohorts, and stable identifiers can make supposedly anonymous data identifiable again.

4. Caching improves availability but weakens the boundary

A short-lived cache of non-sensitive results may be a reasonable compromise. Replicating what is effectively the master dataset into both clouds is not the same architecture.

5. Multi-cloud has a real operational cost

Active-active delivery requires:

Multi-cloud should be reserved for workloads whose availability requirements justify that cost. Even AWS’s own prescriptive guidance recommends using it when a single provider cannot meet the actual technical or business requirement—not as a default badge of maturity.


A Three-Phase Adoption Path

Trying to build the full diagram at once is a good way to make the project too expensive to approve.

Phase 1 — Separate the data

For organizations primarily concerned with data control, auditability, or breach radius, Phase 1 can be the destination.

Phase 2 — Bring the identity authority under your control

This phase addresses identity concentration directly, but it also creates a service that must be operated and recovered exceptionally well.

Phase 3 — Add a second cloud for availability

This phase is for systems that must remain accessible through a provider, region, or private-connectivity failure.


Phase 1 Is Not Merely a Prelude

Architecture diagrams encourage us to admire the completed system. Real projects should stop where the business problem has been solved.

Primary concern Sensible destination
Control of PII and authoritative data Phase 1
Control of credentials and authentication policy Phase 2
Portal availability through a cloud-provider failure Phase 3

Treating Phase 1 as a complete deliverable makes selective self-hosting accessible to many more organizations. It creates a documented data boundary, reduces unnecessary copies, and prepares the system for later changes without committing immediately to multi-cloud operations.

The point is not to self-host more. It is to self-host the right things.


Conclusion

The lesson from recent outages is not that cloud platforms are immature. It is that very large systems inevitably contain shared control planes and hidden concentration points.

The lesson from recent security incidents is not that private hardware is magically safe. It is that centralized data combined with valid stolen credentials can create an enormous blast radius.

A practical response is neither “cloud everything” nor “bring everything home”:

Keep the authoritative sensitive path under a boundary you control, while using cloud platforms for public delivery and elasticity.

Start by classifying and separating the data. If that solves the problem, stop there with confidence. Add self-hosted identity when control of authentication justifies the responsibility. Add multi-cloud delivery only when the availability requirement justifies the cost.

Cloud is still part of the answer. It is simply no longer the place where every answer must live.


References