
Cloud Native表面看起来比较容易理解,但是细思好像又有些模糊不清:Cloud Native和Cloud关系是啥?它用来解决什么问题?它是一个新技术还是一个新的方法?什么样的APP符合“云原生”的呢?等等。下面将会一一解读。
Cloud Native是Matt Stine提出的一个概念,它是一个思想的集合,包括DevOps、持续交付(Continuous Delivery)、微服务(MicroServices)、敏捷基础设施(Agile Infrastructure)、康威定律(Conways Law)等,以及根据商业能力对公司进行重组。
可以说,Cloud Native即包含技术(微服务,敏捷基础设施),也包含管理(DevOps,持续交付,康威定律,重组等)。Cloud Native也可以说是一系列Cloud技术、企业管理方法的集合。
企业采用基于Cloud Native的技术和管理方法,可以更好的把业务迁移到云平台,从而享受云的高效和按需资源能力。
Cloud Native的技术部分是建筑在传统Cloud的三层(IaaS、PaaS、SaaS)概念之上的:
敏捷基础设施对应IaaS部分。
微服务则可以对应PaaS和SaaS部分。
当然,Cloud Native比传统Cloud 多了一些企业管理方法。
备注:Cloud Native从技术上更强调敏捷基础设施和微服务的概念,这并不意味着它是抛开IaaS、PaaS、SaaS而另起炉灶的。
(1)康威定律:业务云化推行,从某种意义上讲也是一种变革。既然是变革,必然会涉及组织的各个层面,开发、质量、运维等等都会涉及。康威定律则准确的描述了系统架构和组织的关系:组织决定系统架构!
一个云系统最终长成什么样子,则完全是企业的组织结构决定的,是组织内部、组织之间的沟通结构。
如果要想得到一个合理的Cloud架构,仅从技术入手是不够的,还需要从组织架构入手,才真正有效。
(2)DevOps:(英文Development和Operations的组合)是一组过程、方法与系统的统称,用 于促进开发(应用程序/软件工程)、运维和质量保障(QA)部门之间的沟通、协作与整合。它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品 和服务,开发和运维必须紧密合作。
(3)持续交付(Continuous Delivery):是一系列的开发实践方法,用来确保让代码能够快 速、安全的部署到产品环境中,它通过将每一次改动都提交到一个模拟产品环境中,使用严格的自动化测试,确保业务应用和服务能符合预期。因为使用完全的自动 化过程来把每个变更自动的提交到测试环境中,所以当业务开发完成时,你有信心只需要按一次按钮就能将应用安全的部署到产品环境中。持续交付可以采 用:CI(持续集成)、代码检查、UT(单元测试),持续部署等方式,打通开发、测试、生产的各个环节,持续的增量的交付产品。
(4)微服务(MicroServices):微服务首先是一个服务,其次该服务的颗粒比较小。微服务可以采用Docker、LXC等技术手段实现。
(5)敏捷基础设施(Agile Infrastructure):提供弹性、按需的计算、存储、网络资源能力。可以通过Openstack、KVM、Ceph、OVS等技术手段实现。
更快的上线速度
细致的故障探测和发现
故障时能自动隔离
故障时能够自动恢复
方便的水平扩容
持续交付、DevOps、微服务解决-->更快的上线速度
微服务解决-->细致的故障探测和发现
微服务解决-->故障时能自动隔离
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/sanxing/article-58525-1.html
让每个中国人觉醒