搜公众号
推荐 原创 视频 Java开发 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库
Lambda在线 > 西安华信智慧 > 硅谷火爆的云原生,你会玩吗?

硅谷火爆的云原生,你会玩吗?

西安华信智慧 2019-02-10
举报


软件行业内,对于“什么是云”各执一词,对“云”的理解也因人而异。套用一句关于BigData 流行的笑话,放在“云”上也适用。Cloud is like teenage sex,everybody talks about it;however,nobody really knows what it is.


01

云原生到底是什么?


在云计算行业里有很多跟太极一样重意不重形的概念,“云”本身就是一个这样的概念,“云原生”亦然。


从“形”上讲,云原生是面向“云”的软件设计、开发、测试、运维、监控的一整套理念、原则、方法、工具。因此云原生的“形”包含但不限于开发运维一体化(DevOps)、持续交付(Continuous Delivery)、微服务(MicroServices)、容器技术(Container)、康威定律(Conways Law)、精益软件开发(Lean Software Development)


不要以为某个应用运行在阿里云、华为云上或者其他某个私有虚拟化平台上就认为它是云原生应用。有些公司设法让你相信,通过在公有云上简单的部署实践就可以拥有原生云基础设施。


目前,这类公司已越来越多。但是,原生云有很大一部分是由 DevOps 实践发展而来,需要采用新的工作方法以及学习文化才能从中受益,并不是你花钱就可以买到的。如果你处于一个缓慢变化、严格管控的传统环境,你可能就无法从原生云基础设施受益。

 

云原生与传统架构的区别并非是关于某项具体的技术或者工具,而主要在于云原生的“意”。云原生的“意”强调应用的快速迭代、弹性伸缩、反脆弱


02

为什么在硅谷那么流行?


根据IBM公司在2018年的调查,实践云原生后:


应用性能

提高85%,改进的应用程序性能不仅与易于开发相关,而且与改进的应用程序质量,多语言编码支持,应用程序开发自动化和减少的依赖性相关。

灵活性和速度

提高75%,包括增加功能的灵活性以及向上或向下扩展资源以满足用户需求,对于应用程序开发主管来说尤为重要。这可以提高员工的工作效率,加快应用更新速度和业务实施速度,促进业务增长。


超过50%的人认为:他们通过云原生应用程序开发取得成功的关键是文化转型的这7个要领:


(1) 小团队拥有整个应用程序的特定组件

(2) 持续开发,交付和性能监控

(3) 应用程序开发人员和IT运营专家之间的协作

(4) 主要利益相关者的积极参与

(5) 更好地分析与最终用户行为相关的数据

(6) 在整个团队中不断集中整合源代码更新

(7) 在开发、测试、预发和生产环境中部署应用程序的管道


硅谷火爆的云原生,你会玩吗?

(图片来源:IBM云市场调研)


“云原生”企业相较于依靠传统IT支撑平台的企业,会具备更高的业务敏捷性、更短的业务上市时间(Time-To-Market),更好的客户体验,以及更强的通过软件的弹性伸缩支撑业务快速增长的能力


总而言之,人是最重要的,时间最有价值。


03

云原生与传统三大云(IaaS,Paas,SaaS)将会是谁主沉浮?


这两年IT界“云”烟四起,IaaS、PaaS、SaaS风生水起,三足鼎立。那么云原生与传统云们又有什么关系呢?


云原生的技术部分是构筑在传统三朵云上的,敏捷基础设施对应IaaS部分,微服务则可以对应PaaS和SaaS部分,但是云原生比传统云多了一些企业管理的方法。


硅谷火爆的云原生,你会玩吗?

注:Cloud Native从技术上更强调敏捷基础设施和微服务的概念,这并不意味着它是完全抛开传统三朵云而独辟蹊径。


04

云原生的六大护法


(1) DevOps:(Development+Operations)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、运维和质量保障部门之间的沟通、协作与整合。打破部门之间的墙,从而达到1+1>2的效果。


硅谷火爆的云原生,你会玩吗?


(2) 持续交付:是一系列的开发实践的方法,用来确保代码能够快速、安全的部署到产品环境中,它通过将每一次改动都提交到一个模拟产品环境中,使用严格的自动化测试,确保业务应用和服务能符合预期。因为使用完全的自动化过程来把每个变更自动的提交到测试环境中,所以当业务开发完成时,你有信心只需要按一次按钮就能将应用安全的部署到产品环境中。 


硅谷火爆的云原生,你会玩吗?


持续交付可以采 用:CI(持续集成)、代码检查、UT(单元测试),CD(持续部署)等方式,打通开发、测试、生产的各个环节,持续的增量的交付产品。


(3) 微服务:微服务专注于单一责任与功能的小型功能区块 (Small Building Blocks) 为基础,利用模块化的方式组合出复杂的大型应用程序。多种监控方式,路由断路机制也提供了可靠的安全保障。充分展现了高内聚,低耦合的服务优势。

硅谷火爆的云原生,你会玩吗?


(4) 容器:让应用程序布署在软件货柜下的工作可以自动化进行,借此在Linux操作系统上,提供一个额外的软件抽象层,以及操作系统层虚拟化的自动管理机制。常用Docker+K8s,真正实现了环境分离及易于迁移的特性,根据业务需求自动伸缩监控的功能。


硅谷火爆的云原生,你会玩吗?

