谁在害怕云原生?
如今,IT世界正在以极快的速度发生变化,其中很大一部分只涉及一种技术——应用容器,尤其是Kubernetes。这种方法专为云计算而设计,并在“云原生”的旗帜下诞生的整个软件生态系统,其中包括Prometheus、Fluentd、rkt、Linkerd等众多项目。但究竟什么是云原生?它是否会使数据中心自动化工作不复存在?
幸运的是,负责管理Kubernetes的一个非营利组织——云原生计算基金会(CNCF)的团队在几个月前开发了一个有用的定义。
开源
它以真正的开源方式发布在GitHub上,并且正在不断完善中。这个定义指出:“云原生技术使组织能够在现代的动态环境(如公共云、私有云和混合云)中构建和运行可扩展的应用程序。容器、服务网格、微服务、不可变基础设施和声明性API是这种方法的例证。”
这些技术使松散耦合的系统具有弹性、可管理性和可观察性。结合强大的自动化功能,它们使工程师能够以最少的工作量和可预测地进行高影响力的变更。
这一运动源于一些世界上最成功的数字业务的经验。云原生计算基金会(CNCF执行董事DanKohn表示,“在过去的十年中,许多前瞻性的公司一直在考虑这些问题。谷歌公司无疑是最著名的厂商,但实际上,每家厂商都试图以更大的规模运营,例如亚马逊、Twitter、Yelp、Pinterest、SoundCloud等这些公司都提出了相对类似的解决方案。一旦他们确定了这一点,他们开始将所有学习内容放入一组开源项目,在共同拥有基础设施,然后他们就可以升级到创新。我认为这是一个伟大的事情,这个创新现在对任何人都可用。”
需要注意的重要事项之一是,迁移到云原生并不一定需要公共云,只要它支持某种形式的私有云架构,企业就可以在其本地数据中心轻松运行Kubernetes。
“关键的想法是,不要在一台机器上运行一个应用程序,然后说‘好的,这是我的数据库服务器,这是我的web服务器,这是我的中间件服务器’,而是将所有应用程序都装入容器,为它们建立一组需求,然后让它们自动编排。”Kohn说,“这实际上是如何管理和部署基础设施的范例转变。”
Kohn指出,“Kubernetes是历史上发展最快的开源项目之一——这取决于数量,它名列在Linux之后排在第二位,并且经常被描述为‘云计算的Linux'。它背后有巨大的发展动力,并且在很多方面,它正成为那些想要迁移到现代基础设施组织的默认选择。”
“整个生态系统的发展速度越来越快。”Packet公司共同创始人和高级副总裁JacobSmith说道,“这是一个面向应用程序开发人员的公共云服务。如果你问一个10年前的IT人员,他们会这方面投入大量的资源,比如VMware。而Kubernetes只有四年的历史,但却推动了所有顶级公司的企业战略。”
敏捷开发
云原生保护伞还包括持续集成和持续部署(CI/CD),这是用于描述与DevOps密切相关的敏捷开发方法的术语。
“持续集成和持续部署(CI/CD)或DevOps文化应该成为企业的目标,无论他们是否想要云原生。”SolarWinds公司营销总监PatrickHubbard说,“解决你想要的敏捷程度可能是最终采用云计算更加成功的第一步,因为云原生服务都是为API管理而设计的,它们旨在以编程方式进行管理。”
Hubbard指出,一些云计算供应商谈论DevOps,就像喜欢使用SKU一样,组织可以为它支付费用并安装,突然他们采用了敏捷方法。不幸的是,情况并非如此:像容器一样,使用DevOps需要额外的技能,而且还需要在业务本身内进行结构性变更,这也是为什么它仍被视为一种替代品而不是标准的原因之一。
但是,数据中心行业人士是否应该担心这种突然涌入的新技术呢?毕竟,他们依靠原有的技术知识生存,而Kubernetes则呈现出一个新的陌生领域。
“他们应该把这看作是一个机会。”Kohn说,“员工的技能组合相互依赖。如果你是一位经验丰富的系统管理员,并且擅长配置机器并在Linux中工作,那么将几乎所有这些技能应用于DevOps和微服务和容器的现代世界是非常可行的。
我认为不要埋头苦干,可以学习一些在线提供的培训课程,花费时间学习和了解这个新技术和新领域,你会发现,这里涉及有Linux,还有服务器等技术,其现有的知识和经验仍然有用,只是需要增加一些额外的功能。”
Hubbard也有类似的观点,他说“我们发现这一点,当看到我们的IT趋势报告和其他一些调查时,似乎在云计算还有这种职业重启的机会,因为没有真正采用虚拟化。