Building a Startup Backend: Essential Stack Choices and Best Practices
This comprehensive guide walks through the four‑layer backend stack, component selection for startups—including languages, databases, messaging, monitoring, and deployment tools—and offers practical advice on choosing cloud providers, defining processes, and designing a cloud‑centric architecture for fast‑moving companies.
When discussing backend technology stacks, the article first outlines four layers: language, components, processes, and systems.
Four Layers of Backend Stack
The language layer includes C++, Java, Go, PHP, Python, Ruby and others. Components cover MQ, databases, caching, etc. Processes involve development, project, release, monitoring, and code standards. Systems refer to tools that enforce these processes, such as release and configuration management systems.
Component Selection for Startups
1. Project/Bug/Issue Management
Redmine – Ruby‑based, plugin‑rich but many plugins are outdated.
Phabricator – PHP‑based, integrates code review, task management, and documentation.
Jira – Java‑based, supports agile workflows, burndown charts, and extensive issue tracking.
Wukong CRM – Customer‑centric, suitable for small B2B client bases, but code maintenance is difficult.
2. DNS
Alibaba Wanwang – Domestic provider, basic paid tier sufficient for most use cases.
Tencent DNSPod – Domestic provider, widely used, paid tier offers higher reliability.
Amazon Route 53 – Recommended for overseas deployments.
3. Load Balancer (LB)
Cloud provider LB services (Alibaba SLB, Tencent CLB, AWS ELB) for homogeneous cloud environments.
Self‑built LVS + Nginx for private data‑center deployments.
4. CDN
Domestic: Wangsu (dominant), Tencent, Alibaba.
International: Amazon CloudFront, Akamai.
5. RPC Frameworks
Cross‑language: Thrift, gRPC, Hessian, Hprose – focus on language‑agnostic calls.
Service‑governance (Java‑centric): Dubbo, DubboX, Motan, rpcx – provide service discovery and governance.
6. Service Discovery / Naming
etcd, Consul, Apache ZooKeeper – widely adopted high‑availability key‑value stores.
Custom or Redis‑based solutions when simplicity is required.
7. Relational Databases
Traditional: MySQL, MariaDB, PostgreSQL, Oracle, DB2.
NewSQL examples: CockroachDB, TiDB – offer horizontal scalability and strong consistency.
8. NoSQL Databases
Key‑Value: Redis, Memcached.
Column‑family: HBase, Cassandra.
Document: MongoDB, CouchDB.
Graph: Neo4j, InfoGrid.
9. Message Middleware
Kafka, RocketMQ, RabbitMQ, etc., used for asynchronous processing, system decoupling, and traffic shaping.
10. Code Management
Git as the de‑facto VCS; GitLab for hosting and CI, Gerrit for advanced code review.
11. Continuous Integration
Jenkins – plugin‑rich, open source.
TeamCity – user‑friendly, commercial beyond free tier.
Strider – Node.js based, BSD‑licensed.
GitLab CI – integrated with GitLab.
Travis – SaaS, free for open source.
Go – ThoughtWorks’ Cruise Control implementation.
12. Logging System
ELK stack (Elasticsearch, Logstash, Kibana, Filebeat) with Nginx reverse proxy for security.
13. Configuration Management
ZooKeeper/etcd based UI and API solutions, or configuration‑file push via Ansible/Puppet.
14. Release/Deployment System
Open‑source options such as Walle or Piplin combined with Jenkins/GitLab for artifact management.
15. Jump Server
Jumpserver – open‑source bastion host providing access control, audit, and session recording.
16. Machine Management
Ansible – agent‑less, SSH‑based, suitable for small to medium fleets.
SaltStack, Puppet, Chef – consider when agent‑based management or specific language ecosystems are needed.
Startup Decision Guidelines
Choose languages familiar to the team, modern with built‑in memory and threading management, and backed by active open‑source ecosystems to reduce development cost and hiring friction.
Select reliable cloud providers and mature open‑source components that have proven in large‑scale internet companies.
Define clear development, release, operations, database, and alerting processes, and enforce them with supporting systems.
Consider self‑development only when off‑the‑shelf solutions cannot meet specific needs.
Cloud‑Based Backend Architecture for Startups
The final architecture diagram (Figure 10) illustrates a cloud‑centric stack integrating the selected components, services, and management tools.
Reference materials are listed at the end of the original article.
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.
Programmer DD
A tinkering programmer and author of "Spring Cloud Microservices in Action"
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.
