diff --git a/website/src/app/kb/architecture/critical-sequences/readme.mdx b/website/src/app/kb/architecture/critical-sequences/readme.mdx index c65c9263c..612542061 100644 --- a/website/src/app/kb/architecture/critical-sequences/readme.mdx +++ b/website/src/app/kb/architecture/critical-sequences/readme.mdx @@ -14,8 +14,8 @@ especially critical to the integrity of the entire system: - [Policy evaluation](#policy-evaluation): Deciding whether to allow or deny a connection request. - [DNS resolution](#dns-resolution): Resolving DNS-based Resources. -- [High availability](#high-availability): How Firezone achieves high avability - through load balancing and automatic failover. +- [High availability](#high-availability): How Firezone achieves high + availability through load balancing and automatic failover. These will be explained in more detail below. diff --git a/website/src/app/kb/architecture/tech-stack/readme.mdx b/website/src/app/kb/architecture/tech-stack/readme.mdx index a1dba2b7d..8aba0c347 100644 --- a/website/src/app/kb/architecture/tech-stack/readme.mdx +++ b/website/src/app/kb/architecture/tech-stack/readme.mdx @@ -7,7 +7,7 @@ import Alert from "@/components/DocsAlert"; # Architecture: Tech Stack Firezone has a unique mix of data throughput, reliability, and scability -challenges. So we made sure to pick the right tools for the job. Here's a +requirements. So we made sure to pick the right tools for the job. Here's a high-level overview of the tech stack choices we made and why. ## Control plane @@ -20,7 +20,7 @@ Elixir and Phoenix. [Elixir](https://www.elixir-lang.org) is a functional programming language that's received lots of attention in recent years for its performance and -scalability. +concurrency properties. It's built on top of the [Erlang VM](https://www.erlang.org/), which has a reputation for being fault-tolerant and highly concurrent. Erlang continues to @@ -72,6 +72,15 @@ Client applications: /> +The separation between control plane and data plane state serves two functions: + +- It ensures that control plane messages do not slow down or otherwise block the + data plane processing loop. +- It allows the Client to withstand temporary network partitions from the + control plane API without dropping data plane packets. This means, for + example, existing connections to Resources continue to operate uninterrupted + even as we deploy new versions of the control plane API. + ## Ops and infrastructure Firezone uses the following tools for ops and infrastructure: diff --git a/website/src/components/Footer/index.tsx b/website/src/components/Footer/index.tsx index 8d3bd9fc3..c6046834b 100644 --- a/website/src/components/Footer/index.tsx +++ b/website/src/components/Footer/index.tsx @@ -175,12 +175,12 @@ export default function Footer() {