开发者社区> 华章计算机> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

DevOps:软件架构师行动指南2.1 概述

简介:
+关注继续查看

第2章 云 即 平 台

我们对云计算的重新定义包含了我们已经做的一切。

……计算机行业是唯一一个比女性时装更容易受时尚驱动的行业了。

……我们将发布云计算公告,因为如果橙色成为新宠,我们就会制作橙色的罩衫。我可不会和这个对着干。

——Larry Ellison

2.1 概述


描述云时,常用电网进行类比。当要使用电时,你将设备插到标准电路上并打开开关。你要为所使用的电付费。大多数情况下,你不用关心各个电力公司是如何发电和传输电力的。但停电时,就无法对此保持无视。此时你会意识到电力的使用之下有着复杂的机制,即便你对导致停电的具体机制仍然一无所知。

美国国家技术与标准研究所(National Institute of Standards and Technology,NIST)给出了一个关于云的描述,其使用了下面这些元素:

按需自助服务。用户可以单方面供给计算能力,如服务器时间和网络存储,而无需与服务供应商进行人工交互。

广泛的网络接入。能力通过网络提供并借助标准机制进行访问,该机制由异构的瘦或胖客户平台推广使用(例如,移动电话、平板电脑、笔记本和工作站)。

资源池化。服务供应商的计算资源被汇聚起来通过多租户模式提供给多个用户,不同的物理资源和虚拟资源按照用户的需要动态地进行分配和重新分配。还有位置独立性,因为客户通常无法控制或者也不知道所提供资源的确切位置,但能够在更高的抽象层次指定位置(如国家、省或者数据中心)。这些资源包括存储器、处理器、内存以及网络带宽。

快速弹性。能力能够弹性地提供和释放,在一些情况下是自动的,使规模快速地向外和向内扩展以适应需求。对用户而言,能够供给的能力常常似乎是无限的,并且可以在任何时间分配任意数量。

可计量的服务。云系统能够利用计量能力来自动控制和优化资源的使用,该计量能力依据服务的类型进行了某种程度的抽象。资源使用能够被监控、控制,并可以被报告,因此,为服务的供应商和用户提供了透明度。

从运维和DevOps的角度,这些特性中最为重要的是按需自助服务和可计量的服务。即使云提供了似乎能够任意取用的无限资源,但你仍旧要为使用付费。如我们将要讨论的,其他特性也很重要,但不像按需自助服务和按使用付费这样占主导地位。

美国国家技术与标准研究所的特性描述隐含了云服务的供应商和用户之间的区别。本书的视角主要是云服务的用户。如果你的组织运营了自己的数据中心,那么这种区分可能会存在一些模糊之处,但即使在这类组织中,通常也不会认为数据中心的管理在DevOps的范畴中。

如表2-1所示,美国国家技术与标准研究所还对来自于云供应商的不同类型的服务进行了归类。美国国家技术与标准研究所定义了3种类型的服务,这些服务都能够应用于DevOps。

软件即服务(Software as a Service,SaaS)。用户能够使用运行在云基础设施上的供应商应用。各种客户端设备通过像Web浏览器这样的瘦客户端接口(如,基于网页的电子邮件)或者应用接口来访问应用程序。除了有限的与用户相关的应用配置设置外,用户不用管理或控制底层的云基础设施,包括网络、服务器、操作系统、存储,甚至单独的应用程序功能。

表2-1 云服务模型

服务模型 示例

SaaS:软件即服务 电子邮件、在线游戏、客户关系管理、虚拟桌面等

PaaS:平台即服务 Web服务器、数据库、应用服务器、开发工具等

IaaS:基础设施即服务 虚拟机、存储器、负载均衡器、网络等

 

平台即服务(Platform as a Service,PaaS)。?用户能够向云基础设施中部署自建的或采购的应用程序,这些应用程序使用了供应商支持的编程语言、库、服务和工具来创建。用户不能管理或控制底层的云基础设施,包括网络、服务器、操作系统或存储器,但能够控制所部署的应用,并可能对应用托管环境进行配置设置。

基础设施即服务(Infrastructure as a Service,IaaS)。用户能够配置处理器、存储器、网络以及其他基础计算资源,这里用户能够部署和运行任意软件,可能包括操作系统和应用程序。用户不能管理和控制底层的云基础设施,但能够控制操作系统、存储器,以及部署的应用,并可能对网络模块的选择有一些控制(如主机防火墙)。

