软件工程师和IT运营的新时代:NoOps
NoOps(无运维)是完全自动化的应用部署、监控和管理,以及支撑其运行的基础架构。
NoOps受到增加的IT自动化和云计算的推动。一个NoOps组织是一个完全没有运维人员的组织。在NoOps中,代码维护和其他任务都是自动化的。
什么是NoOps?
NoOps是一种信念,即软件环境可以轻松自动化到不需要运维团队的程度。NoOps代表“无运维”。
NoOps在部署、监控和改进软件运营时完全自动化IT环境。
NoOps不是关于外包IT运营。它不是关于转向云端或link,并期望他们管理运营。相反,托管服务提供商和云公司都在采用NoOps来提高基础架构的速度和效率。
NoOps的好处
以下是NoOps战略的商业利益和价值:
更多时间用于开发
NoOps只需要少数开发人员来管理项目的link。此外,NoOps自动化了IT环境的各个方面,减少了基础架构和开发人员之间的摩擦。这使得开发人员可以花更多时间开发应用。
充分利用云端容量
NoOps与link、云计算和link一起使用。这使得监控和维护自动化。云基础架构是最适用的,因此开发人员不必担心分发和资源。
无需人工干预
NoOps并不依赖于人工干预。NoOps中的自动化水平将意味着在管道运营的角度上几乎没有或没有人工干预。这消除了人为错误的可能性。
里程碑式的成就
如果有更多的开发时间,软件可能会在较短的时间内完成。公司有更多时间创造产生收入的机会。
经济实惠
NoOps使用无服务器计算模型。消费者只需为执行时间和执行的函数数量付费。如果函数未执行,则不收费。这消除了所有空闲时间。
提高生产力
NoOps使开发人员和运维人员能够专注于他们擅长的工作。由于持续发展带来的增加的专注和节省时间,两个部门都能够投入更多时间进行工作并提高生产力。
NoOps的挑战
任何技术方法都会面临挑战。以下是NoOps的挑战:
合规问题和安全风险
一个经验丰富和熟练的运维团队是确保组织保持软件安全的必要条件。无法外包link。规定只适用于在本地或云端的应用程序。需要通过以下方式联系PaaS:
- 关闭漏洞
- 管理员访问敏感信息
- 密切关注特权用户的活动
IT运维通常协助安全团队管理网络策略、身份治理和执行。这使安全团队能够专注于撰写策略、应对事件和link。增加安全团队的需求将抵消运维团队的损失。
开发工作量增加
NoOps并没有消除运维团队的需求。始终需要一个运维团队来管理:
- 基础架构
- 使用服务的用户信息
- 这些成本也会被纳入其中
这些责任最终将转嫁给开发人员。
不兼容
NoOps不能被视为通用解决方案,因为并非所有应用都能与最新的PaaS解决方案兼容。如今有许多技术与NoOps不兼容。对于拥有自己的data centers的企业来说,NoOps实施不是一个选择。
许多公司在全面自动化过程中将面临困难。
学习差距
管理员将不再需要管理服务器管理和安全补丁。他们可以学习如何编码和提高自己的技能。相反,开发人员将花时间编写代码并进行测试。平台处理其余的工作。他们将无法学习管理技能来提高自己的技能。
NoOps的工作原理
NoOps基于由IT和业务事件触发的基于策略的自动化流程。这确保应用程序和服务以尽可能低的成本高效、有效和安全地运行。
Forrester表示,创建高度自动化的IT基础设施需要微服务、API和各种基础设施。还有自动化。基础设施即代码是使用脚本等工具来自动化系统配置管理和管理的方法。
这模糊了基础设施和应用程序之间的区别。这可能包括应用环境的自动自愈。
Forrester建议NoOps应纳入DevOps原则,如进行小而频繁的更改,而不是在固定的时间窗口中进行更改。还要限制访问可能允许人类错误配置系统的命令行命令。
他还建议您经常对IT基础设施组件进行测试、测量和优化。还建议您避免难以自动化的自定义系统配置。
DevOps和NoOps的区别
NoOps | DevOps |
NoOps的主要目标是自动化开发和运行解决方案的所有方面。 | DevOps的主要目标是改进开发和运营管理。 |
NoOps意味着无操作。 | DevOps代表开发和运维的融合。 |
NoOps是一个不需要使用所有开发部分的过程。 | DevOps是云的一部分,DevOps必须设置。 |
NoOps似乎是DevOps的终结。 | 然而,DevOps在不断发展,因此DevOps仍然可以存在,就像NoOps一样。 |
准备转向NoOps时需牢记的事项
以下是您必须采取的步骤来实现NoOps。
使用合适的工具
自动化工具可以加快部署过程,并使开发人员能够更高效地进行自动化。
将质量向左移动
软件交付通常使用Shift Left。这允许在后期阶段识别并防止缺陷发生。此外,这允许最小化人为干预以维护软件在生产中的状态。它还确保应用程序始终可用,从而提高客户满意度。
云平台和托管服务
如果组织要实现NoOps,它们可以选择使用云平台,如果它们具有基础设施管理、与云网络的无缝连接、监控和其他关键要素。
自动化思维
NoOps的目标应该是培养自动化文化和将自动化置于工作的核心思维。当人员和流程同步时,新应用程序或服务的交付速度可以大大加快。
让所有利益相关者支持
所有利益相关者都需要支持组织的雄心勃勃的NoOps目标,以便他们能够理解所有概念和可交付成果。
找到合适的供应商
技术合作伙伴可以提供IT自动化解决方案、专家方法和许多NoOps功能。他们将帮助您了解您的业务并分析环境以设计自动化解决方案。
NoOps是否会成为DevOps工程师的未来?
尽管有人抗议,但NoOps并不意味着DevOps的结束。 NoOps只是DevOps可以共同实现的开始。当运动开始时,DevOps甚至还没有成为一个术语。
只要企业需要软件来在不断变化的技术环境中取得成功,DevOps的核心原则将继续保持相关性。名称将在未来消失,但DevOps社区的文化和贡献不会。
NoOps并不能提供一种通用解决方案。它只适用于现有的PaaS和serverless apps。一些企业仍在使用庞大的遗留应用程序(需要大规模重写和更新才能在PaaS环境中使用)。即使只剩下一个遗留系统,您仍然需要有人来管理运营。
NoOps无法处理具有专门流程、生产环境或在这方面要求非常严格的长期运行应用程序。
结论
无论“完全无运维”这个理想是否可能或可取,实施NoOps原则将使您更加专注于客户和业务,而不是IT基础设施。
这还将使您能够加快提供新服务和应用程序的交付速度,以满足不断变化的业务需求。
您还可以探索一些其他领域的运维、数据运维、安全运维、智能运维和IT运维,这些都可以在不久的将来为您的组织带来好处。