chef

警惕文化空谈的陷阱,落地DevOps工具才是关键

强颜欢笑 提交于 2021-01-19 03:40:22
转载本文需注明出处:微信公众号EAWorld,违者必究。 恍惚间,DevOps已经被讨论十年了 “如果系统是集中式的、环境是同质化的,从开发环境向生产环境推送程序变化的过程非常简单,不需要太多的自动化;但是今天的应用需要7×24小时运行、采用分布式架构、部署到多种环境,变更过程变得愈加复杂、难以自动化……不论在大型组织还是小型组织,施行DevOps在技术上都非常具有挑战性。” 上面这段文字如果放在今天,那只是段关于DevOps的、稀松平常的讨论,但是如果它写于十年前,各位读者会不会感到有一些惊讶? 这段文字写于2007年8月的下旬,很快就距今整十年了,这是我所知道的业内最早的关于DevOps的系统性讨论,我在整理收藏夹的时候偶然发现了它,这让我突然意识到: DevOps已经十年了。 可是,为什么雷声大雨点小? 博客网站dev2ops.org(据说是devops.org被抢注了,所以他们只能加个2,而devops.org至今仍是个空域名)的文章“What makes dev2ops so hard anyway?” 文中还罗列了阻碍DevOps施行的几个因素: 变更结果的可靠性和可预见性 不同类型的变更(数据、代码、配置、内容、平台等)对系统造成的不同影响未被充分评估 对分布式系统各部分的变更非常难以协调 开发与运维的组织边界难以界定 这几个因素在今天依然阻碍着DevOps的施行

制作镜像文件工具packer

元气小坏坏 提交于 2021-01-14 07:13:51
openstack镜像制作 要在openstack上创建虚拟机,必然要使用到虚拟机镜像。 对于普通用户,可以使用已经创建好的虚拟机镜像。一般是操作系统官方构建并提供的。 某些用户可以有自己独特的需求,需要定制特别的虚拟机镜像。 这时候主要涉及镜像更改/镜像格式转化/镜像创建。 用户可以参照openstack官方文档。 镜像更改 镜像格式更改,有多种工具和方法。 * guestfs提供的guestfish和guestmount。 guestfish比较有意思,guestfish会启动一个虚拟机,然后通过串口与虚拟机内进行通信。我们可以基于此,对虚拟机内进行修改。 * virt-*工具。 * loop回环设备的方式,修改镜像内容。 镜像格式转换 一般是使用qemu-img进行转换。 virtualBox有一个转换为Raw的工具。 镜像创建 一般有两种方式。 手工构建,方法上来说比较简单,但是过程比较繁琐。适合开发者,或者小规模情况下使用。 自动构建,openstack官方文档也提供了一些构建工具和方法。 自动构建工具目前有很多,主要有 diskimage-builder,Oz,VMBuilder,VeeWee,Packer,ImageFactory,SUSE Studio。 其中,diskimage-builder是openstack中TripleO的子项目,在各个工具中功能相对完善

如何协助企业IT架构转型

旧街凉风 提交于 2021-01-14 02:37:10
企业IT基础架构的重新平台化是不小的任务,重新平台化通常是由一组不断变化的关键业务驱动因素引发的,简而言之,就是目前支持企业业务的平台不能再处理和推动业务发展所需的工作负载。 数字化转型的核心是数据,数据已经成为商业中最有价值的货币。由于格式不兼容、传统数据库的局限性以及无法灵活地合并来自多个来源的数据,企业长期以来一直受到其使用数据的困扰,而新技术则可以解决这一困境。 改善软件部署模式是消除数据使用障碍的一个主要方面,更高的“数据灵活性”是需要更灵活的数据库和更具可扩展性的实时流式传输平台。目前想要为企业提供灵活的实时“数据结构”需要至少七种基础技术的相互结合。 与原先技术不同,这七种技术能够扩展以满足很多用户和用例的需求,对于企业而言,能够实现更快、更明智的决策并创造更好的用户体验。 1. NoSQL数据库 RDBMS在数据库市场上占据了近30年的主导地位。但是,面对数据量的不断增长以及数据处理速度的加快,传统关系数据库已经显示出不足。NoSQL数据库由于其速度和扩展能力而渐渐崭露头角。就文档数据库而言,从软件工程的角度提供了一个更简单的模型。这种更简单的开发模式可加快产品上市速度,并帮助企业更快响应客户和内部用户的需求。 2.实时流媒体平台 实时响应客户对客户体验至关重要。在过去的10年中,面向消费者的行业经历了巨大的破坏,这与公司对用户实时作出反应的能力不无关系。

Java编程思想

