云计算已经成为信息化、数字化发展的重要基础设施,而云原生作为近几年云计算领域最火热的技术架构,呈现愈演愈烈的趋势,并推动企业在数字化浪潮中不断创新发展。云原生已经不是少数几个大企业的专属技术,越来越多的企业正在拥抱它,享受由它带来的技术红利。
云原生技术生态
云原生不是一个产品,而是一套技术体系和一套方法论。云原生即包含技术(微服务,容器等基础设施),也包含管理(DevOps,持续交付,重组等)。云原生也可以说是一系列云技术、企业管理方法的集合。
云原生目前主要的技术包括:容器化,DevOps,CI/CD,微服务。
容器化
在容器技术之前,业界的主流的技术是虚拟机。虚拟机技术的代表是VMware和OpenStack。虚拟机就是在操作系统里安装一个软件,然后通过这个软件,再模拟一台甚至多台“子电脑”出来。在“子电脑”里,可以和正常电脑一样运行程序,例如微信、Word。“子电脑”和“子电脑”之间,相互隔离互不影响。
Docker
说到容器,就不得不说Docker。
Docker本身其实也是属于LXC的一种封装,提供简单易用的容器使用接口。它最大的特性就是引入了容器镜像。Docker通过容器镜像,将应用程序与运行该程序需要的环境,打包放在一个文件里面。运行这个文件,就会生成一个虚拟容器。
DevOps
DevOps(Development & Operations,开发和运维)是2009年提出来的概念,但一直没有太火。直到2014年,容器与微服务架构的提出,DevOps才得到了快速的发展。DevOps不单是一个实现自动化的工具链,而是组织、流程与技术的结合。组织上强调全栈团队、团队特性专一、团队自治;技术上打通开发与运维;流程上强调端到端、可视化、灰度升级、A/B测试等。
Kubernetes
随着越来越多的开发者使用Docker来部署容器,编排平台的重要性日益突出。在激烈的竞争中,Kubernetes 逐渐脱颖而出,占据了主导地位。
Kubernetes的主要功能包括:
持续交付
完成CI中构建及单元测试和集成测试的自动化流程后,持续交付可自动将已验证的代码发布到存储库。为了实现高效的持续交付流程,务必要确保CI已内置于开发管道。持续交付的目标是拥有一个可随时部署到生产环境的代码库。
企业可以利用云原生这一系列云技术和企业管理方法的集合,通过实践及与其他工具相结合更好地帮助用户实现数字化转型。