Page 1 of 1

了解 Aircall 技术栈:编程语言、框架、工具等

Posted: Sun Feb 02, 2025 9:45 am
by roseline371277
在每次面试中,工程师都会问:“你的技术栈是什么,你使用什么工具?”。
每个团队都有一定的自主权,但我们仍然在整个组织内共享一些标准和工具。

Aircall 工程团队有近 200 人,分为多个敏捷团队,负责不同的业务领域,如电话、用户管理、仪表板、集成等,总共有 30 多个团队。SRE 和 QA 有自己的结构,有时嵌入产品团队,其他则在单独的领域团队中工作。

这个列表并不详尽(并且不断根据我们的需求进行调整,包括一家潜在的Ruby on Rails 开发公司),但它很好地描绘出了我们的状况。

编程语言和框架
我们的主要编程语言是Typescript,因为我们采用AWS 无服务器 (Lambdas、AppSync、DynamoDB)和Node.js进行后端开发,使用React进行前端开发。
我们的核心是一个运行在Ruby on Rails上的单体应用。我们有一个团队坚持不 巴基斯坦数字数据集 懈地将其分解,以迁移到我们的新技术栈,并取得了重大进展。
DataPlatform 团队使用Go。
我们的 QA 团队使用 Python 编写大部分测试。
当然,我们的原生 Android 和 iOS 应用分别是用Kotlin和Swift编写的。
我们的大多数内部 API 都是REST,但我们为客户端应用程序引入了GraphQL API,并取得了良好的效果。
基础设施和监控
我们毫不犹豫地选择AWS作为我们的主要云提供商并使用其提供的所有服务。
如果它存在于 AWS 目录中,我们会使用它:EC2、ECS、EKS、lambda、AppSync、DynamoDB、Aurora Postgresql/Mysql、ElastiCache Redis、Amazon OpenSearch(以前称为 ElasticSearch)、Cloudfront、S3、SQS、Redshift等等。

Aircall 中的一切都是基础设施即代码,可以使用AWS SAM或Terraform。

Gitlab.com是我们的代码存储库和 CI/CD 工具。
Datadog 是我们的主要 可观察性 和监控工具。我们将其用于日志、APM、RUM 和监控。
我们使用Sentry和Rollbar进行应用程序错误跟踪。为什么要使用两个?因为错误跟踪至关重要;选择您的选择,监控并修复它们。
我们有SonarQube用于静态代码分析,还有 SAST 和Snyk用于漏洞扫描。
SaaS 工具
Atlassian套件
JIRA、Confluence和Service Desk是组织产品待办事项、支持队列和管理内部文档的核心支柱。

一些项目管理在Monday.com上进行,但工程/技术主要在 JIRA 上进行。