标签: infrastructure

为什么不建议在同一台机器上安装数据库和Web服务器?

听听Scott Hanselman对Stack Overflow团队的采访(第1部分和第2 部分),他坚持认为SQL服务器和应用服务器应该在不同的机器上.这只是为了确保如果一台服务器受到攻击,两个系统都无法访问?安全问题是否超过两台服务器的复杂性(额外成本,两者之间的专用网络连接,更多维护等),特别是对于小型应用程序而言,这两种服务器都没有使用过多的CPU或内存?即使有两台服务器,一台服务器受到攻击,攻击者仍可能通过删除数据库或弄乱应用程序代码而造成严重损害.

如果性能不是问题,为什么会这么大?

database security networking infrastructure hardware-infrastructure

117
推荐指数
10
解决办法
9万
查看次数

过度工程的具体症状

我最近发现自己处理了一个(内部)应用程序,我已经写给我公司喜欢雇用的两个候选人,以协助维护和添加次要功能.

这是我写的第一个"生产"应用程序,它有45k LOC,我花了将近两年的"独奏"开发.我还很年轻(18岁),从头开始编写应用程序,同时签约作为离开公司的前开发人员的替身.我没有经验设计这种大小的应用程序,我试图使用常见的架构和设计模式.

今天我知道我已经做了一些严肃的过度工程,例如使用断开连接的变更跟踪架构而不是所选ORM已经实现的工作单元模式.我可能永远不会去"真正的"三层.

两位候选人都有10年以上的内部应用程序开发背景和相关平台.作为他们年龄的一半,没有经验,我尊重他们的意见.当我向他们解释应用程序架构时,评论是这样的:

  • Jeez,没有人会付钱给我这样的事情,我必须把事情做好
  • 坚持框架的功能,不要使用花哨的库/技术
  • 不要包装框架代码.在团队中,每个人都会编写自己的包装代码.
  • 你使用的是.NET 3.5吗?好吧,我们正在使用2.0.
  • LINQ的东西给我带来了什么?所有这些查询组合和投影看起来都太复杂了.

现在我问自己:
我是建筑宇航员吗?我怎么知道我在建筑方面走得太远了?过度工程的常见症状有哪些?

architecture infrastructure

44
推荐指数
11
解决办法
1万
查看次数

在生产中流浪

我一直在阅读Vagrant,我发现它对我的开发非常有用.我目前正在管理一系列服务(邮件,网络,LDAP,文件共享等),而且往往其中一项服务需要快速备份.是否有可能(并建议)将Vagrant用于这些目的?

到目前为止,我已经像真机一样安装了虚拟机.

我还想知道一个Vagrant的替代方案,它允许我设置一个简单的配置文件并放置一个虚拟机,例如,使用Zimbra,并快速拥有备用邮件服务器,启用RabbitMQ等.

infrastructure virtualhost vagrant

38
推荐指数
1
解决办法
2万
查看次数

使用ansible复制本地文件(如果存在)

我正在一个项目中工作,我们使用ansible来创建一个服务器集群.我要实现的任务之一是将本地文件复制到远程主机,只有当该文件存在于本地时.现在我正试图用这个来解决这个问题

- hosts: 127.0.0.1 
  connection: local
  tasks:
    - name: copy local filetocopy.zip to remote if exists
    - shell: if [[ -f "../filetocopy.zip" ]]; then /bin/true; else /bin/false; fi;
      register: result    
    - copy: src=../filetocopy.zip dest=/tmp/filetocopy.zip
      when: result|success
Run Code Online (Sandbox Code Playgroud)

如果失败,则显示以下消息:ERROR:任务中缺少"action"或"local_action"属性"将本地filetocopy.zip复制到远程(如果存在)"

我试图用命令任务创建这个.我已经尝试使用local_action创建此任务,但我无法使其工作.我找到的所有样本都没有将shell视为local_action,只有命令样本,并且它们都没有其他任何命令.有没有办法使用ansible来完成这项任务?

infrastructure ansible ansible-playbook

23
推荐指数
3
解决办法
4万
查看次数

如何打印 terraform 变量值?

我正在学习地形。我想在“计划”阶段打印变量的值。所以我找到了该怎么做。似乎我在这里做错了什么......

在变量.tf中:....

variable "VMCount" {
    description = "How many VMs do you want to start with (number)? default=1 max=5"
    type = number
}
Run Code Online (Sandbox Code Playgroud)

在 main.tf 中

output "VMCount" {
  value = "${var.VMCount > 2 && var.VMCount < 6 ? var.VMCount : 2}"
}
Run Code Online (Sandbox Code Playgroud)

之后我运行 terraform plan 并且条件似乎工作正常(它创建了正确数量的虚拟机)

但变量输出还没有到来。为什么?

$ terraform output
VMC = 56
Run Code Online (Sandbox Code Playgroud)

