编写工作代码只是战斗的一部分。
不知何故,该代码需要到达实时服务器。管道、集成检查和故障转移机制是应用程序的重要组成部分。
您是否经历过尝试部署某些东西的挑战?
您是否看到大规模部署是什么样子的?
这是一项完整的工作。在我看来,部署工作与编写代码一样困难,甚至更困难。
欣赏 DevOps
软件开发人员需要对拥有部署的团队有健康的尊重。在大多数公司,这是一群专门从事此类工作的 DevOps 工程师。
他们的工作是具有挑战性的走钢丝:
- 在部署运行时为所有应用程序架构编排复杂的重启
- 在用户几乎没有停机时间的情况下重新启动,以便公司每天可以部署多次
- 使工具易于开发人员使用,以便在普通软件工程师合并代码时将细节抽象掉
需要知道一切
DevOps 团队面临的主要挑战之一是他们需要对公司发生的一切有一点了解。
团队 A 需要 DevOps 来增加他们的网络服务器数量以处理更多负载。
团队 B 想要添加异步任务,需要一个消息代理和新的工作服务器。
团队 C 在运行其测试套件的 CI 作业方面遇到了问题。
团队 D 需要将秘密安全地存储在他们可以提取的地方。
团队 E 想建立一个新的子域,为用户指向不同的资源。
在所有这些情况下,DevOps 团队都会参与帮助整理请求。他们确保需求是合法的并且经过深思熟虑。然后,他们协助实施以协调变更。
基础架构即代码
在大型工程团队中,DevOps 部署管道迅速转向基础架构即代码。
手动运行服务器、安装新服务器支架以增加负载并监控一切是否正常的日子已经一去不复返了。过去的工程师可能需要物理网络技能。今天,DevOps 就是关于配置云资源。
为此,团队可以使用 UI 界面。但更有可能的是,他们正在实施基础设施即代码。
如果您是一个不知道代码如何投入生产的软件,请听好!
基础设施即代码非常强大。它使我们能够标准化部署和资源分配过程。
但是也很容易出错。建立这样一个系统需要大量的时间、技巧和心思。调试基础架构问题可能非常乏味。
力量大,责任大
DevOps 对于将代码投入生产至关重要。
当部署管道出现问题时,组织中所有工程团队的工作都会受阻。
通常情况下,DevOps 也会被拉入生产事件响应中。即使问题不是他们造成的,他们也会了解正在使用的资源并可以帮助进行修补程序。
因此,他们随时待命。来自其他团队的更改可能会导致 DevOps 被呼叫以帮助清理混乱。
但根据我的经验,DevOps 工程师是我们所有人中最善良、最冷静、最随和的。当其他人都在为某个问题抓狂时,他们却在悄悄地解决它。
谢谢你,DevOps!
如果您是阅读本文的 DevOps 工程师,感谢您的工作!
我相信这比编写应用程序代码要难得多。在集成、测试、构建、部署和回滚中存在各种复杂性。
每当我看到一位出色的 DevOps 工程师在工作时,我都会感到困惑。
如果你喜欢我的文章,点赞,关注,转发!