![应用程序应如何开发才能方便部署?](https://linux22.com/image/486223/%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E5%BA%94%E5%A6%82%E4%BD%95%E5%BC%80%E5%8F%91%E6%89%8D%E8%83%BD%E6%96%B9%E4%BE%BF%E9%83%A8%E7%BD%B2%EF%BC%9F.png)
我供职于一家为各行各业提供分布式控制系统的公司。我们发现 IT 管理员的技能和兴趣都有很大差异。我们的 IT 管理员团队五花八门,从石油生产工厂的专业 IT 管理员团队到船上厨师的兼职人员,应有尽有。
通用操作员站基于 Windows 平台,通常随附带有幽灵图像的恢复 CD。这种方法虽然有效,但技术含量不高,并且对于包含大量动态信息和包含大量软件更新的项目阶段的复杂工厂来说不太理想。
我们正在研究虚拟机和集中站点管理,以进行远程安装、配置修订(站点信息、调整参数等)、控制软件修订(二进制文件)、系统监控(错误日志、警报)、测试实验室管理、用户管理等、远程诊断/故障排除。
如果您作为管理员在一家大型生产工厂担任生产网络管理工作,您希望看到什么?我们应该研究哪些技术以使系统管理员受益?外行和 IT 极客都一样。
底层物流基础设施应该是什么?好的前端应该是什么?
答案1
我的首要目标是“与行业标准工具进行集成和测试”,我每天需要使用的定制更新/部署/监控/维护界面越少越好。
部署- 使用 Microsoft 技术(例如 Windows Installer 安装数据库 (MSI 文件) 进行安装、Windows Installer 修补程序 (MSP) 和 Windows Installer 转换 (MST))提供自定义配置选项。仅这些技术就允许仅使用 Active Directory/组策略部署软件,并且在更大的场景中星火控制管理。
监控- 通过发布 SNMP 陷阱或 WMI 计数器来允许第三方监控软件查看您的应用程序输出的任何错误或性能指标,您不会犯下大错。
验证- 如上所述嗯,集成身份验证对于域环境中的用户来说是一个巨大的优势,但它不适合小型工作组,因此需要考虑。
配置- 我个人倾向于使用基于文本的配置和%APPDATA%中的用户文件(缓存等),文本文件可以通过脚本进行操作或部署,我可以选择不将文件系统的更改传播回服务器。嗯提出了关于使用注册表进行组策略的有效观点,大多数情况下,注册表是配置的最佳位置;不要在其中放入太多东西,但它是为每个应用程序几 KB 的数据而设计的,而不是兆字节。
答案2
为了安全起见,必须始终采用集成身份验证。开发自己的身份验证机制或使用您认为比集成身份验证更安全或更灵活的第三方方法可能很有趣,但这意味着需要管理更多的用户名和密码,您的管理员不会喜欢您这样做,您的用户也不会喜欢。
对于配置,请坚持使用注册表。说真的。注册表与配置文件的争论对于用户不介意自己修改配置的独立机器来说很好,但对于拥有远程系统的真实最终用户来说,没有争论。使用注册表意味着可以使用组策略轻松部署初始配置和任何更改,或者 - 对于组策略不可用的情况 - 只需双击 .reg 文件即可。更改可以逐步合并,并且 - 通过使用 HKCU - 它可以正常工作在多用户环境中。
初始配置非常重要。在此阶段,请避免出现诸如“现在输入您的 jarglepoink 服务器的名称”之类的对话框。初始配置应该无需用户交互或输入即可工作。查看 GPO 管理的 MS Office 安装的工作原理 - 正确设置后,用户在 Outlook 首次运行期间无需输入其用户名或 Exchange 服务器名称。复制它。
对于数据访问,请使用无 DSN 的连接字符串。ODBC 配置并不难推送给远程用户,但这是另一层出错的地方;使用无 DSN 有助于消除这方面的复杂性。
测试测试测试。以标准非管理员用户身份进行测试。确保它正常工作。注销并以其他标准非管理员用户身份重新登录。确保它仍然正常工作。确保常用的设置保持常用,不常用的设置保持不常用。
所有这些 - 以及上面关于 MSI 的建议 - 应该有助于创建一个设置,其中用户的 PC绝不必须进行物理访问或远程访问才能开展与应用程序相关的工作。
答案3
我最缺少的是正确的文档。
高层视图如下:
- 所有开关均正确记录
- 应用程序何时需要重启
- 日志如何配置
- 等等(实际上这取决于客户的需求)
答案4
使用或开发让您摆脱软件部署业务的应用程序。我希望应用程序每次开始检查更新时都能回电,然后可以自行更新,或者 95% 的应用程序都在服务器端的 SaaS 类型应用程序。
为了避免最终用户打电话和发送电子邮件,您可以采取任何措施,这都值得您花费金钱和时间。