VMC 可能来自之前的一些尝试(我尝试了几件事)。

如何打印用户输入的值(变量)?

谢谢。

infrastructure terraform azure-devops azure-pipelines

21
推荐指数
2
解决办法
8万
查看次数

如何在部署期间显示维护页面?

我想在IIS windows server 2003上托管的一个生产asp.net网站上计划一个计划维护停机时间.

我认为这是首选行为:

  1. 所有对http://www.x.com的请求(包括www.x.com/asb/asd/)都将被重定向到通知页面(网站目前已关闭.稍后再回来)
  2. 维护大约需要一个小时.如何确保将此重定向到维护页面以对SEO/google排名产生最小影响
  3. 我希望能够在"生活"回归之前悄悄地测试生产现场
  4. 我更不希望依赖于指向其他地方的DNS.
  5. 为了简单起见,请假装我在Web服务器前面没有任何其他硬件(即负载平衡器,防火墙等)

一个想法是:

  1. 在同一个Web服务器上创建另一个应用程序
  2. 创建httpmodule或httphandler来处理任何url请求,302将它们重定向到维护页面

谢谢

asp.net deployment infrastructure

19
推荐指数
2
解决办法
2万
查看次数

软件中的架构和基础架构有什么区别?

我刚刚发布了一个问题,询问MapR和Cloudera架构之间的区别,并交替使用"架构"和"基础架构".这个合适吗?

为了将其置于上下文中,MapR和Cloudera是Hadoop的发行版.它们每个都包含各种守护进程,它们以各种方式相互交互.当我提到基础架构/架构时,我指的是守护进程,它们的动作以及守护进程之间的关系.

我正在寻找的正确的词是什么 - 建筑或基础设施?

两者有什么区别?

architecture infrastructure

15
推荐指数
2
解决办法
2万
查看次数

负载平衡的ASP.NET站点的体系结构建议

更新2009-05-21

我一直在测试使用单个网络共享的#2方法.导致Windows Server 2003在加载时出现一些问题:

http://support.microsoft.com/kb/810886

结束更新

我收到了一个ASP.NET网站的提案,其工作方式如下:

硬件负载平衡器 - > 4个IIS6 Web服务器 - >带有故障转移群集的SQL Server DB

这是问题......

我们选择存储Web文件的位置(aspx,html,css,images).提出了两种选择:

1)在4个IIS服务器中的每个服务器上创建相同的Web文件副本.

2)将Web文件的单个副本放在4个Web服务器可访问的网络共享上.4个IIS服务器上的Web根将映射到单个网络共享.

哪个更好的解决方案?选项2显然更易于部署,因为它只需要将文件复制到一个位置.但是,我想知道是否存在可伸缩性问题,因为四个Web服务器都访问一组文件.IIS会在本地缓存这些文件吗?它会在每个客户端请求中达到网络共享吗?此外,访问网络共享总是比获取本地硬盘驱动器上的文件慢?如果添加更多IIS服务器,网络共享上的负载是否会变得更糟?

为了给出观点,这是针对一个目前每月点击量达到约2000万次的网站.在最近的高峰期,它每秒接收约200次点击.

如果您对此类设置有特殊经验,请与我们联系.感谢您的投入.

更新2009-03-05

为了澄清我的情况 - 这个系统中的"部署"比典型的Web应用程序更频繁.该网站是后台CMS的前端.每次在CMS中发布内容时,新页面(aspx,html等)都会自动推送到实际站点.部署基本上是"按需".从理论上讲,这种推动可能会在一分钟或更长时间内发生几次.所以我不确定一次部署一个Web服务器是否切实可行.思考?

architecture iis infrastructure scalability load-balancing

13
推荐指数
2
解决办法
4105
查看次数

Ansible Windows客户端或主机与Ansible Linux服务器?可能?

我正在Ansible为我的项目使用一些基础设施管理问题.我使用Linux客户端实现了这项任务,比如说从Ansible服务器复制bin文件并将其安装在客户机上.这涉及我的剧本中的任务,使用正常的Linux命令,如ssh,scp,./ bin等,

现在我想在Windows客户端中实现相同的功能.我找不到任何好的文档来试试.如果你们中的任何人尝试过将Ansible与Windows客户端一起使用,那么如果您可以分享程序或原型或任何信息来开始并进一步解决我的问题,那将会很棒.

windows client infrastructure ansible

10
推荐指数
2
解决办法
3897
查看次数

如何使用 Kubernetes 使用自签名证书访问私有 Docker 注册表?

目前,在使用自签名证书进行身份验证的内部网络上运行私有 Docker 注册表(Artifactory)。

当 Kubernetes 启动一个新节点时,它无法使用私有 Docker 注册表进行身份验证,因为这个新节点没有自签名证书。

任何帮助将非常感激。谢谢!

cloud infrastructure docker google-cloud-platform kubernetes

9
推荐指数
3
解决办法
8038
查看次数