问题标签 [infrastructure]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
project-management - 软件项目的基础设施
我很快就会领导一个新项目。我一直在思考软件项目的基本基础设施是什么。这些是我认为每个项目都应该具备的东西:
- 编码风格约定
- 命名约定
-标准项目目录结构(如maven标准目录布局等)
-项目管理和问题跟踪(例如trac、redmine等)
- 持续集成服务器(例如,hudson、巡航控制等)
我不确定我是否错过了什么。有人想补充吗?
language-agnostic - 在 80 端口阻塞的网络上创建舞台环境
我目前使用我的本地 Web 服务器来允许客户预览一些应用程序,并允许下载我的开源库的“夜间构建”。
问题是我更改了我的 ISP,现在我的端口 80 被阻止了。
虽然我知道我可以轻松更改 Apache 服务器上的端口,但我想避免这种情况,除非没有其他选择。
您是否知道任何第三方服务(免费或付费)可以将端口转发到我的网站,使其对访问它的人透明?
我听说的另一个想法是使用我当前的虚拟主机中的 mod rewrite 来重写我的域,但我也不想走这条路。除此之外,您知道任何实际有效的 .htaccess 示例吗?我试过这个:
但这似乎不起作用。
agile - 使用 Scrum 和 Sprint 改进基础设施的最佳方式
是否有人将 Scrum 和 Sprint 用于基础设施。
我正在为永远不会完成的 Sprint 的概念而苦苦挣扎,即网络增强项目。
还有关于如何将项目时间建立到产品待办列表的任何建议,以便我可以理智地检查资源在 sprint 中是否被过度使用。
infrastructure - 服务器场关闭
大型服务器场如何优雅地关闭所有或部分服务器场?我正在考虑计划内和计划外的情况,例如:
- “我们需要关闭 Rack 42”
- “我们需要对整个街区的供电进行工作”
- “停电!UPS 的果汁快用完了!啊!”
- “空调下降,空气温度为 125F 并且正在攀升”
我感兴趣的问题是人们如何处理测序,以及如何启动整个事情。我还想到,这很容易与启动和关闭服务以及软件升级系统混为一谈。
(在这一点上,我更多是出于好奇而询问。)
sql-server - 在远程位置之间共享数据
我目前正在估计如何在不同地理位置的办公室之间最好地共享数据。
我目前的偏好是使用SQL Server 合并复制并拥有一个主数据库和少数订阅者。
该系统还需要允许一些工作场所断开连接(建筑工地没有或很少连接)。
数据量不会很大,我们谈论的是在制造工厂、少数区域办事处和工作地点之间共享来自定制 ERP 系统的数据。
Sync Framework看起来也不错,似乎在SQL Server 2008中有很好的支持。
- 我应该调查哪些其他经过验证的系统可以满足这些需求?
- 对于在类似环境中共享数据的经验的人,您有什么特别的建议和技巧吗?
- 处理数据冲突对您来说有多困难?
development-environment - 解决客户政策中的发展限制
如前所述,我从事 IT 咨询工作,并在各种客户环境中工作。遇到各种安全策略是很自然的,在大多数环境中,我们必须通过安全检查表才能授权我们的笔记本电脑 - 我们的移动开发工作站 - 连接到他们的网络(大部分时间只是开发网络)。
有这个客户不允许外部计算机连接到他们的网络,所以我们的笔记本电脑是......带有移动 GSM 调制解调器的昂贵通信计算机。我们被迫使用他们的台式电脑进行开发,而这些工作站都是相当老的型号,具有低 RAM 和单核 Pentium 4 CPU 和古怪的磁盘。不用说,开发工作不是最理想的,尤其是在使用范围为 100 到 400 个项目的 Visual Studio 解决方案时。
对于可以隔离的小案例,我们在自己的笔记本电脑上进行开发和测试。但对于更大的情况,鉴于某些开发服务器(如 SeeBeyond 和大型机 DB2 数据库)仅在网络上,并且在机器之间来回复制数百个项目的前景非常可怕,这在技术上似乎不是一个合理的想法。
我并不是在寻求违反客户政策的技巧(例如,将笔记本电脑插入伪装桌面 MAC 地址)。我只是想知道在这样的环境中工作时,其他人试图通过自己的硬件保留一些优势和效率。每当我可以尝试在我自己的笔记本电脑上使用虚拟服务器复制环境时,它只适用于仅限 Microsoft 的服务器解决方案。虚拟化非 Microsoft 服务器和软件是一项挑战。
java - 为初创公司采取的最低限度的安全预防措施是什么?
我正在与一家初创公司合作,主要从事系统管理工作,并且遇到了一些我不太满意的安全问题。我想判断我的期望是否准确,所以我正在寻找一些洞察力,以了解其他人在这种情况下做了什么,以及出现了哪些风险/问题。特别是,诸如将管理工具置于 vpn 之后、定期安全更新(操作系统和工具)等措施的重要性。
请记住,由于这是一家初创公司,主要目标是尽快推出尽可能多的功能,因此我需要尽可能多的理由来获取安全资源(即停机时间)升级,应用程序安全修复的开发时间)。
背景资料:
- 应用程序是 LAMP 以及自定义的 java 客户端服务器。
- 在接下来的 3 个月中,我预计该网站有大约 1 万名匿名访问者和多达 1000 名经过身份验证的用户。
- 年轻的观众(16-25 岁)肯定会包含高于平均水平的黑帽观众。
提前感谢您的回复,我会欢迎任何相关的建议。
infrastructure - 当您需要在公司中建立软件开发基础架构时,最重要的是什么?
假设您为一家突然决定进行定制内部软件开发的大公司工作。此外,他们还希望能够为客户提供成功的开发(如果有的话)。
现在你负责它。
您认为构建成功的软件开发基础架构最重要的是什么?
- 灵活应对未来增长
- 灵活使用技术(使用 c、java、.net、web、mobile 的项目......)
- 什么样的工具(源代码控制、锻造……)、硬件(虚拟的、单独的开发和生产……)、流程(指南、代码审查……)等。
更新:请不要回答您需要合适的人员和合适的工具。这正是我正在寻找的。什么是正确的工具,你会首先雇佣什么样的人加入你的团队?想一想,您将成为该发展的领导者。
asp.net - 负载平衡的 ASP.NET 应用程序的文件存储的最佳解决方案是什么?
我们有一个 ASP.NET 文件传递应用程序(内部用户上传,外部用户下载),我想知道分发文件的最佳方法是什么,这样我们就不会出现单点故障,只需将应用程序的文件存储在一个服务器。我们将应用程序的负载分布在多个前端 Web 服务器上,这意味着对于文件存储,我们不能简单地将文件本地存储在 Web 服务器上。
我们当前的设置让我们指向主数据库/文件服务器上的共享。我们一整天都在将主服务器上共享的内容复制到故障转移中。此场景可确保我们拥有一台具有相当最新数据的辅助计算机,但我们希望能够从主计算机故障转移到故障转移并再次返回,而不会丢失数据或前端应用程序中出现错误。现在这是一个相当手动的过程。
可能的解决方案包括:
- 机械复制。很简单,但它不容易让您在没有多个作业一直运行的情况下再次进行故障转移(来回复制数据)
- 将文件存储在 SQL Server 2005 中的 BLOB 中。我认为这可能是一个性能问题,尤其是对于大文件。
- 在 SQL Server 2008 中使用FILESTREAM 类型。我们镜像我们的数据库,所以这看起来很有希望。有人对此有经验吗?
- 微软的分布式文件系统。由于我们只有 2 台服务器要管理,因此从我所读到的内容看来有点矫枉过正。
那么您通常如何解决这个问题,最好的解决方案是什么?
networking - 如何正确高效地动态创建与原域不同IP的子域?
如何有效地动态创建解析为与原始域不同的 IP 的子域?
我在这里找到的大多数动态子域创建解决方案都会将 *.domain.com A 记录添加到 DNS 服务器(通常使用 BIND),但这不是我想要的。
这是否意味着需要将区域文件设置为始终过期?这不会对我们的 DNS 服务器造成沉重负担吗?
但是,如果客户端 ISP 不去获取我刚刚动态更改的新区域文件怎么办?难道他们不能解析我们新的子域条目吗?
在 BIND 中设置 DDNS 会是实现此类系统的逻辑路径吗?DDNS 将允许我在不重新启动 BIND 的情况下动态插入 A 记录,对吗?
我确信有一些方法可以做到这一点,因为大多数大型博客服务不会将所有帐户都指向与博客引擎相同的 IP,它们正在做与我需要的类似的事情。
谢谢!