DevOps

针对从事自动化测试,持续交付,服务集成和监控以及构建SDLC基础架构的软件工程师的问答



2
我应该在哪里放置应用程序配置?
最近,我一直在阅读有关“ 应将取决于环境的属性存储在哪里? ” 的辩论。 经典的方法是拥有多个属性文件,每个属性文件都取决于环境,并且基于环境变量(DEV,PROD ...),您可以选择在启动应用程序时在何处读取它们(例如使用Spring概要文件)。 另一方面,如果您使用容器来部署应用程序,则据说这种配置应来自环境本身(使用应用程序读取的环境变量),因此映像在环境之间不会改变。 每种方法的利弊是什么?容器方案是否有“最佳”方法?

1
如何创建一个集中式仪表板来监视多个云(Amazon和Google)?
我正在寻找一种可以用作集中仪表板的单一产品或服务,以监控除应用程序之外的Amazon Web Services和Google Cloud Platform提供的云基础架构。 我正在寻找sensu等支持Amazon Web Services中所有服务的选项,但是我没有找到任何插件来监视Google Cloud Platform。 还有其他允许我创建此服务的服务或产品,我更喜欢开源吗? 注意:每个人都可以访问GCP和AWS,并且如果有人启动某些功能,则很容易使用一个仪表板进行监视。


3
有哪些方法可以减轻“神话人月”的影响?
布鲁克斯定律: 为一个较晚的软件项目增加人力会使它变得更晚。 弗雷德里克·布鲁克斯(Frederick Brooks)在他的书《无银弹-软件工程的本质与事故》中定义了“ 神话人月”的概念: Brooks的假设是,复杂的程序设计项目无法完美地划分为离散的任务,而这些任务无需工人之间的沟通,也无法在任务与执行它们的工人之间建立一套复杂的相互关系。 自1982年以来,我们无疑已取得了进步,并在减轻这一问题方面积累了更多经验。您在工作中成功应用了哪些解决方案以在不增加更多问题的情况下将资源添加到项目中?

2
如何在Saltstack中检查Jinja的输出?
我SLS在尝试构建的Salt中有一个模板,但是它发出的语法无效,这会导致诸如以下错误: my-minion-id: - State 'system' in SLS 'network' is not formed as a list 原则上,应该有可能以某种方式检查Jinja模板的输出,然后再尝试将输出解析为SLS文件。Jinja渲染器存在一个Python模块salt.renderers.jinja,但是如果我尝试在CLI上执行它,则会收到错误消息: # salt my-minion-id salt.renderers.jinja.render /srv/salt/network/init.sls my-minion-id: 'salt.renderers.jinja.render' is not available. ERROR: Minions returned with non-zero exit code # salt my-minion-id renderers.jinja.render /srv/salt/network/init.sls my-minion-id: 'renderers.jinja.render' is not available. ERROR: Minions returned with non-zero exit code 如何查看模板的输出?似乎很难调试是荒谬的。
16 salt  jinja 

6
将DevOps引入新手的有效定义是什么?
我已经完成/创建了许多与SCM相关的演示,现在我正尝试“升级”为DevOps的后继者。 我总是在演示文稿中尝试做的是拿出一张简介幻灯片,其中以某种方式包含了我想传达的信息(然后在其余的演示文稿中进行详细阐述)。这样做时,我会尝试回答自己的问题,例如“如果我想在10到20秒(仅!)的时间内向刚接触的人讲1到3个短语,我会用什么?* ”。 我以为我知道DevOps的实际含义,以及它的含义。但是我已经看到了DevOps的一些奇怪用法/上下文(甚至在DevOps.SE ...上)。这让我怀疑DevOps到底是完全错误的。 那么,通常公认的DevOps定义是什么?


