云原生系列第一章-什么是云原生技术
【云原生系列第一章】—什么是云原生技术?
目录
一、我们先来知道什么是云?
云呢,就是位于网络之上的一个可以动态伸缩的资源池。
那么在这个资源池里面,可以计算资源,也可以说这里面全是虚拟机,也可以是存储设备。
因为这个资源池是可以动态伸缩的,也就是说当这个资源池对外服务能力不够的时候,我们就可以增加物理机器,就可以相应的增强他的计算力,存储空间就会变大,资源池就变大了
如果我们不需要过多资源的时候,我们可以撤掉资源池的一些机器,这样就会将资源池自动缩小,我们通常将这个形态我们叫做云
二、我们再来了解什么是云计算?
有了云之后,我们使用计算机的方式就会和以往的形式有不一样的地方,比如我们有很多计算的任务,我们要做图片、视频的转码,如果我们采用传统的方式,我们就需要去购买一些机器,等转码任务完成后,机器就会闲置或很少的使用,这也浪费了它的使用资源。
但是有了云之后,我们就可以在云上面租用这样的机器,来短时间的使用去完成转码的任务,任务完成后我们再将租用的机器归还给云。
主要形式就是 变买为租、按量付费 ,对于使用的主体来说,这种形式更加方便实惠,根据需要去挑选租用提高使用效率的同时节约了资金成本。
随着越来越多的企业组织采取了 变买为租、按量付费 这样的方式,将应用部署到云上面,也正是这样的方式将跑在本地的项目迁移到了云端,所以我们将计算放在云端的方式叫做 云计算 ,也就是我们常说的三种类型IaaS、PaaS、SaaS。
因为科技的发展和实际的需要,云计算的服务商也越来越多,比如亚马逊、谷歌、微软、阿里云、华为云、腾讯云等等
我们将云分布的位置不同又可以称为私有云(位于私有网络上)、公有云(位于共有网络上)、混合云(公有云+私有云混合使用)形态。
三、最后再来了解云原生技术?
“云原生是在云计算时代指导企业组织基于云架构设计和开发应用,并将应用向云端迁移的一套全新的技术理念”
结合我们在之前提到的使用云端对于企业组织更加友好,并随着越来越多的企业将项目上传到云端, 云的需求也随着增加,为了满足这些需求,必然需要一些新的技术 来帮助企业组织在云上面构建这些可以动态伸缩的高可用的应用,而 这些因云而产生的技术我们就把它称作云原生技术。
1、云原生的技术范畴有以下几个部分:
- 第一部分 :云应用定义与开发流程。这包括应用定义与镜像制作、配置 CI/CD、消息和 Streaming 以及数据库等;
- 第二部分 :云应用的编排与管理流程。这也是 Kubernetes 比较关注的一部分,包括了应用编排与调度、服务发现治理、远程调用、API 网关以及 Service Mesh;
- 第三部分 :监控与可观测性。这部分所强调的是云上应用如何进行监控、日志收集、Tracing 以及在云上如何实现破坏性测试,也就是混沌工程的概念;
- 第四部分 :云原生的底层技术,比如容器运行时、云原生存储技术、云原生网络技术等;
- 第五部分 :云原生工具集,在前面的这些核心技术点之上,还有很多配套的生态或者周边的工具需要使用,比如流程自动化与配置管理、容器镜像仓库、云原生安全技术以及云端密码管理等;
- 第六部分 : Serverless(这也是我们下一篇开始要进行实际举例开始讲解的内容) ,它是一种 PaaS 的特殊形态,它定义了一种更为“极端抽象”的应用编写方式,包含了 FaaS 和 BaaS 这样的概念。而无论是 FaaS 还是 BaaS,其最为典型的特点就是按实际使用计费,因此 Serverless 计费也是重要的知识和概念。
2、云原生的技术核心与落地架构:
目前 Kubernetes、Docker、微服务服务网格、不可变基础设施、声明式Api 这些都是云原生的核心技术。
结合这些技术方面先了解下目前比较 符合云原生架构的落地体系 是:
- 采用K8S+Docker进行容器化部署
- 基于微服务架构开发前后端完全分离的应用,提高灵活性和可维护性
- 借助敏捷迭代方法,支持功能持续迭代
- 完善的DevOps工具支持上线发布自动化
- 利用云平台设施实现弹性伸缩、动态调整,最优化资源利用率
这样的架构构建应用简便快捷,部署应用轻松自如,运行应用无惧流量峰谷,力压传统Web应用架构和以往的IT建设模式,也是互联网发展至今的集大成体系。