How to Build a Scalable Backend Stack for Startups: Languages, Components, and Best Practices
This article outlines a comprehensive backend technology stack for startups, covering language choices, core components such as project management, DNS, load balancing, CDN, RPC frameworks, service discovery, relational and NoSQL databases, messaging middleware, logging, monitoring, CI/CD, configuration, deployment, and operational best‑practice recommendations.
Backend Stack Overview
The backend stack can be divided into four layers: language, components, processes, and systems. Together they form the foundation of any large‑scale backend deployed on servers.
Component Selection for Startups
1. Project/Bug Management
Redmine – Ruby‑based, many plugins, customizable fields, project management, bug tracking, wiki.
Phabricator – PHP‑based, originally from Facebook, integrates code hosting, code review, task and document management.
Jira – Java‑based, supports user stories, task breakdown, burndown charts, suitable for both project and cross‑department collaboration.
悟空 CRM – Customer‑relationship management; can be used for issue tracking in B2B startups, but its open‑source version is hard to maintain at scale.
2. DNS
Alibaba Wanwang – Alibaba’s domain service after acquiring Wanwang in 2014.
Tencent DNSPod – Acquired by Tencent in 2012, provides DNS resolution and protection features.
For domestic services, either provider is sufficient; large enterprises like Toutiao use DNSPod. Internationally, Amazon Route 53 is the preferred choice.
3. Load Balancing (LB)
Supports Layer‑4 (TCP/UDP) and Layer‑7 (HTTP/HTTPS) protocols.
Centralized certificate management for HTTPS.
Health checks.
Use cloud provider LB services (Alibaba SLB, Tencent CLB, Amazon ELB) when all machines are in the same cloud; otherwise combine LVS + Nginx.
4. CDN
Domestic market is dominated by Wangsu (40%+), followed by Tencent and Alibaba. Internationally, Amazon and Akamai share the market. For startups, Tencent Cloud or Alibaba Cloud CDN is sufficient, but multiple CDNs are recommended for redundancy.
5. RPC Frameworks
RPC enables remote procedure calls across machines. Two main families exist: cross‑language and service‑governance.
Cross‑language: Thrift, gRPC (Google’s high‑performance HTTP/2‑based framework), Hessian, Hprose.
Service‑governance (Java‑centric): Dubbo, DubboX, Motan, rpcx.
6. Service Discovery
Common registries: etcd, Consul, Apache ZooKeeper. They provide high‑availability key‑value storage for configuration and service registration.
7. Relational Databases
Traditional SQL databases (MySQL, MariaDB, PostgreSQL, Oracle, DB2) are widely used. NewSQL solutions (CockroachDB, TiDB) offer horizontal scalability, strong consistency, and built‑in analytics.
8. NoSQL
Four main types:
Key‑Value (Redis, Memcached, BerkeleyDB).
Column‑Family (HBase, Cassandra).
Document (MongoDB, CouchDB).
Graph (Neo4j, InfoGrid).
9. Message Middleware
Used for asynchronous processing, system decoupling, and traffic shaping (e.g., flash‑sale order queuing). Common choices include RabbitMQ, Kafka, RocketMQ, and custom MySQL/Redis queues.
10. Code Management
Git – de‑facto version control.
GitLab – Open‑source Git hosting with CI integration.
Gerrit – Provides fine‑grained code review and branch management.
11. Continuous Integration (CI)
Jenkins – Java‑based, extensive plugin ecosystem.
TeamCity – User‑friendly, commercial after a certain scale.
GitLab CI – Integrated with GitLab pipelines.
Travis, Go, Strider – Other options depending on language and hosting.
12. Logging System
ELK stack (Elasticsearch, Logstash, Kibana) plus Filebeat for log collection. Secure access via Nginx reverse proxy.
13. Monitoring
Prometheus (pull‑based metrics) with Grafana for visualization. Exporters exist for databases, message queues, and other services.
14. Configuration System
Two approaches: (1) Directly use ZooKeeper or etcd with UI/API and versioned history; (2) Push configuration via automation tools (Puppet, Ansible) and generate config files on clients.
15. Release/Deployment System
Typical flow: code → artifact → deployable service → production. Open‑source tools like Jenkins + GitLab + Walle can cover artifact management, release workflow, permission control, gray release, and rollback.
16. Jump Server
Jumpserver provides role‑based access control, audit logging, and session recording for privileged operations.
17. Machine Management
Choose tools based on simplicity, agent requirement, language, and speed. Ansible is recommended for small‑to‑medium teams due to its agent‑less SSH operation and YAML playbooks.
Startup Decision Guidelines
Select languages familiar to the team, modern with built‑in memory management and threading.
Prefer languages with rich open‑source ecosystems and active communities.
Choose components and cloud services that are mature, widely adopted, and have good documentation.
Establish clear development, release, operations, database, and alerting processes.
Automate configuration and deployment to avoid manual errors.
Cloud‑Based Backend Architecture for Startups
The diagram illustrates how a startup can combine cloud services, open‑source components, and custom tooling to build a robust, scalable backend.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Java High-Performance Architecture
Sharing Java development articles and resources, including SSM architecture and the Spring ecosystem (Spring Boot, Spring Cloud, MyBatis, Dubbo, Docker), Zookeeper, Redis, architecture design, microservices, message queues, Git, etc.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
