目录:
- 云服务器
- 云计算
- 云原生
参考:
云服务器
关于什么是云服务器,可以拿阿里云服务器ECS来具体说明。
概念
云服务器ECS(Elastic Compute Service)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。云服务器ECS免去了您采购IT硬件的前期准备,让您像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。
概念 | 说明 |
---|---|
ECS实例 | 等同于一台虚拟服务器,内含CPU、内存、操作系统、网络配置、磁盘等基础的组件。 |
ECS实例规格 | 定义了ECS实例在计算性能、存储性能、网络性能等方面的基本属性,但需要同时配合镜像、块存储、网络等配置才能确定一台ECS实例的具体服务形态。 |
镜像 | 提供了运行实例所需的信息,包括操作系统、初始化应用数据等。 |
公共镜像 | 阿里云官方提供的基础镜像,均已获得正版授权,涵盖Windows Server系统镜像和主流的Linux系统镜像。 |
Alibaba Cloud Linux 3Alibaba Cloud Linux 2 | 阿里云官方操作系统,为云上应用程序提供安全、稳定、高性能的定制化运行环境,并进行了针对性深度优化,更加适合阿里云基础设施。 |
自定义镜像 | 您自行创建或导入的镜像,包含了初始系统环境、应用环境、软件配置等信息,可以节省重复配置的时间。 |
块存储 | 高性能、低时延的块设备,像物理硬盘一样分区格式化并创建文件系统后使用,满足大部分通用业务场景下的数据存储需求。 |
云盘 | 数据块级别的块存储产品,采用分布式三副本机制,为ECS实例提供99.9999999%的数据可靠性保证。 |
本地盘 | ECS实例所在物理机上的本地硬盘设备,存储I/O性能、海量存储的性价比极高,但数据可靠性取决于物理机的可靠性,存在单点故障风险。 |
快照 | 某一时间点云盘数据状态的备份文件,用于备份或者恢复整个云盘。 |
安全组 | 一种虚拟防火墙,您可以基于安全组控制实例的入流量和出流量。 |
SSH密钥对 | 一种安全便捷的登录认证方式,由公钥和私钥组成,仅支持Linux实例。 |
实例RAM角色 | ECS实例通过实例RAM角色获得该角色拥有的权限,可以基于临时安全令牌STS(Security Token Service)访问指定云服务的API和操作指定的云资源,安全性更高。 |
专有网络 | 您基于阿里云创建的自定义私有网络,不同专有网络之间通过隧道在逻辑上彻底隔离。您可以完全掌控自己的专有网络,例如选择IP地址范围、配置路由表和网关等。 |
弹性网卡 | 一种独立的虚拟网卡,可以绑定到ECS实例或从ECS实例解绑,实现业务的灵活扩展和迁移。 |
实例启动模板 | 包含了ECS实例的配置信息,使用实例启动模板创建ECS实例可以免去重复配置的操作。 |
部署集 | 部署集支持高可用策略,部署集内实例会严格分散在不同的物理服务器上,保证业务的高可用性和底层容灾能力。 |
专有宿主机 | 一台由单租户独享物理资源的云主机,具有满足严格的安全合规要求、允许自带许可证(BYOL)上云等优势。 |
弹性供应组 | 用于快速部署多可用区、多实例规格的ECS实例集群,通过多种供应策略组合使用抢占式实例和按量付费实例,满足对低成本和高稳定性的要求。 |
标签 | 由一对键值(Key-Value)组成。使用标签标识具有相同特征的资源后,例如所属组织或用途相同的资源,您可以基于标签方便地检索和管理资源。 |
资源组 | 供您从业务角度管理跨地域、跨产品的资源,并支持针对资源组的权限管理。 |
云助手 | 阿里云提供的自动化运维工具,无需登录即可完成在ECS实例上执行命令、向ECS实例发送文件等操作。 |
系统事件 | 影响ECS实例运行状态的计划底层运维事件或非预期维修事件,需要进行重启、停止或释放ECS实例等操作。系统事件会及时发送通知、应对措施和事件周期等信息,方便您提前完成备份数据等准备工作。 |
架构
云服务器ECS主要包含以下功能组件:
- 实例:等同于一台虚拟服务器,内含CPU、内存、操作系统、网络配置、磁盘等基础的组件。实例的计算性能、内存性能和适用业务场景由实例规格决定,其具体性能指标包括实例vCPU核数、内存大小、网络性能等。
- 镜像:提供实例的操作系统、初始化应用数据及预装的软件。操作系统支持多种Linux发行版和多种Windows Server版本。
- 块存储:块设备类型产品,具备高性能和低时延的特性。提供基于分布式存储架构的云盘以及基于物理机本地存储的本地盘。
- 快照:某一时间点一块云盘的数据状态文件。常用于数据备份、数据恢复和制作自定义镜像等。
- 安全组:由同一地域内具有相同保护需求并相互信任的实例组成,是一种虚拟防火墙,用于设置实例的网络访问控制。
- 网络
- 专有网络(Virtual Private Cloud):逻辑上彻底隔离的云上私有网络。您可以自行分配私网IP地址范围、配置路由表和网关等。
- 经典网络:所有经典网络类型实例都建立在一个共用的基础网络上。由阿里云统一规划和管理网络配置
服务器部署
每个地域完全独立。每个可用区完全隔离,但同一个地域内的可用区之间使用低时延链路相连。
地域和可用区之间的关系如下图所示。
我的理解
这两天第一次接触云服务器,目前的理解有点像第三方(阿里等机构)提供和托管等虚拟机,购买时选择机器的一些参数。剩下的和在本地用WM等工具部署虚拟机比较类似。
云计算
概念
云计算:美国国家标准与技术研究院(NIST)的定义:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(包括网络、服务器、存储、应用软件以及服务),这些资源能够被快速提供。
从根本上来说,云计算是一种服务,是一种商业模式,而云计算技术只是实现云计算的手段。多年前,有一家软件公司试图采用这种模式,用户并非购买软件,而是以租用方式拥有对软件的使用权;如果在租用期间软件升级,用户使用新软件而不必增加费用;而等租期一到,用户也就不能再继续使用,这家公司叫SAS。
云计算的云端系统, 其实质上就是一个大型的分布式系统。
分层与模式
云计算的三个分层:基础设施(infrastructure)、平台(platform)和软件(software)
基础设施在最下端,平台在中间,软件在顶端,分别是分别是Infrastructure-as-a-Service(IaaS),Platform-as-a-Service(PaaS),Software-as-a-Service(SaaS),别的一些“软”的层可以在这些层上面添加。
简单点理解,比如几年前如果你想在办公室或者公司的网站上运行一些企业应用,你需要去买服务器,或者别的高昂的硬件来控制本地应用,让你的业务运行起来,这就叫本地部署。云服务供应商出现能够实现云服务。
IaaS: Infrastructure-as-a-Service(基础设施即服务):有了IaaS,你可以将硬件外包到别的地方去。IaaS公司会提供场外服务器,存储和网络硬件,你可以租用。节省了维护成本和办公场地,公司可以在任何时候利用这些硬件来运行其应用。一些大的IaaS公司包括Amazon, Microsoft, VMWare, Rackspace和Red Hat.不过这些公司又都有自己的专长,比如Amazon和微软给你提供的不只是IaaS,他们还会将其计算能力出租给你来host你的网站。
PaaS: Platform-as-a-Service(平台即服务):第二层就是所谓的PaaS,某些时候也叫做中间件。所有的开发都可以在这一层进行,节省了时间和资源。
SaaS: Software-as-a-Service(软件即服务):第三层也就是所谓SaaS。这一层是和你的生活每天接触的一层,大多是通过网页浏览器来接入。任何一个远程服务器上的应用都可以通过网络来运行,就是SaaS了。你消费的服务完全是从网页如Netflix,MOG,Google Apps,Box.net,Dropbox或者苹果的iCloud那里进入这些分类。尽管这些网页服务是用作商务和娱乐或者两者都有,但这也算是云技术的一部分。一些用作商务的SaaS应用包括Citrix的Go To Meeting,Cisco的WebEx,Salesforce的CRM,ADP,Workday和SuccessFactors。
技术思维导图
云原生
概念
云原生从字面意思上来看可以分成云和原生两个部分。
云是和本地相对的,传统的应用必须跑在本地服务器上,现在流行的应用都跑在云端,云包含了IaaS,、PaaS和SaaS。
原生就是土生土长的意思,我们在开始设计应用的时候就考虑到应用将来是运行云环境里面的,要充分利用云资源的优点,比如️云服务的弹性和分布式优势。
特征
目前CNCF给出了云原生应用的三大特征:
- 容器化封装:以容器为基础,提高整体开发水平,形成代码和组件重用,简化云原生应用程序的维护。在容器中运行应用程序和进程,并作为应用程序部署的独立单元,实现高水平资源隔离
- 动态管理:通过集中式的编排调度系统来动态的管理和调度。
- 面向微服务:明确服务间的依赖,互相解耦。
核心技术
微服务
微服务解决的是我们软件开发中一直追求的低耦合+高内聚,记得有一次我们系统的接口出了问题,结果影响了用户的前台操作,于是黎叔拍案而起,灵魂发问:“为啥这两个会互相影响?!”微服务可以解决这个问题,微服务的本质是把一块大饼分成若干块低耦合的小饼,比如一块小饼专门负责接收外部的数据,一块小饼专门负责响应前台的操作,小饼可以进一步拆分,比如负责接收外部数据的小饼可以继续分成多块负责接收不同类型数据的小饼,这样每个小饼出问题了,其它小饼还能正常对外提供服务。
DevOps
DevOps的意思就是开发和运维不再是分开的两个团队,而是你中有我,我中有你的一个团队。我们现在开发和运维已经是一个团队了,但是运维方面的知识和经验还需要持续提高。持续交付
持续交付的意思就是在不影响用户使用服务的前提下频繁把新功能发布给用户使用,要做到这点非常非常难。我们现在两周一个版本,每次上线之后都会给不同的用户造成不同程度的影响。容器化
容器化的好处在于运维的时候不需要再关心每个服务所使用的技术栈了,每个服务都被无差别地封装在容器里,可以被无差别地管理和维护,现在比较流行的工具是docker和k8s。
所以可以简单地把云原生理解为:云原生 = 微服务 + DevOps + 持续交付 + 容器化