Not Nick Jordan

Where AI slop meets a dumpster fire.

What You Can't Copy from Snowflake

What You Can't Copy from Snowflake

The question sounds purely technical: how do you replicate the Snowflake Native App Framework in AWS? AWS has more compute primitives than Snowflake will ever have — Lambda, Glue, EMR, SageMaker, Redshift, a dozen flavors of managed containers. The honest answer is that you cannot replicate it, and understanding why reveals something important about where platform value actually lives.

What the Framework Actually Does

The Snowflake Native App Framework lets you build and distribute data applications that run inside a customer’s Snowflake environment. The technical mechanism is straightforward enough: the developer packages code as a Snowpark Container Services deployment, governed by Snowflake’s permission model, running against the customer’s own data without that data ever leaving their account. One-click install from the Snowflake Marketplace. Governed access to the customer’s tables. Billing through the existing Snowflake relationship.

You can replicate every one of those technical layers in AWS. Containerized compute on ECS. Column-level permissions via Lake Formation. A managed marketplace via AWS Marketplace. APIs for cross-account data sharing. The infrastructure exists.

What you cannot replicate is why any given customer is in Snowflake in the first place.

The Moat Is Not Compute

Snowflake’s Native App Framework is valuable because Snowflake’s customers already have their data there. Not copies of their data, not a replica — their data, as a matter of operational reality. When a customer buys a native app, they get something they cannot get from a standalone SaaS product: the app runs against their actual dataset without requiring an export, a pipeline, a data sharing agreement, or an ETL job. The value proposition collapses the integration problem that normally adds months to enterprise software deployments.

AWS customers have their data somewhere too, of course. Some of it is in Redshift or S3. But AWS is an infrastructure provider, not a data warehouse operator. The average enterprise that buys compute from AWS does not have a unified, queryable data environment that any application can tap into. They have dozens of data stores, in different services, with different schemas, managed by different teams. There’s no equivalent of “your data is here” — there’s “your data might be here, or here, or here, depending on the application that wrote it.”

That’s not a failure of AWS engineering. It’s a consequence of what AWS is. A platform that provides every possible primitive is, by design, not a platform that makes architectural choices on your behalf. Snowflake’s constraint — your data lives in Snowflake, governed by Snowflake — is exactly the thing that makes the native app model work.

The Replication Attempt

If you actually wanted to build an analog in AWS, you’d be making a series of architectural bets:

You’d pick one query engine (Redshift, most likely, or Athena for S3-backed data) as the canonical data store. You’d build a permission model on top of Lake Formation that governs cross-account access the way Snowflake’s GRANT model does. You’d package apps as container images deployable via AWS Marketplace with a one-click install path. You’d expose a private API layer so apps can query the customer’s data without being given raw credentials.

All of that is buildable. None of it solves the distribution problem. A native app on Snowflake Marketplace benefits from the fact that every Snowflake enterprise customer is already looking at Snowflake Marketplace when they think about extending their data platform. An equivalent construct on AWS Marketplace is invisible to most of those same customers — not because AWS Marketplace is worse, but because customers don’t go there looking for data applications that run against their existing datasets.

The distribution channel is the product. The technical wrapper exists to make the distribution channel trustworthy.

What This Says About Platform Value

There’s a pattern worth internalizing here. The most defensible platform positions in software are not held by the companies with the best technology. They’re held by the companies that have become the place where something already lives — customer data, developer identity, communication history, financial records. Once that position is established, the platform can build a rich API surface around it, and that API surface becomes more valuable than any individual application built on top of it.

Snowflake’s Native App Framework is powerful because Snowflake is where enterprise data lives, and Snowflake got there by being the best at one specific thing: being a really good data warehouse. The native app strategy is an expansion of that position, not the foundation of it.

Any company trying to build the same capability in AWS is not competing with the Native App Framework. They’re competing with Snowflake’s data gravity — the years of pipeline work, schema decisions, and organizational habits that anchor an enterprise to a single query environment. That’s a much harder problem, and it does not have a technical solution.

The Honest Engineering Answer

If you genuinely need Snowflake’s native app model and your customers are on AWS, the answer is usually one of three things: build on Redshift and accept that you’re serving a specific, smaller segment of the market; convince your customers to run Snowflake on AWS (Snowflake runs on AWS; the two are not mutually exclusive); or rethink the product model so it doesn’t require running inside the customer’s query environment at all.

The last option is underrated. A lot of the appeal of native apps — no data export, no pipeline, governed access — can be approximated with a well-designed reverse ETL integration and a strong SLA around data residency. It’s less elegant. It’s far more portable.

The question “how do I replicate X in AWS?” is almost always really asking: “what does X have that I don’t, and can I get it?” The answer to the first part is usually clearer than people want it to be. The answer to the second part usually involves building a different kind of position rather than copying the one you’re trying to replicate.