Skip to content
TBH
Back to blog
January 8, 202612 min read

Backend Architecture in Practice 2026: From Startup to Enterprise

This is the article we wish we had when we started building backends for clients. It brings together everything we've learned about choosing technology, designing systems, and avoiding the mistakes that cost time and money.

Who is this guide for?

  • Startup founders who need to choose their first tech stack
  • Tech leads considering modernizing existing systems
  • Developers who want to understand the big picture behind architecture decisions
  • Decision-makers who need to evaluate technical recommendations

Part 1: What Does Your Backend Need?

Before you choose technology, you need to understand your requirements. Most projects don't fail because of the wrong framework, they fail because the requirements weren't clear.

The Four Dimensions

1. Performance Requirements

  • How many requests per second?
  • What are acceptable response times?
  • Do you have real-time needs?

2. Scaling Requirements

  • Do you expect 100 or 100,000 users?
  • Is load constant or variable?
  • Do you need to scale geographically?

3. Data Requirements

  • Relational or document-based data?
  • How much data do you need to handle?
  • Compliance and GDPR requirements?

4. Team Requirements

  • What can your team do today?
  • How quickly do you need to hire?
  • How much time do you have to learn something new?

The Most Important Insight

Team requirements trump technical requirements in 90% of cases.

The best architecture is the one your team can build, maintain, and understand. A mediocre solution that is well-documented and well-understood beats a "perfect" solution nobody understands.

Part 2: Languages and Frameworks

Startup Stage (0-10 employees)

At this stage, speed is crucial. You need to validate ideas, not build the perfect system.

Recommendation: Node.js + TypeScript or Python

BenefitWhy it matters
Fast developmentYou can ship features in days, not weeks
Large talent poolEasy to hire or find freelancers
Mature ecosystemA library for everything you need
Low costCheap hosting, affordable developers

Avoid: Rust, Go, Elixir - unless your team already knows them. You don't have time to learn something new now.

Growth Stage (10-50 employees)

Now performance starts to matter. You have users, you have data, and you have technical debt.

Recommendation: Keep most of it, optimize what's critical

This is the stage where many make the mistake of rewriting the entire system. Don't.

Instead:

  1. Identify the 20% causing 80% of the problems
  2. Optimize or rewrite only those parts
  3. Keep the rest stable

Good time to introduce:

  • Go for performance-critical services
  • PostgreSQL migration if you're still on NoSQL
  • Proper caching (Redis)
  • Message queues (RabbitMQ, SQS)

Enterprise Stage (50+ employees)

Now you have dedicated teams, compliance requirements, and systems that need to run for 10+ years.

Recommendation: Stability and maintainability over cutting-edge

ChoiceReasoning
Java/Kotlin or GoMature, stable, easy to hire
PostgreSQLProven for decades, fantastic tooling
KubernetesStandardized infrastructure
TerraformReproducible deploys

Consider Rust when: performance is differentiating, you have 6+ months to build competence, and you can attract Rust developers.


Part 3: Database Architecture

The Relational Standard

PostgreSQL is the right choice for 90% of projects. It's not sexy, but it works.

When PostgreSQL:

  • You have structured data
  • You need ACID transactions
  • You want an active community
  • You want to avoid vendor lock-in

When NoSQL (MongoDB, DynamoDB):

  • Extremely variable schema
  • Web-scale reads (millions per second)
  • You know what you're doing (really)

Caching Strategy

Cache is not optional in 2026. The question is how.

Level 1: CDN

  • Static content (images, CSS, JS)
  • Edge caching for API responses
  • Vercel, Cloudflare, or AWS CloudFront

Level 2: Application cache

  • Redis for sessions and hot data
  • In-memory cache for computed values
  • Cache invalidation strategy (the hard part)

Level 3: Database query cache

  • Materialized views
  • Query result caching
  • Connection pooling (PgBouncer)

Data Patterns That Scale

Event Sourcing: Store all changes as events. Expensive to implement, but gives full audit trail and ability to "time travel".

CQRS: Separate read and write models. Good when read patterns are very different from write patterns.

Saga Pattern: Coordinate distributed transactions. Necessary when you have microservices that need to work together.

Part 4: Architecture Patterns

Monolith vs Microservices

Start with a monolith. Always.

Microservices solve organizational problems, not technical ones. If you have one team, you don't need microservices.

MonolithMicroservices
1 deployableMany deployables
Simple debuggingDistributed tracing required
Simple local developmentComplex local setup
All teams share codebaseTeams own separate services

