云原生软件开发与运维middot

云原生软件开发与运维

智能化软件开发微访谈

背景介绍

包含容器化、微服务、服务网格等技术在内的云原生已经成为新的技术浪潮,深刻地改变着软件开发、维护和运行的方式。根据Gartner的报告预测,到年将有75%的全球化企业将在生产环境中使用云原生的容器化应用。与此同时,大规模云原生应用的运维管理也成为一个新的挑战。本次微访谈针对云原生软件开发与运维这一主题,邀请了来自工业界的多位专家围绕云原生对于软件开发和运维所带来的思维和技术变革、企业实践探索及未来发展方向等多个方面的问题进行研讨和交流。

主持人

彭鑫

复旦大学教授

嘉宾

张冬梅

微软亚洲研究院副院长

张峻(Bobby)

腾讯云原生首席架构师

曲显平

百度云原生业务负责人

郑然

百度主任架构师和基础架构技术委员会主席

王含璋

eBay应用研究员

孙凯

京东零售集团技术中台效能平台负责人

林帆

阿里巴巴研发效能部技术专家

杨志博

华为技术有限公司华为云核心网软件总工

访谈主题

云原生软件开发与运维

01

您是如何理解“云原生”这个概念的?例如,这个概念是如何产生的、具体是什么含义、对于企业带来的收益等?

02

“云原生”目前在您所在的企业和部门落地状况如何?目前已经形成或采取了哪些新的方法、工具和实践?取得了什么样的效果?

03

云原生对于软件工程带来了哪些思维变革?软件开发方法和技术,特别是软件架构设计和软件开发过程,发生了什么样的变化?

04

云原生对于软件开发、测试和运维带来了哪些新的问题和挑战?

05

面向云原生时代,您对于目前计算机及软件工程专业的学生的专业学习和技术发展有什么建议?对于软件工程领域学术界的研究者和研究生们的研究思路和方向有什么样的建议?

QA记录

Question1

主持人:您是如何理解“云原生”这个概念的?例如,这个概念是如何产生的、具体是什么含义、对于企业带来的收益等?

张冬梅(MSRA):

我理解云原生这个概念的核心是要充分利用云计算平台,实现应用的快速迭代,大规模扩展,以及highresilience。这里快速迭代和大规模扩展都容易理解。Highresilience指的是应用能够对错误做出快速反应,并且仍然能够运行。

云原生对企业实现以数据驱动为核心的数字化转型起着至关重要的作用。数据驱动需要收集、存储、处理、分析、建模大规模的数据,并根据分析和预测的结果及时对已有业务进行调整,或者发现新的业务机会,扩展业务范围。所有这些需要强大的IT平台和技术作为支撑。一般企业尤其是中小企业很难通过自己的IT部门实现这些业务目标。而云原生提供了解决方案,使得广大企业的数字化转型成为可能。

观点讨论

彭鑫(复旦大学):嗯,看来既包括快速迭代和扩展,又包括运行时的质量保障。

张峻(腾讯):

云原生(Cloud-Native)这个概念一直在发展中,所以在不同的时间段会有不同的定义。“云原生”这个词是由Pivotal公司首次提出的,在年,CNCF(云原生计算基金会)对云原生起初的定义包括三个方面:应用容器化、面向微服务架构及自动化管理。之后随着容器、Kubernetes、服务网格等技术的演进,现有定义已限制了云原生生态的发展,在年,CNCF对云原生又重新进行了更广泛的定义:“云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统做出频繁和可预测的重大变更。”

云原生其实不是要求应用在云上开发,或者业务部署到云上,而是描述了一个如何创建,开发应用的一个过程。云原生有三个主要特点:容器化,动态调度,微服务。这些在方便了应用管理,应用扩容,资源隔离的同时,更是解决了一个团队合作的问题。同一个业务的不同团队可以开发多个微服务来支撑同一个业务,它们之间可以自由选择自己的技术栈,不再需要统一编程语言,日志格式,系统依赖等一系列问题。

云原生能够有效的为企业提高收益降低成本、提高效率以及提升服务稳定性等。

观点讨论

彭鑫(复旦大学):我们应该可以从内涵和外延两个角度去理解云原生。从外延看可以看相关的典型技术和实践。从内涵看可以考虑云原生背后的精神,我的理解是软件应用的架构、开发、部署和运维都充分考虑并利用云的特点(分布、可伸缩等)。

曲显平(百度):

个人觉得核心含义是用完全面向云的模式去实现软件架构,最大化释放云的价值。对于企业来讲,最核心的收益就是极致的资源弹性和业务弹性(成本、效率、稳定性),全面提升研发效能。

郑然(百度):

上面的嘉宾说的非常有价值,云原生cloudnative在英文里是两个词,代表下一代云计算技术。cloud代表了第一代云计算技术,以IaaS资源虚拟化为核心,解决了资源弹性的关键问题,云计算资源可以让企业可以按需使用按量付费,通过规模化效应降低企业IT成本。但是资源的虚拟化没有解决应用的弹性问题,包括应用的可用性,交付弹性,研发效率等问题。native的思想核心是应用按照云的特点设计,让应用天然生长在云上,天然的具备面向应用的弹性能力。资源弹性和应用弹性相结合,充分释放云计算的技术红利,从弹性,敏捷,可移植三个层面给企业的数字化转型提供良好的技术支撑。

观点讨论

彭鑫(复旦大学):嗯,弹性不仅仅指运行时的伸缩和资源弹性,也可以包括业务扩展的弹性。

张冬梅(MSRA):非常赞同。

彭鑫(复旦大学):

郑然(百度)从资源弹性到应用弹性,让云上的软件应用成为原住民。

郑然(百度):没错,彭老师说的原住民这个词非常形象~~

王含璋(eBay):

在云原生被“泛用”的今天,我理解它是:一种创建高性能、安全、可靠的分布式系统的指导思想;一种围绕松散耦合的微服务和高效敏捷开发的设计方式;利用容器化、DevOps等构建和运行服务程序的技术体系;也是一种对应用层提出约束和infra层提出要求的“协议”。

云原生在CNCF的官方定义中,我们也不难发现其对业界的最终收益主要围绕在资源利用和开发效能上。

孙凯(京东):

关于云原生的概念,网上有非常多的阐述,基本可以归类为2种说法:

(1)一种说云原生=持续交付+DevOps+微服务+容器化;简单解释为云原生是一个概念集合,可以说既包含技术(微服务、容器),也包含管理(DevOps持续交付、康威定律、重组等)可以说是一系列云的技术和企业管理方法的一种集合。

(2)第二种是在CNCF



转载请注明地址:http://www.henanledxianshiping.com/zxrjkf/20434.html
  • 上一篇文章:
  • 下一篇文章: 没有了