许多人回避与 DevOps 相关的“文化”成分。 但与“文化”紧密相连的是“沟通”,沟通不仅对于 DevOps 的成功至关重要,而且对于企业中任何自动化和编排工作的成功也至关重要。
我们不知道您需要...打开端口 7243。
我们不知道您需要……新的 DNS 条目。
我们不知道您需要...客户端 IP 地址。
我们不知道您需要…
我们不知道。
这三个词也许比其他任何词都更深刻地说明了当今许多企业所面临的沟通挑战。 框架和脚本只能自动执行您要求其自动执行的操作,这意味着您在某些时候必须知道。 你怎么知道? 这就是沟通。
在 IT 行业中,网络人员不与开发人员交谈,而运营人员不喜欢安全,这是个陈词滥调,但实际情况是,除非管理生产环境的每个运营领域都知道将应用程序部署到生产中需要什么,否则就无法进行协调。
哦,配置防火墙或负载平衡器等单个任务可以很容易地完成,但每个任务都需要特定于应用程序的信息才有用。 如果您不知道应用程序正在使用哪个端口,您就无法打开该端口。 我们 2017 年 1 月的 iHealth 数据显示,超过 6000 名客户共有 36,731 个不同的(唯一)端口正在使用中。 企业中使用的协议并不多(有很多,但不是那么多),这意味着各种站点都在使用不在其“本机”端口上的协议。 甚至网络应用程序也分布在多个端口上。 当我说 HTTP/S 时,毫无疑问我会想到端口 80 和 443。 这些协议也经常使用备用端口,即端口 8080 和 8443。 然后是 8081(由 4605 个不同的虚拟服务器使用,大约代表应用程序)和 8082。 当然,还有很多超出特权范围 (0-1024) 的端口正在使用中,但(从我的数据来看)没有可识别的相关应用程序。因为端口 10203 没有分配“标准”协议。
这里的重点是我们不能仅仅假设任何给定的应用部署都有一个特定的端口。 需要传达该信息,以防有人想在不同的端口上运行其公共 API 的后端。 通过混淆实现安全性仍然是一件好事,大家好。
除了这样简单的数据之外,如果您不知道它使用什么公共 IP 地址或主机名,或者每个集群应该包含哪些后端服务,您就无法配置负载均衡器。 这是您需要的信息,并且该信息必须从开发人员或运营人员流向管理系统的人员(通常是网络运营人员)。
这意味着通讯。 这并不是说你不能建立一个工具或表格来收集这些信息。 (其他) API 经济和内部数字化转型工作几乎要求这种交换本质上是数字化的。 但是为了构建表单或 API 来收集这些数据,您必须知道要收集哪些数据。
你必须坐下来,把这件事好好谈谈。 吃披萨、喝咖啡。 喝着啤酒,吃着鸡翅。 通过电子邮件或电话。 您必须以某种方式实际与负责应用部署的各个组进行沟通,并确保您了解所需要知道的内容。
当人们在 DevOps 的背景下谈论文化和沟通时,这是他们试图传达的事情之一。
当然,事情还有很多,但我们不能忽视,加快速度以满足企业和消费者需求的核心是沟通这个简单的前提。 了解应用程序需要什么才能运行得更快、更智能、更安全。 因为您不知道的事情无法实现自动化,而无法自动化的事情需要人工干预,这会给部署过程带来延迟和挑战。 如果您希望应用程序更快、更安全,您必须更聪明地工作,而不是更努力地工作,而这一切都始于与各个利益相关者之间的沟通,这样您才知道需要什么。
在一个正在经历数字化转型的世界中,了解才是成功的一半。 另一半是技术。 如果没有这两者,你就无法成功执行包括 DevOps 开发和部署方法在内的数字战略。