我目前正在开发一个 Java EE 应用程序,它可能会在 Glassfish v2.1 应用程序服务器和 PostgreSQL 8.4 上运行。
由于我们目前人力非常短缺(只有我一个人),我正在寻找需要尽可能少的维护以实现高可靠性和可用性的生产平台解决方案。该解决方案还应该能够在没有任何惊天动地的大爆炸的情况下以小步骤扩展进化。所以它应该是一个同质的操作系统环境(即只有一个操作系统)。所选择的操作系统不应该被要求尽可能长时间地改变。这就是为什么应该有很长一段时间的支持,并且操作系统也应该能够在高端硬件上运行,如果以后需要更可靠的硬件(即 Sparc 或 Power CPU 等)。
我确实有一些次要的 linux 技能——但只是为了能够照顾我的开发者盒子。所以无论如何我都必须从头开始学习几乎所有的东西,而且我不必成为一个全面的管理员向导——我只需要设置和维护这个特定设备所需的技能,比如自我破解设置。
这就是我选择 Solaris 作为操作系统的原因。由于 Solaris 10 现在已经 4 岁了,据传 Solaris 11 将在 2010 年年中发布,而我们的软件的第一个版本计划在 2010 年春季发布,所以 Solaris 11 可能比 Solaris 10 更有趣:这样的话,我不会随时从 10 迁移到 11,并且已经可以在任何脚本和安装配置中使用 Solaris 11 功能。
Sun 声称下一个 Solaris 版本将从 OpenSolaris 2009.6 和 2010.2 派生,所以只要 Solaris 11 不可用,我就可以使用 OpenSolaris,因为 OpenSolaris 似乎已经相当成熟和经过测试,而我们的 JEE 应用程序当时还没有那么成熟反正时期。
我剩下的问题(Sun 显然不会也无法回答,因为这是一个猜谜游戏)是:
您认为 Opensolaris 2009.6 以及更高版本的 2010.2 可以被视为一个相当先进的 Solaris 11 Beta 版本吗?那么它和 Fedora Core 6 和 RHEL 5 之间的关系是一样的吗?即,实际上所有 Opensolaris 功能也将包含在第一个 Solaris 11 版本中?或者当我的所有脚本从 OpenSolaris 2010.2 迁移到 Solaris 11 时,它们是否会中断,因为 Opensolaris 2010.2 中会有一些功能不包含在 Solaris 11 中,例如 ZFS 加密等?
我计划开发一个 OpenSolaris 自动安装系统,其中安装服务器和客户端安装在 VirtualBox 机器中用于测试目的,然后使用此过程安装一个或多个生产使用的专用服务器。你猜这个设置会在 Solaris 11 中中断吗?
完全免责声明 我目前在 Sun 工作,但我不代表他们 - 所有这些信息都是免费提供的,但有点难以找到。
Solaris 10 已经发布了几年,现在是更新 7 - 新功能已从 OpenSolaris 进入 Solaris 10,并且几乎肯定会继续这样做,但速度比 OpenSolaris 发行版慢。
OpenSolaris 混淆这个名称指的是几个不同的东西。有 Solaris Express 社区版 (SXCE) - 大约每 2 周发布一次的二进制发行版,它是由名为 Nevada(又名 Solaris 11)的产品的内部构建创建的。在退回 Nevada/SXCE 后不久,这些又回到了 OpenSolaris 2009.06(又名 Indiana)的开发版本,并且每隔几周就会发布一次。如果您想运行最新最好的部分,您可以通过更改您的 OpenSolaris (indiana) 存储库来实现。
OpenSolaris 的 2008.11 和 2009.06 6 个月版本几乎完全是开源的(nvidia 图形驱动程序是显着的例外之一)并且也受支持,这些不是 BETA 版本 - 您可以购买合同并将任何重要的修复程序移植回这些版本通过付费支持存储库。安全修复程序最终将重新移植到 OpenSolaris 2008.11 和 2009.06(最新两个版本),并且无需与任何人签订合同即可使用。
您的选择是 Solaris 10 update 7 或 OpenSolaris 2009.06,SXCE 发行版从来都不是受支持的操作系统,获得修复的唯一方法是升级整个操作系统。我个人建议将 2009.06 的 6 个月版本作为一个很好的起点,除非您需要为您的环境提供非常长期的企业支持(10 年以上)。如果您对扩展感兴趣,那么值得注意的是,这些天您可以在 Amazon EC2 云中获得 OpenSolaris 2009.06 实例。所有 Sun Solaris 发行版都将在大多数 x86 和大多数 SPARC 硬件上运行。
如果您还没有,请查看http://www.opensolaris.com/learn/faq/ 。
请记住,应用程序的可靠性、可用性和可扩展性将更多地与应用程序和基础架构设计有关,而不是您选择的平台。
如果您正在处理一个非常大的应用程序,那么在 Sun big Iron 上运行的能力肯定会克服一些与性能相关的问题。但横向扩展到 x86 机器集群的能力可能会产生更好的可用性和更容易的扩展。
Solaris 和 OpenSolaris 之间最大的区别之一是包管理系统。我不确定 Solaris 11 软件包管理的计划是什么,但我不确定您是否可以依靠从 OpenSolaris 到 Solaris 的任何安装类型的东西而无需做一些工作。
为一个目前不存在的平台进行开发总是会是一个有相关风险的猜谜游戏。
如果您正在寻找最新版本,最好选择 Solaris Express Community Edition (SXCE)。它每隔几周发布一次,是 OpenSolaris 的基础。随着新版本的发布,您可以继续更新它,并希望越来越接近实际的 Solaris 11 版本。显然,没有人能回答它是否会中断,或者是否会为 Solaris 11 删除某些功能,但这可能是您将获得的最接近的结果。