Building a Complete Backend Stack for Startups: Languages, Services, and Tools
This guide walks through the essential layers of a backend technology stack for startups, covering language choices, core components like DNS, load balancing, CDN, RPC frameworks, databases, messaging, logging, monitoring, configuration, deployment, and operational best‑practice processes.
Backend Stack Overview
A backend stack can be divided into four logical layers:
Language : the programming languages used (e.g., C++, Java, Go, PHP, Python, Ruby).
Components : infrastructure services such as message queues, databases, caches, etc.
Processes : development, project, release, monitoring, and coding standards.
Systems : tooling that enforces the processes (CI/CD pipelines, configuration management, etc.).
Component Selection
1. Project / Bug Management
Redmine – Ruby‑based, extensible via plugins.
Phabricator – PHP‑based, includes code review and documentation.
Jira – Java‑based, supports agile workflows.
2. DNS
Domestic services: Alibaba Cloud DNS or Tencent DNSPod. International services: Amazon Route 53.
3. Load Balancing (LB)
Supports Layer 4 (TCP/UDP) and Layer 7 (HTTP/HTTPS) traffic.
Centralized certificate management and health checks.
Use cloud provider LB (Alibaba SLB, Tencent CLB, AWS ELB) or self‑hosted LVS + Nginx.
4. CDN
Domestic providers: Wangsu, Tencent, Alibaba. International providers: Amazon CloudFront, Akamai. Deploy multiple CDNs for redundancy and regional coverage.
5. RPC Frameworks
Two categories:
Cross‑language : Thrift, gRPC (HTTP/2 + ProtoBuf), Hessian, Hprose.
Service‑governance : Dubbo (Java), DubboX (custom extensions), Motan (Sina), rpcx (Go).
6. Service Discovery
etcd – distributed key‑value store used by Kubernetes and Cloud Foundry.
Consul – API‑driven discovery with health checks.
Apache ZooKeeper – widely adopted coordination service.
7. Relational Databases
Traditional: MySQL (or MariaDB). NewSQL examples: CockroachDB, TiDB (distributed SQL with strong consistency).
8. NoSQL Databases
Key‑value: Redis, Memcached.
Column‑family: HBase, Cassandra.
Document: MongoDB, CouchDB.
Graph: Neo4j, InfoGrid.
9. Message Middleware
Used for asynchronous processing, system decoupling, and traffic shaping. Popular open‑source options include Kafka, RabbitMQ, RocketMQ, and others (selection depends on throughput, durability, and language support).
10. Logging System
ELK stack (Elasticsearch, Logstash, Kibana) with Filebeat for log collection. Nginx can act as a reverse proxy to add basic authentication and load balancing for Kibana.
11. Monitoring
Prometheus (pull‑based metrics) + Grafana for visualization. Exporters exist for databases, hardware, and services. Alertmanager provides flexible alert routing.
12. Configuration Management
Centralized config via ZooKeeper or etcd with UI/API.
Push‑based config using automation tools (Puppet, Ansible) that generate files and distribute them.
13. Release / Deployment
Typical pipeline: code → artifact → deployable service → production. Open‑source tools include Jenkins, GitLab CI, Walle, Piplin. A combined Jenkins + GitLab + Walle setup covers most needs.
14. Jump Server
Jumpserver (open‑source) provides role‑based access, audit logs, session recording, and command search.
15. Machine Management
For small‑to‑medium fleets, Ansible is often preferred because it is agent‑less, uses SSH, and defines tasks in YAML playbooks.
Guidelines for Choosing the Stack
Select languages the team already knows, that have modern runtimes and rich open‑source ecosystems.
Prefer mature, widely‑adopted open‑source components over brand‑new projects.
Choose cloud providers that offer the required services, but design for multi‑provider redundancy.
Establish clear development, release, operations, database, and alerting processes.
Consider long‑term scalability, cost, and time‑to‑market pressures typical of startups.
References
http://database.51cto.com/art/201109/291781.htm
https://zh.wikipedia.org/wiki/Kafka
https://prometheus.io/docs/introduction/overview/
http://deadline.top/2016/11/23/配置中心那点事/
http://blog.fit2cloud.com/2016/01/26/deployment-system.html
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.
ITPUB
Official ITPUB account sharing technical insights, community news, and exciting events.
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.
