Skip to content
BEE
Backend Engineering Essentials

[BEE-1] BEE Overview

INFO

BEE (Backend Engineering Essentials) is a collection of vendor-agnostic guidelines and best practices for backend engineering.

Context

Backend engineering spans a wide surface area: authentication, networking, data, distributed systems, observability, and increasingly machine-learning workloads. Engineers learn these topics piecemeal, from blog posts, tribal knowledge, and production incidents. BEE collects them into a numbered, vendor-neutral catalogue with two depth levels: short essentials articles for the foundations, and longer deep-dive series (GraphQL HTTP-layer caching, AI backend patterns) where the topic warrants extended treatment.

Article IDs cluster by category in 1000-id blocks (auth = 1xxx, security = 2xxx, and so on) and URLs are semantic slugs (/auth/oauth-openid-connect, not /1003). Old numeric URLs continue to resolve via redirect stubs.

Purpose

  • Establish shared vocabulary for backend engineering discussions
  • Provide actionable, vendor-neutral guidance for common backend decisions
  • Serve as an onboarding resource for engineers entering backend development
  • Bridge the gap between "I know the syntax" and "I understand the system"

How to Read BEE Articles

Each BEE follows a consistent structure:

  • Context -- Why this principle matters
  • Principle -- The core guidance (uses RFC 2119 keywords: MUST, SHOULD, MAY)
  • Visual -- Diagrams where they aid understanding
  • Example -- Concrete, vendor-agnostic examples
  • Common Mistakes -- Anti-patterns to avoid
  • Related BEEs -- Cross-references to other principles
  • References -- External resources for deeper learning

Categories

Each category occupies a 1000-id block; 1xxx means BEE-1001 through BEE-1999. BEE Overall is an exception (1-99) because it predates the block scheme. AI Backend Patterns is a deliberate exception (30001-39999, 10000 wide).

Foundation Layer (1xxx-4xxx)

PrefixCategorySlugFocus
1-99BEE Overall/bee-overallPurpose, glossary, meta
1xxxAuthentication & Authorization/authIdentity, access control, tokens, sessions
2xxxSecurity Fundamentals/security-fundamentalsOWASP, input validation, secrets, cryptography
3xxxNetworking Fundamentals/networking-fundamentalsTCP/IP, DNS, HTTP, TLS, load balancing
4xxxAPI Design & Communication Protocols/api-designREST, gRPC, GraphQL, versioning, pagination

Architecture & Data Layer (5xxx-8xxx)

PrefixCategorySlugFocus
5xxxArchitecture Patterns/architecture-patternsMonolith, microservices, DDD, CQRS, hexagonal
6xxxData Storage & Database Fundamentals/data-storageSQL vs NoSQL, indexing, replication, sharding
7xxxData Modeling & Schema Design/data-modelingER modeling, normalization, serialization
8xxxTransactions & Data Integrity/transactionsACID, isolation levels, sagas, idempotency

Runtime Layer (9xxx-12xxx)

PrefixCategorySlugFocus
9xxxCaching/cachingInvalidation, eviction, distributed cache, HTTP caching
10xxxMessaging & Event-Driven/messagingQueues, pub/sub, delivery guarantees, event sourcing
11xxxConcurrency & Async/concurrencyThreads, locks, async I/O, worker pools
12xxxResilience & Reliability/resilienceCircuit breakers, retries, timeouts, rate limiting

Engineering Practices Layer (13xxx-16xxx)

PrefixCategorySlugFocus
13xxxPerformance & Scalability/performance-scalabilityEstimation, scaling, profiling, CDN
14xxxObservability/observabilityLogs, metrics, traces, SLOs, alerting
15xxxTesting Strategies/testingTest pyramid, integration, contract, load testing
16xxxCI/CD & DevOps/cicd-devopsCI, deployment strategies, IaC, feature flags

Specialized Domains (17xxx+)

PrefixCategorySlugFocus
17xxxSearch/searchInverted indexes, ranking, query parsing, vector search
18xxxMulti-Tenancy/multi-tenancyTenant isolation, noisy-neighbour, per-tenant limits
19xxxDistributed Systems/distributed-systemsConsensus, replication, partition tolerance, time
30xxxAI Backend Patterns/ai-backend-patternsLLM serving, embeddings, RAG, ML pipelines, MLOps

Why is AI Backend Patterns in the 30xxx block? It is the only category with a 10000-wide allocation (30001-39999) instead of 1000-wide. The block reflects intentionally deeper coverage of AI-system patterns and reserves room for the topic to grow without colliding with future foundational categories.

  • ADE -- API Design Essentials (deep dive on API design)
  • DEE -- Database Engineering Essentials (deep dive on database design)

Maintainer

Alive Kuo -- alegnadise@gmail.com