Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update index.md #2700

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions content/flow/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@ updatedOn: '2024-12-21T09:00:00.000Z'

Modern developer tooling keeps shortening the software lifecycle—but the database is still the bottleneck for many teams. Way too much engineering time is wasted in these tasks still today:

- **Maintaining seed files.** Keeping seed data up to date across all environments is a pain that every production team has experienced. Any schema change or new production data requirement forces manual updates to seed files. This maintenance overhead increasingly grows, distracting engineers from the actual release.
- **Maintaining seed files.** Keeping seed data up to date across all environments is a pain that every production team has experienced. Any schema or data change forces manual updates to seed files. This maintenance overhead increasingly grows, distracting engineers from the actual release.
- **Manually setting up and resetting environments.** End-to-end testing requires clean, isolated environments. Traditional workflows—i.e. spinning up new database instances, manually importing seed data into all of them—create delays in the testing pipeline.
- **Managing shared development instances.** Multiple developers share the same instance for dev cause concurrency issues. Productivity is slowed down due to conflicting changes or overwritten test data. The larger the team, the more of a time sink this is. To avoid this, some teams end up creating many, many dev databases.
- **Managing shared development instances.** Having multiple developers share the same instance for dev is problematic due to conflicting changes or overwritten test data. To avoid this, teams end up creating many dev instances. The larger the team, the more of a time sink it is to manage this growing deployment.

## How Neon reimagines them

To fix this broken system, we propose rethinking database workflows. Instead of using separate instances as independent development environments, we embrace the concept of **ephemeral environments**—environments that are by default short-lived, instantly deployable, active only when being used, and programmatically created or deleted.
To fix this broken system, we propose rethinking database workflows. Instead of using separate, long-lived development instances, we embrace the concept of **ephemeral environments**—environments that are by default short-lived, instantly deployable, active only when being used, and programmatically created or deleted.

These ephemeral environments replicate an exact copy of both the schema and data from a parent environment. This allows teams to focus on maintaining a single parent environment while spinning up as many ephemeral environments as needed, without manual maintenance.
These ephemeral environments replicate an exact copy of both the schema and data from a parent environment. Teams can concentrate on managing this single parent environment while easily spinning up many ephemeral environments from it, without needing manual maintenance.

How do you do it? With [Neon branches](https://neon.tech/docs/introduction/branching).

Expand Down Expand Up @@ -56,6 +56,8 @@ author={{
}}
/>

<CTA title="Launch a branching demo" description="See how it takes <500 ms to create environments preloaded with 1 TB " buttonText="Start" buttonUrl="https://fyi.neon.tech/branching" />

## Examples of database branching workflows you can implement

The concept of database branching is new, and it takes a while to get used to. To help you visualize how it can be achieved in practice, we’ll cover three initial workflows:
Expand Down
2 changes: 1 addition & 1 deletion src/components/shared/doc-cta/doc-cta.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ const DocCta = ({
'doc-cta not-prose rounded-[10px]',
isIntro
? 'my-12 px-6 py-5 md:my-8'
: 'my-5 flex items-end gap-x-16 px-7 py-6 md:flex-col md:items-start',
: 'my-5 flex items-end justify-between gap-x-16 px-7 py-6 md:flex-col md:items-start',
'border border-gray-new-90 bg-[linear-gradient(to_right,#FAFAFA_0%,rgba(250,250,250,0)100%)]',
'dark:border-gray-new-20 dark:bg-[linear-gradient(to_right,#18191B_28.86%,#131415_74.18%)]'
)}
Expand Down