[译]咱们为什么基于FreeBSD打造解决方案?

[译注]翻译这篇文章,主要是以为老外在思考问题时,敢于打破固有的技术栈积累,尝试不一样的选择,从而找到最合适本身的技术方案、获得真正的实惠。web

Synergy SKY提供多种软件解决方案,本文想讨论的是关于一套用于视频相关的呼叫记录(CDR)分析解决方案。docker

为客户提供方案时有两种选择,一是让客户避免全部的前置安装、构建一套纯粹的云方案,但这种架构仍是有不少术语如数据存储、计算需求和管理;二是直接提供一键式软件预装,这也许是咱们要作的。ubuntu

咱们在VMWare相似的虚拟机环境,能够构建全栈测试环境,但首先面临的问题就是操做系统的选择。CentOS固然是咱们的首选。网络

在测试过程当中,咱们经历的其中一个主要的问题是当应用程序占用太多内存时,Systemd会试图让整个dbus-systemd链接崩溃,致使整个系统处于不稳定的状态,只有重启才能解决问题。架构

咱们还遇到一些其它的问题,可能在最新的CentOS中已经解决了吧。工具

咱们在CentOS系统上已经积累了大量的经验,这在咱们作决定时是件好事。性能

咱们在构建平台时所关注的点:学习

  • 容器技术 (docker进行了全方位的测试,LXC进行了一些)
  • 软件包与软件仓库管理工具 (yum/dnf)
  • 自动化安装
  • 服务管理(Systemd)
  • 如何处理系统的基础配置(网络、服务启动等)

带着CentOS的经验,对于FreeBSD的体验过程也是从头编译了全部要用到的软件。测试

然而抱着“行动前先得到点印象”的想法,咱们仍是决定测试其它的Linux发行版。这正是事情的一个转折点。ui

FreeBSD 10.3给咱们的第一印象就超出了预期。几分钟就能够完成安装,在线手册编写得异常的好。令我惊讶的是有预先编译好的软件包,几乎是开箱即用。几个小时后,我就用FreeBSD搭好了整个技术栈环境。

经过对基于FreeBSD Jail和ZFS的行业案例的了解及本身的体验,咱们立马决定再也不寻找其它的替代品,专一于测试和学习FreeBSD。

  • 容器技术 ⇒ FreeBSD Jails
  • 软件包和软件仓库管理工具 (yum/dnf) ⇒ Pkgng / pkg / ports
  • 自动化安装 ⇒ bsdinstall (咱们甚至构建了PXE安装镜像,让你能够几分钟运行起来一套开发系统)
  • 服务管理系统 ⇒FreeBSD rc
  • 如何处理系统的基础配置(网络、服务启动等) ⇒ FreeBSD rc 及 rc.conf

咱们基于Pkgng做为二进制软件包的发行格式。整个过程当中固然也会遇到这样那样的一些挑战,但历来不上稳定性和性能方面的。在OS和用户空间层软件的隔离清晰,这一点彻底符合逻辑,也被完美执行了。这也让整个系统自动变得更整洁,很容易知道在哪去找配置文件、在哪存放数据。

FreeBSD 给到咱们的是那种“恰好就能用”的体验,并且没有牺牲完整的控制能力。它在实际表现中很是成熟、稳定而又性能强劲!

FreeBSD已经伴随咱们走过两年的时间,咱们没有再中断过。

有几点要再提一下,也是几个让FreeBSD变得更棒的方面:

  • Freebsd-update, 让你的基础操做系统保持更新、与软件包系统相互独立
  • Pkg 仓库持续更新,不会像ubuntu/debian/CentOS那样
  • 开箱即用
  • 经过ports系统,很是容易修改、从新构建和分发定制后的软件包
  • 原生集成ZFS,而不单单是用户空间层面的驱动
  • 商业许可问题更容易处理
  • Network 相关的技术栈,FreeBSD中总共有三种不一样的防火墙,咱们选择了pf

原文:http://blog.synergysky.com/whydidwebuildoursolutionontopof_freebsd

译文有部分删减

相关文章
相关标签/搜索