[亡魂溺海] 提交于 2021-01-13 15:23:32
前言 Q: 为什么学习并发? A: 到目前为止,你学到的都是有关顺序编程的知识,即程序中的所有事物在任意时刻都只能执行一个步骤。 A: 编程问题中相当大的一部分都可以通过使用顺序编程来解决,然而,对于某些问题,如果能够并行地执行程序的多个部分,则会变得非常方便而且很有必要。 A: 并发编程可以使程序执行速度得到极大的提高,或者为设计某些类型的程序提供更易用的模型,或者两者皆有。 A: 另一个问题你必须意识到,当并发执行的任务彼此开始相互干涉时,实际的并发问题就会接踵而来。实际上你可能无法编写出能够针对你的并发程序生成故障条件的测试代码。所产生的故障经常是偶尔发生,并且经常是以客户抱怨的形式出现,这就是为什么要学习并发的强烈理由:如果视而不见,你就会遭其反噬。 A: 有很多Java程序,要么只是偶尔工作,要么在大多数时间里工作,并且会由于未发现的并发缺陷而时不时地神秘崩溃,有时这种崩溃是温和的,但有时却意味着重要数据的丢失,并且如果没有意识到并发问题,你可能最终会认为问题出在其他什么地方,而不在你的软件中。基本上,了解并发可以使你意识到明显正确的程序可能会展示出不正确的行为。 并发的多面性 Q: 如何理解并发的多面性? A: 并发编程令人困惑的一个最主要原因是:使用并发时需要解决的问题有多个,而实现并发的方式也有多重,并且在这两者之间没有明显的映射关系

IaC云资源编排-Terraform

谁说我不能喝 提交于 2020-12-17 08:28:04
Terraform 2019/10/14 Chenxin 整理 转自: https://cloud.tencent.com/developer/article/1469162 IaC与资源编排 IaC(Infrastructure as Code)这一理念随着云技术的普及以及多云时代的到来而被广泛接受和认可,特别是众多生态工具产品的涌现使得IaC由概念逐渐成为现实。 1.与传统的“ClickOps”管理模式相比,IaC主要可以在以下3方面优势: 提高资源部署的速度和效率 所有的云服务都可以通过代码的方式进行部署、维护和管理,极大地提高了规模部署下的生产效率; 配置的一致性 由于所有的云服务管理都是通过代码的方式实现,因此相关的软件方法论也可以类似的迁移到IaC使用中来,能够提高开发、测试、运维环境的配置一致性,降低人为失误; 节约成本 IaC的引入可以更加高效的应对多云管理,既可以降低Opex,也可以通过多云部署方案降低资源使用成本; 2.目前,常见的IaC工具主要分为两类: 一类是配置管理类,如Chef,Puppet等,该类产品主要优势在于底层的单服务器、单服务的配置管理; 一类是资源编排类,如Terraform、Pulumi等,该类产品主要优势在于更高层面的资源编排,根据资源描述文件创建具有相互依赖关系的云资源或服务并进行配置。 值得注意的是

2019 DevOps 必备面试题——DevOps 理念篇

落花浮王杯 提交于 2020-12-13 01:46:36
原文地址: https://medium.com/edureka/devops-interview-questions-e91a4e6ecbf3 原文作者:Saurabh Kulshrestha 翻译君:CODING 戴维奥普斯 你是一位 DevOps 工程师还是想进入 DevOps 领域的新手?如果是,那么你已经把握住了未来趋势。在本文中,我列出了几十个在雇佣 DevOps 工程师时,面试官可能会问到的问题以供参考。 理解 DevOps 的关键点在于它不仅仅是一种技术集合,而是一种思维方式、一种文化。DevOps 需要一种文化转变——将运维与开发相结合,并需要一个相关联的技术工具链来促进协作变革。由于 DevOps 理念仍处于非常初级的阶段,因此 DevOps 的应用以及适应和协作所需的带宽因团队而异。但是,你可以开发 DevOps 技能组合,提升自我,成为任何类型的团队都需要的理想候选人。 成为一名 DevOps 工程师有哪些要求? 在寻找能胜任 DevOps 工程师的人选时,团队会有一套清晰的技能需求。其中最重要的是: 熟悉基础架构自动化工具,如 Chef,Puppet,Ansible,SaltStack 或 Windows PowerShell DSC。 熟练掌握 Ruby,Python,PHP 或 Java 等语言。 帮助你跨团队和角色进行沟通和协作的人际关系技巧。

老司机谈DevOps 2.0:引子

自闭症网瘾萝莉.ら 提交于 2020-12-08 05:14:57
本文译自《 DevOps2.0的工具集(DevOps黑宝书)——打造自动化的持续交付流程》一书 ,转自译者CSDN博客,转载请注明出处。 译者的话: 你真的懂DevOps么?你知道怎么就持续集成持续部署又微服务了么,用时下流行的工具,实践DevOps怎么搞……跟着我,听老司机818 DevOps的那些事儿。 本文只是开个头儿…… 原著作者介绍: Viktor Farcic CloudBees资深顾问,熟悉多种编程语言,从最早的Pascal,Basic,ASP,C,C++,Perl,Python,ASP,NET,Visual Basic,C#,JavaScript等等。热衷于微服务、持续部署和测试驱动开发(TDD)。著有《Test-Driven Java Development》一书,该书由Packt出版。 DevOps理念 做小型的新项目感觉很棒,上一次我做这样的项目还是在2015年的夏天。虽然那个项目有不少问题,但做起来确实很高兴。因为在做这种小型而且相对来说比较新的项目产品时,我们可以按照自己的喜好选择技术手段、方法策略以及整体框架等。 我们能用微服务么?当然可以!我们能试试Polymer和GoLang么?必须的!无拘无束自由自在的做项目真的很爽。虽然我们或许会做错误的决定,而且这个决定可能会让我们的进度延缓一周,但起码不会像其他项目那样,一着不慎满盘皆输。简单来说