2
什么是平台工程师?
在我的职业生涯中,我被称为很多事情,其中​​大多数是有礼貌的-最近,构建CI / CD管道的工作被称为“平台工程师”或“平台工程”。这样一个标题的风险在于,您会被类型化为工程师的角色,该工程师会开发供开发人员使用的平台,而不必一定包含DevOps的任何Ops。 但是,以我的经验,这些角色涉及大量的运维部门工作,例如设计重大事件管理流程,警报和监视解决方案。 在“感觉”上,它与站点可靠性工程有很多共同点,因为这两个角色都是工程角色,但它们与软件工程有所不同,尽管它们似乎具有相似的Google趋势模式: 是否有平台工程师的规范定义,还是像SRE只是组织内部DevOps功能的实现?

4
Ansible:其他选项可用于打开端口的telnet检查?
我是Ansible的新手。这是我的任务... 我有400多台主机,我需要验证从它们的一端到我们的Web服务器是否打开了5个不同的端口。 我可以单独登录并运行: telnet mywebserver.com 443 telnet mywebserver.com 80 telnet mywebserver.com 8443 ..等等.. 可以在Ansible中使用什么模块或插件,以便使它自动化,并让其将结果(无论是打开还是关闭的端口)报告回我的Ansible服务器?
15 ansible  testing  ports 

3
如何自动检查AWS现货价格?
我一直在考虑詹金斯(Jenkins)的工作,以核查我们启动的代理箱的价格;价格每隔一段时间就会飙升一次,一两个小时后,任何人就会注意到没有新的代理商来,然后我们必须手动进入并检查现货价格并进行相应调整,或​​切换区域等。 我的第一个直觉是,最好的方法是每小时执行一次Jenkins作业,该作业运行aws ec2 describe-spot-instance-requests并检查失败的请求(然后让我们放松失败)。但是我想知道是否有一种更干净的方法,它涉及实际比较硬价格(因此可以告诉我们确切的情况以及发生的幅度),而不是查看成功/失败的请求。 有人设置类似的东西吗?你怎么样

5
如何向非技术经理解释发展?
我对DevOps感到非常兴奋。我知道DevOps是将我们带入建立IT架构的方法论,该架构将简化并推动我们的公司前进。 但是如何将其出售给我的老板,尤其是非技术老板? 我们将实施一个自动化项目,其中包括自动化部署,基础架构云化,持续集成过程..我们绝对需要说服我们的老板对此进行更高级别的投资。 注意:我们开始通过自动化测试,发布和监督来改进流程,这是采用devOps的一步,但是由于我们需要更多的投资,因此自动化项目本身处于待命状态。

1
如何衡量人类利用程度?
在《凤凰计划》中,整本书中的单个图形显示,随着一个人的工作量增加到90%以上,他们的等待时间成倍增加。实际上,在书中它声称: 等待时间=(忙碌百分比/空闲百分比) 因此,如果资源每周40个小时中的35个小时处于繁忙状态,则: Wait Time = 0.875/0.125 = 8 但是,如果每周40小时中有39个资源繁忙,则: Wait Time = 0.975/0.025 = 39 这乘以工作流中的等待次数。显然,这是我们要关注的事情! 因此,考虑到所有这些,对我们而言,将人们的利用率保持在合理的水平上显然至关重要。鉴于本书坚持该公式的重要性,因此它几乎没有提供有关如何测量这些值的实用建议。我的问题是,您如何实际衡量一个人的忙碌百分比?

3
没有适用于docker的Oracle JDK吗?
REPOSITORY TAG IMAGE ID CREATED SIZE an-image 1 X 26 seconds ago 279 MB 当将运行docker映像时,显示以下消息: No java installations was detected. Please go to http://www.java.com/getjava/ and download 部署Oracle JDK后,docker映像大小增加了一倍以上! REPOSITORY TAG IMAGE ID CREATED SIZE an-image 2 X 26 seconds ago 666 MB 讨论区 谷歌搜索“是否没有适用于Docker的Oracle JDK”时,仅返回指向包含docker的docker映像的某些链接。在Docker映像中部署Oracle JDK时,大小增加了一倍以上。我想使docker映像尽可能小,但是Oracle JDK似乎比映像本身大! 题 没有适用于docker的Oracle JDK吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.