2017年云趋势——从DevOps到NoOps
2017-03-06 13:53
【编者的话】本文介绍了2017年DevOps的最新趋势,提出了NoOps的概念,并且提出了采用智能化技术来促进DevOps向NoOps转型的思想。
伴随着容器的兴起,微服务架构的落地以及机器智能的深入,DevOps工程师们将更倾向于使用这些技术来解决日常工作中的问题。我相信,对于 DevOps工程师们来说,2017年绝对是值得为之兴奋的一年。在过去的7年里,我们一直持续关注着从手动运维到DevOps的变化趋势,然而,伴随着 运维机器智能的兴起,从DevOps到NoOps的趋势正初现端倪。
NoOps是一个使用智能自动化来帮助您工作的时代,在这种趋势下,您可以减少运维管理对人的依赖,节约宝贵的时间来解决未知的问题,因为机器可以对已知的问题作出判断。与此同时,可以为新问题提供诊断信息,以减少工程师的运维工作量。
以下是将在2017年采用NoOps的前5大趋势:
伴随着容器的兴起,微服务架构的落地以及机器智能的深入,DevOps工程师们将更倾向于使用这些技术来解决日常工作中的问题。我相信,对于 DevOps工程师们来说,2017年绝对是值得为之兴奋的一年。在过去的7年里,我们一直持续关注着从手动运维到DevOps的变化趋势,然而,伴随着 运维机器智能的兴起,从DevOps到NoOps的趋势正初现端倪。
人类应该解决新的问题,机器应该解决已知的问题!在这种理念的引领下,从DevOps向NoOps发展是一个顺理成章的过程。DevOps和NoOps最大的区别在于,是自动化脚本运维还是智能运维。绝大多数DevOps工具链的主要功能都由自动化脚本实现,比如构建一个应用,或者将代码部署到服务器上,以及通过编程实现的基础设施配置。
NoOps是一个使用智能自动化来帮助您工作的时代,在这种趋势下,您可以减少运维管理对人的依赖,节约宝贵的时间来解决未知的问题,因为机器可以对已知的问题作出判断。与此同时,可以为新问题提供诊断信息,以减少工程师的运维工作量。
以下是将在2017年采用NoOps的前5大趋势:
- 无服务器编程:随着像AWS Lambda这样的云提供商提供的功能即服务的广泛采用,早期开发者已经将其简单的API,脚本任务和快速作业转移到无服务器部署模式,因此他们不需要管理调度程序,也不需要担心其特定任务的基础架构。
这是一个新的编程和部署模式,将显著减少对DevOps配置管理的要求。随着云供应商无服务器产品更加成熟,我们将会看到NoOps的迅速发展。
- 容器化:容器在2016年统治了云的世界,我们将看到越来越多的应用被部署到容器云环境中,特别是由Docker支持的容器云环境。
由于企业采用云作为主流基础架构平台,它将进一步促进容器在在企业中的广泛应用,目的是处理企业应用程序之间纷繁复杂的依赖。
容器将通过利用诸如Kubernetes,Mesos,ECS,Nomad等集群管理和编排解决方案来进一步抽象不同组件之间的依赖性和资源共享关系,以提供底层基础设施的常规视图。
- 微服务架构:
尽管云已经部署了各种应用程序,但只有通过采用微服务架构模式来构建新应用和部署现有应用,才能实现云的真正强大功能。这将帮助工程师将复杂的单个系统的分解成小型组件,这些组件职责单一,更容易被管理。随着容器的采用,依赖和包的抽象已经变得简单。
微服务架构的兴起需要智能的构建和部署方法,而不是大多数人今天使用的简单的CI/CD。随着容器化成为云环境中组件部署的标准方式,微服务架构将会被迅速采用。
- 智能化和一致性的操作:负责管理产品运维(从ITOps到DevOps时代)的工程师对于大多数不智能的工具感到失望。随着机器智能的兴起和深度学习的采用,我们将看到更多的智能化工具在他们的日常运维工作中发挥作用。
像智能监控(只有静态阈值的警报,而不是动态警报),智能部署(集群管理工具),智能APM(不仅是发生了什么,为什么它发 生),智能日志管理(实时流日志事件和自动基于应用堆栈的相关事件检测)和智能事件管理(抑制来自不同警报系统的噪声,并为工程师提供诊断信息以更快地获 得根本原因)。
- 自我修复和自动修复:随着DevOps的采用,工程师已 经深入理解了产品运维的原理,并且使用这些原理来完成日常任务。然而,DevOps仅限于构建,部署和配置,而日常操作仍然以手动或半自动化方式处理。在 2017年,智能运维将会被用来管理云应用程序和微服务架构,为自我修复和自动修复生产组件和基础设施铺平道路。
容器和容器集群管理解决方案将加速运维智能发展。运维智能将用于部署大规模应用程序,包括故障组件的自动替换,故障转移支持,新版本的自动拉取,如果新部署失败则自动回滚,已知问题的内置恢复等等。