刷题

拥有回忆 提交于 2020-11-19 03:51:56
<h2>6月15日</h2> <p class="title">Codeforces Round #158 (Div. 2)</p> <p>A.模拟</p> <p>B.map</p> <p>C.map</p> <p>D.构造</p> <p>E.线段树</p> <p class="title">Croc Champ 2013 – Round 2</p> <p>A.模拟</p> <p>B.状压+dfs</p> <p>C.数学</p> <p>D.概率与期望</p> <p>E.点分治</p> <p class="title">Codeforces Round #146 (Div. 1)</p> <p>A.暴力</p> <p>B.dp</p> <p>C.后缀自动机</p> <p>D.概率与期望</p> <p>E.莫比乌斯反演</p> <h2>6月8日 PKUSC</h2> <p>Codeforces Round #290 (Div. 1)</p> <p>拓扑排序:A.Fox And Names</p> <p>记忆化搜索+map:B. Fox And Jumping</p> <p>dancing link:3074.Sudoku</p> <p>数位dp:3252.Round Numbers</p> <p>模拟:1665.Biker’s Trip Odometer</p> <p>数学:1930

介绍50+个有用的DevOps工具

折月煮酒 提交于 2020-10-24 13:27:50
什么是DevOps? DevOps的概念由开发和运维所组成,是包括了软件开发管理和团队管理的集合体。这个单词2009年被首次提出来,并自此成为IT领域的流行语。 DevOps对每个使用“DevOps”这个词的人来讲,有不同的意义,它并不只是一个标准,一个软件或者是流程,它更像是一种文化。 Gartner这样来定义DevOps: DevOps代表了一种新的IT文化,它专注于在面向系统的环境中采用敏捷、精益实践(lean practices)的方法,实现快速IT服务交付。DevOps强调人(文化),并寻求加强开发和运维团队之间的合作。DevOps的实施依仗于技术——特别是那些能从全周期的角度增强可编程性和动态基础架构管理的自动化工具。 从上面的定义中可以看出,DevOps是全周期软件开发(SDLC)的多重方法的集合,但它最核心的能力是利用技术和软件来理顺软件开发过程。根据凯捷的一项调查,如果正确的贯彻了DevOps的指导思想——合作,并采用了适宜的工具加以辅助,你的业务系统的部署频率可以提高30倍,而所需时间比传统工具缩短8000倍。 正确的工具 此列表旨在尽可能全面的向DevOps的初学者介绍成熟的工具,同时这些工具也是新近发布到市场的工具,无论怎样总有一款工具适合你和你的业务需要。对于那些已经开始实施DevOps的企业个人,我们也希望对你的企业发展有所帮助。 对于如此之多的工具

杂乱场景中的尺度层次三维目标识别

久未见 提交于 2020-10-06 09:38:07
点击上方“3D视觉工坊”,选择“星标” 干货第一时间送达 论文标题 :Scale-Hierarchical 3D Object Recognition in Cluttered Scenes 作者: Prabin Bariya,Ko Nishino 论文地址: 在公众号「 3D 视觉工坊 」,后台回复「 三维目标识别 」,即可直接下载。 摘要 :三维目标识别在遮挡和杂乱场景中的是一项艰巨的任务。在本文中,引入一种利用几何尺度的可变性的方法来解决这一任务,其关键在于利用局部几何结构的尺度变化所提供的丰富判别信息来约束模型与场景点之间潜在对应的大量搜索空间,尤其是可以利用几何尺度的变异性来计算每个内在几何尺度的形式特征,还有由内在几何尺度集合后诱导的层次结构和局部尺度相关的三维形状描述符的辨别力,该方法以一种由粗到细的分层方式来利用增加的信息,从而有效地筛选所有潜在通信的空间。本文在大量的真实场景上实验评估了该方法的准确性与不同数量的部分遮挡,识别率较先进方法高,此外,尽管存在着全局尺度变化,本文也系统地演示了该方法能够准确定位目标。 一 、简介 三维目标识别旨在正确识别三维场景中的对象,通常要获得目标的深度图像,并估计其位置和每个对象的方向。三维场景是杂乱无章的,场景中的物体也存在相互遮挡,传统的三维物体识别方法一般包括两个阶段:特征提取和匹配。在特征提取阶段