(5) 康威定律:业务云化推行,从某种意义上讲也是一种变革。既然是变革,必然会涉及组织的各个层面,开发、质量、运维等等都会涉及。康威定律则准确的描述了系统架构和组织的关系:组织决定系统架构!

硅谷火爆的云原生,你会玩吗?

(6) 精益软件开发:和精益制造原则的概念相近,精益开发也可以总结为如下七条原则:消除浪费、增强学习、尽量延迟决定、尽快发布、下放权力、嵌入质量、全局优化。


硅谷火爆的云原生,你会玩吗?


现阶段大部分企业部署运维痛点及云原生解决手段:


痛 点

手 段

论 证

更快的上线速度,传统的服务上线速度以年、季为单位,跟不上现在的市场需求速度。

持续交付、DevOps、微服务,将上线速度提升到以月、周、日为单位。

现在生存法则不是以大鱼吃小鱼,而是快鱼吃慢鱼,窗口期缩短至数月、数周,快速上线是刚需。

细致的故障探测和发现,服务的复杂度日益增加导致锁定问题难,锁定问题慢等问题。

微服务、容器技术完整的流程监控,服务监控机制可快速锁定服务问题,可以对部分问题进行自动化处理。

千里之堤,毁于蚁穴,早期的米聊拥有先发优势及稳定的米粉客户群,但后面之所以没干过微信,核心原因就是服务器不稳定体验差。

故障时能自动隔离,单体架构通常如果某一模块故障很有可能导致全面瘫痪。

微服务、容器技术就可以将任何⼀个微服务的故障范围限制在这个容器服务内消化。

早期阿里对淘宝做第一次大的架构升级,很大一部分原因就是解决一个小bug导致系统全面崩溃的问题。

故障时能够自动恢复,在传统的服务部署体系下,就算是因为很简单的原因也难以诊断恢复。

微服务、容器技术凭借可视化、故障隔离和容错能⼒,使我们拥有确定故障所需的⼯具,从故障中恢复。

微服务与容器技术会在发现简单故障时无需人为干预就可以恢复服务正常,极大减少了后期运营维护人员的工作量及服务风险。

方便的水平扩容,如果服务量与日俱增,那么一定会给与超量的资源冗余防止服务崩溃,但这些冗余只在某一时刻使用。

微服务的多实例部署及k8s的水平伸缩技术将大大缓解资源浪费的情况。

去年淘宝在央视春晚拿到冠名权,当晚的流量是当年双十一流量的15倍,那么如果我们平时就准备那么多资源,岂不是杀鸡用牛刀。

灰度升级,用户用的好好的,要升级怎么办?一说到这点许多运维朋友就头大,传统直接替换风险太大。

微服务+容器技术可实现灰度升级,也就是先升级一个实例等到实例稳定后再替换其他实例规避了升级风险。

快速迭代已成为大势所趋,如何保证服务一直稳定地给用户带来舒适的体验,微服务+容器技术会给你答案。



05

那我们怎么从传统架构过渡到云原生中呢?


这里我想说句实话,因为涉及组件和技术十分杂乱并且每一个组件都是一个“深坑”,如果单靠自己去把云原生系统搭建完毕,是一个较为费时费力的过程。不过条条大路通罗马,现在国内形势一片大好,BATH等大厂的公有云还是可以给你一个另辟蹊径、弯道超车的机会。


但BATH的公有云也有一定局限性:

(1) 企业控制力度较弱(随着业务增加,规模扩大,租金也会水涨船高,易进难出,到时进退两难);

(2) 数据安全有一定风险(facebook数据库都会被搞,还有谁说“我不会”?谁敢在外网公然叫嚣“我最安全”,乌克兰的大神们一定不会放过他,哈哈哈)

(3) 可定制化较弱


那怎么办,还能不能愉快地玩耍了?



还好天无绝人之路,西安华信智慧在深入研究大连华信与中控智慧的多年开发管理经验后,自主研制出了一套完整的私有云解决方案,并在两家大型企业实践中得到了非常好的反馈。


即微服务架构+容器治理+DevOps+项目管控+自动化测试+大数据+AI的完美解决方案,并且有微服务架构(适用于中等及大型企业)和单体架构(适用于初创及小型企业)两种模式提供选择,还可以满足你的定制化需求。


PS:后续我们还会带来这些细分领域(微服务架构,容器治理,DevOps,项目管控,自动化测试,大数据,AI)技术最佳实践的分享。


参考文献:

一篇文章带你了解Cloud Native   (网址:http://www.open-open.com/lib/view/open1447420363069.html)


IBM云原生调查报告 (网址:https://www.ibm.com/cloud/cloud-native-research/)


作者介绍

硅谷火爆的云原生,你会玩吗?

杨鹏,公司DevOps、微服务开发工程师,大数据开发工程师,负责DevOps系统开发,自动化研究。对Harbor及Pivotal Tracker有着较深地实践理解。明明可以靠脸,非要靠才华!




精彩推荐
欢迎关注“西安华信智慧”企业官方微博

欢迎关注“西安华信智慧”领英公司主页

还有扫描下方二维码关注微信公众账号哦






版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《硅谷火爆的云原生,你会玩吗?》的版权归原作者「西安华信智慧」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注西安华信智慧微信公众号

西安华信智慧微信公众号:aixahc

西安华信智慧

手机扫描上方二维码即可关注西安华信智慧微信公众号

西安华信智慧最新文章

精品公众号随机推荐

举报