Migrate to microservices when:

  • You have 3+ teams blocking each other
  • Parts of the system have very different scaling needs
  • You have DevOps capacity to handle the complexity

API Design

REST for most use cases

  • Simple, well-understood
  • Well-cached at HTTP level
  • Fantastic tooling

GraphQL when:

  • Many different clients with different data needs
  • You have complex, nested data structures
  • Frontend team wants more control

gRPC for:

  • Service-to-service communication
  • Streaming
  • Performance-critical paths

Asynchronous Patterns

Not everything needs to happen synchronously. Message queues are your friend.

Use queues for:

  • Email/SMS sending
  • Image processing
  • Report generation
  • Anything that can wait 5 seconds

Popular choices:

  • RabbitMQ - Simple, reliable
  • AWS SQS - Managed, scales infinitely
  • Kafka - For large data volumes and event streaming

Part 5: Infrastructure

Hosting Choices

StageRecommendationWhy
MVPVercel/RailwayFastest to start
StartupAWS/GCP with managed servicesFlexibility
EnterpriseAWS/Azure with KubernetesControl and compliance

Infrastructure as Code

From day one, your infrastructure should be reproducible.

Minimum:

  • Environment variables in .env (never in git)
  • Docker for local development
  • CI/CD pipeline (GitHub Actions)

Growth:

  • Terraform for cloud resources
  • Separate staging/production environments
  • Automatic database backups

Enterprise:

  • Kubernetes for container orchestration
  • GitOps for deployments
  • Disaster recovery plan

Monitoring and Observability

You can't fix what you can't see.

The three pillars:

  1. Logs - What happened?

    • Structured logs (JSON)
    • Centralized logging (Datadog, Grafana Loki)
    • Log retention policy
  2. Metrics - How is the system performing?

    • Request latency
    • Error rates
    • Resource utilization
    • Business metrics (signups, revenue)
  3. Tracing - Where did it go wrong?

    • Distributed tracing (Jaeger, Datadog APM)
    • Request correlation IDs
    • Performance bottleneck identification

Part 6: Security

Basics You Cannot Skip

  • HTTPS everywhere - No exceptions
  • Input validation - Never trust user input
  • SQL injection prevention - Use prepared statements
  • Authentication - JWT or sessions, not both mixed together
  • Authorization - Check permissions on EVERY request
  • Secrets management - Never in code, use Vault or cloud secrets

GDPR and Compliance

If you operate in the EU:

  • Data processing agreements with all third parties
  • Privacy policy that actually explains what you do
  • Ability for data export and deletion
  • Data retention policy
  • Incident response plan

Part 7: The Expensive Mistakes

Mistake 1: Premature Optimization

Symptom: Spending 3 weeks choosing the "perfect" caching layer before you have 100 users.

Cure: Ship first, optimize when you have data showing a problem.

Mistake 2: Resume-Driven Development

Symptom: Choosing Rust/Kubernetes/GraphQL because it looks good on your CV.

Cure: Choose technology based on project needs, not your career goals.

Mistake 3: Rewrites Instead of Refactoring

Symptom: "The current system is so bad, we have to start over."

Cure: Refactor gradually. Rewrites always take 3x longer than estimated.

Mistake 4: Microservices Too Early

Symptom: 3 developers maintaining 12 services.

Cure: Microservices solve organizational problems. If you don't have the problem, don't create the solution.

Mistake 5: No Observability

Symptom: "Users say the site is slow, but I can't see anything in the logs."

Cure: Monitoring from day one. It costs an hour to set up and saves weeks in debugging.

Part 8: Checklist for Your Next Project

Before You Write Code

  • Requirements are documented
  • Team competencies are honestly assessed
  • Budget and timeline are realistic
  • Success criteria are defined

Technology Choices

  • Language fits the team
  • Database fits the data model
  • Hosting fits budget and compliance
  • Third parties are evaluated

Infrastructure

  • Version control (git)
  • CI/CD pipeline
  • Logging and monitoring
  • Backup strategy
  • Secrets management

Security

  • HTTPS
  • Authentication/Authorization
  • Input validation
  • GDPR compliance (if applicable)

Conclusion

Backend architecture isn't about choosing the newest technologies. It's about building systems that:

  1. Solve business problems - not technical problems nobody has
  2. Can be maintained - by the team you have, not the team you dream of
  3. Can scale - when the need arises, not before
  4. Are secure - because you can't afford not to be

The best architecture is the boring architecture that just works.

See what we have built

Nordvec, nævn.dk, Matematik i Måneby in the browser, Semantika and open source.

See the projects