首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    从零搭建一个自动化运维体系

    DevOps的出现有其必然性。在软件开发生命周期中,遇到了两次瓶颈。第一次瓶颈是在需求阶段和开发阶段之间,针对不断变化的需求,对软件开发者提出了高要求,后来出现了敏捷方法论,强调适应需求、快速迭代、持续交付。第二个瓶颈是在开发阶段和构建部署阶段之间,大量完成的开发任务可能阻塞在部署阶段,影响交付,于是有了DevOps。 DevOps的三大原则: 1、基础设施即代码(Infrastructure as Code) DeveOps的基础是将重复的事情使用自动化脚本或软件来实现,例如Docker(容器化)、Jenkins(持续集成)、Puppet(基础架构构建)、Vagrant(虚拟化平台)等 2、持续交付(Continuous Delivery) 持续交付是在生产环境发布可靠的软件并交付给用户使用。而持续部署则不一定交付给用户使用。涉及到2个时间,TTR(Time to Repair)修复时间,TTM(Time To Marketing)产品上线时间。要做到高效交付可靠的软件,需要尽可能的减少这2个时间。部署可以有多种方式,比如蓝绿部署、金丝雀部署等。 3、协同工作(Culture of Collaboration) 开发者和运维人员必须定期进行密切的合作。开发应该把运维角色理解成软件的另一个用户群体。协作有几个的建议:1、自动化(减少不必要的协作);2、小范围(每次修改的内容不宜过多,减少发布的风险);3、统一信息集散地(如wiki,让双方能够共享信息);4、标准化协作工具(比如jenkins) 附上DevOps的定义: DevOps(Development和Operations的组合词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。

    03

    自动化运维之Ansible服务部署详述

    Ansible基本架构由六个部分组成: Ansible core 核心引擎。 Host inventory 主机清单:用来定义Ansible 所管理的主机,默认是在Ansible的host配置文件中定义被管理主机,同时也支持自定义动态主机清单和指定其他配置文件的位置。 Connection plugins连接插件:负责和被管理主机实现通信。除支持使用ssh连接被管理主机外, Ansible还支持其他的连接方式,所以需要有连接插件将各个主机用连接插件连接到 Ansible。 Playbooks(yaml, injaz2)剧本:用来集中定义 Ansible任务的配置文件,即将多个任务定义在一个剧本中由 Ansible自动执行,可以由控制主机针对多台被管理主机同时运行多个任务。 Core modules核心模块:是 Ansible自带的模块,使用这些模块将资源分发到被管理主机,使其执行特定任务或匹配特定的状态。 Custom modules自定义模块:用于完成模块功能的补充,可借助相关插件完成记录日志、发送邮件等功能。

    02

    一种无线端测试平台化最佳实践

    基于以上痛点,我们有个初衷去做这样一个无线自动化平台,无需编写脚本,无需搭建本地工程环境,全程可视化界面操作,即使不懂自动化脚本编程也能完成任务配置,致力于用较小的成本投入和维护自动化。 成本收益分析 我们先以电商域商品详情场景为例,介绍下不同的测试策略对测试成本的影响。商品详情场景涉及到区域化、不同营销类型、不同的offer类型,场景组合后有100+个case。 人工测试 投入人力进行手工验证多端多机,最快完成一轮测试也要5人日。如果加上干扰因素(手机没电、找不到设备、网络环境等问题)、bugfix回归验证,整体测试周期还要加长,甚至成倍增加。 自动化脚本测试 主要耗时成本在工程化环境搭建、本地脚本编写和调试的。同时对于多场景的数据有一个弊端,往往是写死数据在脚本且数据场景不全。 平台化测试 全程在平台上可视化操作,用精准用例建模自动化平台的数据支持多场景的的测新和回归。 功能亮点 1. 原子能力的标准化 我们对自动化里的所用的公共部分做了以下抽象成公共能力和组件化,可供重复使用。将工程脚本里的对象控件操作类、数据类、断言类做标准化并封装成原子能力,可以在平台页面上直接选择,添加对应行动点,支持语义化设置,支持行动点流程编排。 2. 语义化驱动—用例配置 3. 行为驱动—流程编排 4. 数据驱动—精准用例建模 相同场景的自动化不用设置一条一条自动化用例,也不用在脚本里指定某条数据运行。使用场景建模,扩展任务丰富数据源能力,支持任务添加单条数据/多条数据/场景模型数据。 场景模型好处是脚本里的数据进行剥离,以业务场景角度封装成用例数据模型,不仅降低测试用例数据遗漏的风险,而且将原先脚本写死的数据变活,通过建立的模型实时获取线上活的数据,即使有业务调整,直接维护模型即可。 场景模型支持2种:

    02

    学Linux运维自动化无头绪?这21个学习资源值得看

    运维工种对于自动化的强烈需求已经显露无疑——作为一个古老的技术工种,在几台、几十台服务器时尚可人肉维护,面对云计算时代动辄上百上千的服务器,单凭人肉维护显然束手无策。想像一下诸如谷歌、阿里云的上万台服务器,如果单凭人工维护恐怕运维就会成为人员需求量最高的工种,没有之一。 在Devops备受推崇的时代,即使开发也难免要接触到一些运维工作。所以今天为大家整理了一些自动化运维的学习资源,希望能够给大家提供一些帮助。作为一名运维工程师,这些只是可能是你的必备,作为一名非运维技术人员,不妨记录下来,有需求之后再行

    07
    领券