我正在为 Erlang 寻找未来版本的分布式软实时托管的基于 Web 的电话应用程序(即,Erlang 看起来绝对是此类应用程序的完美选择)。我来自 .NET 背景,这个应用程序的当前版本使用 C#、WCF 和 JQuery 的组合来提供服务。我现在需要 Erlang 来让我的正常运行时间增加额外的 9,并让我获得更多的服务器成本。
以前我在这里建立了一个开发过程,结合了 VS.NET、GIT、TeamCity 和 MSI 文件的自动部署到我们维护的各种环境。它并不完美,但我们现在都对它很满意。我想知道像我们这样的流程是否适合这种完全不同的技术堆栈(LYME)?
我相信我们以前使用 .NET 解决的所有编程挑战都可以用更少的代码用 Erlang 更好地解决,所以我完全相信语言选择。通过阅读有关 Erlang 的 Pragmatic 和 O'Reilly 书籍,我还不明白我应该如何调整我的软件工程和应用程序生命周期管理 (ALM) 流程以适应新平台。我看到就地代码更新可以使我(以及我的测试和运营团队)的生活更轻松(与尝试在 Windows 网络上部署 MSI 文件的可怕痛苦相比),但我不确定事情应该如何改变当我使用 Erlang 时。
你会怎么做:
- 在 Erlang 中做持续集成(常用吗?)
- 在 QA 周期中使用它(我们经常使用 GIT 运行并发主题分支,它们有自己的 mini-QA 周期,因此它们都被部署到测试环境中)
- 构建代码并将其分发到 DEV、TEST、UAT、STAGING 和 PROD 环境
- 将代码生成阶段集成到您的构建周期中(我们目前使用 MSBUILD + T4 模板)
- 为一堆不同的服务器集中日志记录(我们目前使用 Log4Net、MSMQ 等)
- 使用 SCOM 等工具进行警报
- 确定某人/某事是否错误配置了您的生产服务器
- 仅在经过充分的 QA 后才允许生产热修复(仅由授权人员)
- 分析应用程序的性能(计算和通信)
- 与基于 Windows 的活动目录服务器交互
我想我需要知道什么对你有用,为什么!您使用了哪些工具和框架?你尝试了什么失败了?如果你可以重新开始,知道你现在所知道的,你会做些什么不同的事情?