今日天气
  1. 博客/

Python Fro DevOps 笔记

·1661 字·4 分钟· ·
devops DevOps
Johny
作者
Johny
熟练的 云原生搬砖师

Python for DevOps: Learn Ruthlessly Effective Automation: Gift, Noah,  Behrman, Kennedy, Deza, Alfredo, Gheorghiu, Grig: 9781492057697:  Amazon.com: Books

笔记
#

  • 2019 年,70%的开发者认为自己高于平均水平,而 10%的人认为自己低于平均水平。

  • 相信自动化优于等级制度的信念正是 DevOps 的核心。

  • Windows 操作系统会临时关闭整个网络堆栈。如果在短时间内生成了太多的网络连接,操作系统会保护自己。

  • 构建服务器是一个基础设施,必须确保其正常运行,以便能够可靠地交付软件。

  • 自动化的每个工作都是你的工作。没有比确保事情自动化更重要或更有价值的任务了

  • 如果组织中的领导 比其他人更好(更多资源)/更高,你将永远无法实施真正的 DevOps 原则。你将应用最高薪酬人员的意见(HIPO)原则。虽然 DevOps 可以真正挽救生命并拯救你的公司,但 HIPO 是凶猛的动物,可以并且确实会摧毁它们所经之处的一切。

  • 工作博弈论

    在武术馆里,让学生帮忙拖地是司空见惯的事情。这样做有很多明显的原因。它向教练表达了尊重,并教会学生自律。

    • 这里涉及到一个 博弈论问题 。接触到葡萄球菌感染可能会引发严重的健康问题。如果你有机会在你训练的健身房里拖地,要仔细考虑你的回应。人们会观察你清洁地板的能力,如果你做得好,他们会因为尊重你而也做得好。如果你把这个任务看作是“低人一等” 的事情,没有做好,可能会引发两个问题。一是你没有清洁好地板,可能导致健身房的其他会员生病。二是你“感染”了其他人的心态,他们反过来也不会清洁地板。你的行为在现在和未来都会产生影响。
  • 确保你用愉快的表情做出出色的工作。你的生命可能取决于此。

  • 一个好的团队的特征

    • 一个明确、令人振奋的目标

    • 一个以结果为导向的结构
      许多公司使用的工具和流程如果不能直接归因于结果,那么它们就是值得质疑的:Skype、电子邮件、漫长的会议、加班。

    • 能干的团队成员

    • 统一承诺

    • 合作的氛围

      • 需要创造一种尊重的环境,人们能够坦诚开放并期待反馈。如果偏向任何一方的程度过高,就注定会失败。

      • 招聘流程。许多公司抱怨无法招聘、无法实现多样化招聘,以及无法找到优秀的候选人。

        1. 首先,公司鼓励候选人申请。
        2. 接下来,他们浪费时间进行定制的无关测试。
        3. 然后他们用一轮比随机还没有预测价值的面试来“雾化”他们。
        4. 然后他们就对候选人置之不理,不给任何反馈。
        5. 他们撒谎说他们正在努力招聘人才,但实际上他们的流程有问题
        6. 然后他们在社交媒体上大声抱怨多样化候选人或任何候选人的参与有多么困难。

        以尊重的态度对待人,你就会得到尊重

    • 卓越的标准

      • 另一种表达方式是说需要更高程度的 自律编写软件、测试和部署需要更高的标准。在部署之前,需要更严格的措施来阅读有关新技术的文档。
      • 要发布没有经过 适当 的 DevOps 生命周期的代码。
      • 在基础设施方面,需要在许多步骤上遵循最佳实践,无论是 Zookeeper 配置、EC2 存储配置,还是 Mongo 或无服务器。
      • 管理层需要高标准。公司中的每个人都能看到,决策时使用的是数据而不是观点、等级、攻击性或渴望佣金的欲望
    • 外部支持和认可

      • 当领导者表现出低于平均水平的承诺和诚信时,要求超常贡献是具有挑战性的。
      • 一个部门把困难的任务推给另一个部门。甩锅、逃避/推脱 责任
    • 原则性领导


发掘技术点

  • GitHub - pytest-dev/pytest-testinfra: Testinfra test your infrastructures

    • 文档地址

      查了一下资料,这类工具还有很多如:

      • Serverspec: Serverspec 是一个 Ruby DSL(领域特定语言),用于编写基础设施测试。它可以用于测试服务器的状态、配置和软件包。
      • Goss: Goss(Golang Server Spec)是一个用 Go 编写的服务器测试工具。它使用 YAML 文件来定义测试,并支持检查文件、包、用户、端口等。
      • Molecule: Molecule 是一个用于测试 Ansible 角色的工具。它可以自动化测试 Ansible 配置的正确性。
      • KitchenCI: Test Kitchen 是一个基于 Ruby 的工具,用于测试基础设施即代码(Infrastructure as Code)。它可以测试使用 Chef、Puppet、Ansible 等配置管理工具创建的基础设施。
      • Bats: Bats(Bash Automated Testing System)是一个基于 Bash 的测试框架,用于编写和运行 shell 脚本测试。
      • Terratest: Terratest 是一个 Go 语言库,用于编写自动化基础设施测试的代码。它可以与 Terraform 一起使用,测试基础设施即代码的正确性。
      • Kitchen-Terraform: Kitchen-Terraform 是 Test Kitchen 的插件,用于测试 Terraform 配置的正确性。
      • Pester: Pester 是一个用于测试 PowerShell 脚本的工具,适用于 Windows 环境。
      • Cucumber: Cucumber 是一个行为驱动开发(BDD)工具,用于编写可执行的规范和测试。它支持多种编程语言,并用于测试各种应用程序类型,而不仅仅是基础设施。

相关文章

站点开始使用 Grafana loki 统计分析
·4828 字·10 分钟·
Loki SRE DevOps Logging
Gitea Actions ActRunner 基于 Systemd 部署安装
·897 字·2 分钟·
SRE DevOps linux
Sonatype Nexus Repository(Nexus3) 私服文件下载至本地 - (使用进阶篇 一)
·729 字·2 分钟·
SRE nexus3 DevOps
Istio in Action 学习笔记
·40593 字·82 分钟·
Istio Istio ServiceMesh
Slimtoolkit/Slim 与 Gitlab 集成体验
·198 字·1 分钟·
SRE Slimtoolkit/slim docker
PVE AutoSnap 工具使用
·270 字·1 分钟·
Cloud PVE