我们首先探讨了云涉及的机制,接下来我们探讨这些机制对DevOps的影响。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
云端开发在阿里的典型应用场景 | 阿里巴巴DevOps实践指南(十)
云端开发指开发者可基于云平台完成编码、测试、发布等研发流程。一个完整的云端开发平台不仅是提供了一个云端的编码环境,还提供了一整套研发工具和配套设施,让开发者做到在云端即可完成应用程序的需求、编码、测试和运维的全生命周期管理。
0 0
阿里巴巴DevOps实践指南(十一)| 代码评审
代码评审,英文名是 Code Review,简称 CR,它是结对编程相互切磋相互学习的方式。严肃地讲,CR能够提升代码质量、促进人才成长、培养技术情怀。
0 0
5种阿里常用代码检测推荐 | 阿里巴巴DevOps实践指南(十二)
随着业务演进和团队扩张,软件规模和调用链路越来越复杂。如若没有良好的代码检测机制,只依靠功能性验证,团队技术债会越累越高,开发团队往往要花费大量的时间和精力发现并修改代码缺陷,最终拖垮迭代进度、协作效率,甚至引发严重的安全问题。
0 0
阿里巴巴DevOps实践指南(十三)| 测试提效
分布式测试为测试速度插上了翅膀,精准测试有效的识别出了测试的范围,增量覆盖率又为测试的不断完备提供了有利的指引,线上覆盖率帮助我们有效的进行应用瘦身。充分利用好这些技术手段进行测试提效,可以让持续交付的过程更加的顺畅
0 0
阿里巴巴DevOps实践指南(十四)| 测试环境与路由
在阿里巴巴内部,随着业务规模和技术栈的拓展和更新,业务侧对测试环境的使用也逐步打破原固有模式,快速向多场景、多样化、多职能方向发展,如何能够跟上业务发展速度,及时满足业务侧对测试环境新场景的诉求,基于环境和路由模型的测试环境解决方案是解决问题的关键。
0 0
阿里巴巴DevOps实践指南(十五)| 应用环境能力
应用环境解决方案并不仅仅是将应用的开发环境、基础环境搭建起来即可,还涉及到环境的稳定性如何保证,基于环境如何规范变更的流程,基于环境如何提升开发效率等等。环境治理需要站在更高的角度,综合看待上述问题,否则就会陷入环境问题年年治理、年年被吐槽的怪圈。
0 0
阿里巴巴DevOps实践指南(十六)| 基于应用和变更的交付模式
阿里巴巴在交付阶段的一些实践,包括:以应用和变更为核心的交付流程;基于变更的检查项和卡点;针对应用特征选择研发模式。
0 0
阿里巴巴DevOps实践指南(十七)| 提升构建的效率
构建是将源码变成制品的过程。构建包括编译,但不等同于编译。即使对于不需要编译的解释型语言,也要构建成一个压缩包或 Docker 镜像再去部署。无论是在开发阶段还是 CICD 阶段,都离不开构建过程,构建的质量和效率对持续交付影响很大。影响构建效率的因素,包括源码以及构建的依赖。
0 0
阿里巴巴DevOps实践指南(十八)| 基于制品元数据提升交付效率
为保证软件交付的质量,我们对交付物有功能和性能上的要求。这些要求体现在交付过程中产生的数据上,包括:代码评审数据、安全扫描数据、回归测试结果等。这些数据以交付物(制品)为载体。我们把这些数据称作制品的元数据。
0 0
阿里巴巴DevOps实践指南(十九)| 监管控一体化运维
阿里巴巴应用运维监管控一体化的建设随着业务形态和技术架构还在不断地探索和发展,本文主要介绍了应用运维监管控一体化建设的背景和思路。我们以应用为中心,从应用监控管角度出发,通过全视角监控实时掌握应用的运行状态,通过高效发布部署和灵活的运维编排对应用进行安全变更,通过智能化运维和安全防护实现应用的高级防护。
0 0
文章
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
DevOps权威指南:IT效能“新基建”(试读版)
立即下载
云顶云&新概念 DevOps 实践
立即下载
DevOps知识体系与标准化的构建
立即下载