“ 文章介绍了云原生的基本概念以及容器介绍,适合初次接触云领域的初学者。”


 基本概念

  • 云原生(Cloud+Native)是基于分布部署和统一运管的分布式云,以容器、微服务、DevOps等技术为基础建立的一套云技术产品体系。——上云,使用云服务器而不是本地服务器。
  • 程序位于云中,而不是传统数据中心。
  • 编写在公司服务器上运行的本地部署应用程序往往使用传统语言编写,如C/C ++,C#或其他Visual Studio语言(如果部署在Windows Server平台上)和企业级Java。如果它在大型机上,可能使用Cobol。

  • 云原生应用更有可能以网络为中心的语言编写,这意味着使用HTML,CSS,Java,JavaScript,.Net,Go,Node.js,PHP,Python和Ruby。

  • 云原生应用程序始终是最新的,云原生应用始终可用。本地部署应用程序需要更新,并且通常由供应商按订阅提供,并且在安装更新时需要停机。

  • 云原生应用程序通过在峰值期间增加的资源来利用云的弹性。如果你的基于云的电子商务应用程序使用频繁,你可以将其设置为使用额外的计算资源,直到峰值消退然后关闭这些资源。云原生应用可以根据需要调整增加资源和规模。

  • 云原生应用程序在虚拟化环境中工作,并与其他应用程序共享资源没有问题。许多本地部署应用程序要么在虚拟环境中不能正常工作,要么根本不工作,必须要非虚拟化环境。

  • 本地部署应用程序往往在设计上是单一的。他们肯定会将一些工作卸载到库中,但最终它是一个包含大量子程序的大应用程序。云原生应用程序更加模块化,许多功能分解为微服务。这允许在不需要时关闭它们,并将更新推广到那个模块,而不是整个应用程序。

微服务

  • 微服务则是一种用于构建应用的架构方案,微服务架构有别于为传统的单体应用的是将应用拆分成多个核心功能,每个功能都被称为一个独立的服务,可以单独构建和部署,其中某个服务出现故障也不会影响其他的功能模块,这句体现了其针对特定服务发布,影响小,风险小等特点。

服务网格(Service Mesh)

  • 服务网格指的是用于微服务应用的可配置基础架构层。在使用服务网格时通常会提供一个sidecar代理实例,主要处理 service 间的通信、监控、以及一些安全相关的考量,每个serivce里面都会有一个sidecar,同样也提供了服务发现、负载均衡、授权等功能。

容器

  • 简单可以理解为主机系统下的独立于主机的子系统。

容器概念

  • 容器是与系统其他部分隔开的一系列进程,运行这些进程所需的所有文件都由一个镜像提供。

容器意义

  • 容器就是存放应用和应用相关依赖的“独立集装箱”,根据运送的货物的不同特性可以制定多种集装箱类型(即容器镜像)。
  • 容器镜像打包了整个容器运行依赖的环境,以避免依赖运行容器的服务器的操作系统。
  • 容器都具有可移植性和一致性。
  • 容器化为微服务提供实施保障,起到应用隔离作用。

Docker容器

  • Docker项目通过容器镜像,直接将一个应用运行所需的完整环境——将整个操作系统的文件系统打包了进去。
  • Docker优点:项目大大降低了容器技术的使用门槛。轻量级,可移植,虚拟化,写了程序扔上去做成镜像可以随处部署和运行,开发、测试和生产环境彻底统一了,还能进行资源管控和虚拟化。
  • Docker作为一种开源应用容器引擎,是为开发人员和系统管理员设计的用于构建、发布和运行分布式应用的平台,典型的Docker平台Kubernetes、Openshift V3、Flynn、Deis等
  • Docker允许开发人员将各种应用以及依赖包打包到一个可移植的Docker容器中,以Docker容器为资源分割和调度的基本单位,封装整个软件运行时的环境,然后发布到Linux机器上。


参考资料 

https://www.cnblogs.com/DTinsight/p/14522296.html

https://zhuanlan.zhihu.com/p/150190166

https://cloud.tencent.com/developer/article/1598764

https://baijiahao.baidu.com/s?id=1606406149473084309

https://zhuanlan.zhihu.com/p/441747471


💗 “究竟错的是时间,还是少年,云开依然不见月。” 

                                                                ——Created By 是羽十八ya

更多推荐