Backend Technology Stack Selection for Startup Companies
This article outlines a comprehensive backend technology stack for startup companies, detailing language choices, essential components, processes, system tools, and best‑practice recommendations across areas such as project management, DNS, load balancing, databases, messaging, CI/CD, monitoring, and deployment.
The article begins by introducing the concept of a backend technology stack, emphasizing that it encompasses languages, components, processes, and systems required to run services on servers.
It defines four layers of the stack:
Language: the programming languages used (e.g., C++, Java, Go, PHP, Python, Ruby).
Component: middleware such as message queues and databases.
Process: development, release, monitoring, and code standards.
System: tools that enforce the processes, like release management systems.
Following this framework, the article enumerates concrete selections for each layer, targeting startup environments where resources are limited.
Project/Bug Management : recommends open‑source tools like Redmine, Phabricator, Jira, and mentions a CRM option for B2B scenarios.
DNS : suggests domestic providers Alibaba Wanwang and Tencent DNSPod for Chinese deployments, and Amazon Route 53 for international needs.
Load Balancing (LB) : advises using cloud provider LB services (Alibaba SLB, Tencent CLB, AWS ELB) or self‑hosted LVS + Nginx for on‑premises setups.
CDN : compares domestic providers (Wangsu, Tencent, Alibaba) and international ones (Akamai, Amazon), recommending multi‑CDN strategies for resilience.
RPC Frameworks : distinguishes cross‑language options (Thrift, gRPC, Hessian, Hprose) from service‑governance‑focused frameworks (Dubbo, DubboX, Motan, rpcx).
Service Discovery : lists etcd, Consul, and Apache ZooKeeper as the primary registries.
Databases : covers traditional relational databases (MySQL, MariaDB) and NewSQL solutions (TiDB, CockroachDB), and outlines the four layers of NewSQL requirements.
NoSQL : categorizes key‑value, column‑family, document, and graph stores, mentioning Redis, HBase, Cassandra, MongoDB, Neo4j, etc.
Message Middleware : explains use‑cases (asynchronous processing, system decoupling, traffic shaping) and points to a comparative table of popular brokers.
Code Management : stresses security and recommends GitLab (with optional Gerrit) for repository hosting.
Continuous Integration (CI) : lists tools such as Jenkins, TeamCity, Strider, GitLab CI, Travis, and Go Cruise Control.
Logging Systems : recommends the ELK stack (Elasticsearch, Logstash, Kibana, Filebeat) and describes a typical architecture with Nginx reverse‑proxy for security.
Monitoring : compares Zabbix, Open‑Falcon, and Prometheus, detailing Prometheus components (server, exporters, Alertmanager, Grafana) and their suitability for startups.
Configuration Management : presents two approaches—using ZooKeeper/etcd with UI and API, or push‑based configuration via automation tools like Puppet/Ansible.
Release/Deployment Systems : outlines the three‑stage flow from code to artifact, artifact to service, and service to production, mentioning Jenkins, GitLab, Walle, and Piplin as possible building blocks.
Jump Server : recommends Jumpserver for bastion host needs, highlighting audit and access control features.
Machine Management : compares Puppet/Chef (Ruby‑based) with Ansible/SaltStack (Python‑based) and advises Ansible for small‑to‑medium teams.
The article then provides strategic advice for startups: choose familiar, modern, well‑supported languages; prefer mature open‑source components; adopt reliable cloud services; establish clear development, release, and operational processes; and solidify these processes with appropriate tooling.
Finally, it presents a consolidated cloud‑based backend architecture diagram summarizing all recommended components and their interactions for a typical startup.
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.
Architecture Digest
Focusing on Java backend development, covering application architecture from top-tier internet companies (high availability, high performance, high stability), big data, machine learning, Java architecture, and other popular fields.
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.
