美文网首页
2022-01-29云原生

2022-01-29云原生

作者: 生如夏花131 | 来源:发表于2022-01-29 16:41 被阅读0次

云原生是一种构建和运行应用程序的方法,是一套技术体系和方法论。云原生(CloudNative)是一个组合词,Cloud+Native。

Cloud表示应用程序位于云中,而不是传统的数据中心;Native表示应用程序从设计之初即考虑到云的环境,原生为云而设计,在云上以最佳姿势运行,充分利用和发挥云平台的弹性+分布式优势。

2013年,Pivotal公司的Matt Stine于首次提出云原生(CloudNative)的概念;

2015年,云原生架构特征:12因素、微服务、自敏捷架构、基于API协作、扛脆弱性;

2017年,云原生架构:模块化、可观察、可部署、可测试、可替换、可处理6特质;而Pivotal最新官网对云原生概括为4个要点:DevOps+持续交付+微服务+容器。

2015年,云原生计算基金会(CNCF):容器化封装+自动化管理+面向微服务;

2018年,CNCF又更新了云原生的定义,把服务网格(Service Mesh)和声明式API给加了进来。

云原生架构的应用程序长相:采用开源堆栈(K8S+Docker)进行容器化,基于微服务架构提高灵活性和可维护性,借助敏捷方法、DevOps支持持续迭代和运维自动化,利用云平台设施实现弹性伸缩、动态调度、优化资源利用率。

微服务:

几乎每个云原生的定义都包含微服务,跟微服务相对的是单体应用,微服务的理论基础是康威定律,指导服务怎么切分。

微服务架构的好处就是按function切了之后,服务解耦,内聚更强,变更更易;另一个划分服务的技巧据说是依据DDD来搞,不过鄙人对DDD知之甚少。

容器化:

Docker是应用最为广泛的容器引擎,在思科谷歌等公司的基础设施中大量使用,是基于LXC技术搞的,容器化为微服务提供实施保障,起到应用隔离作用,K8S是容器编排系统,用于容器管理,容器间的负载均衡,谷歌搞的,Docker和K8S都采用Go编写,都是好东西。

DevOps:

这是个组合词,Dev+Ops,就是开发和运维合体,不像开发和产品,经常刀刃相见,实际上DevOps应该还包括测试,DevOps是一个敏捷思维,是一个沟通文化,也是组织形式,为云原生提供持续交付能力。

持续交付:

持续交付是不误时开发,不停机更新,小步快跑,反传统瀑布式开发模型,这要求开发版本和稳定版本并存,其实需要很多流程和工具支撑。

相关文章

网友评论

      本文标题:2022-01-29云原生

      本文链接:https://www.haomeiwen.com/subject/ihqfkrtx.html