作者 | 虚明
导读:自动化管理云上资源,不仅仅是降低财务成本,更重要的是能够降低技术门槛,同时提高效率,节省时间。
为何要自动化?
在服务客户的过程中,我们发现国外客户相比于国内客户,明显对自动化工具的依赖度要更高。许多观点认为这是由于国外技术导向、人力成本高、管理上对合规要求高等特点导致对 IT 系统自动化国外公司的需求会更强烈。而国内公司由于发展阶段不同,更加业务导向,人力资源也相对充足,往往会用人海战术来解决 IT 基础设施不够发达的问题。
然而,随着云计算的不断成熟,上云已是大势所趋,再遵循旧的思路将会对企业经营产生重大影响。自动化管理云上资源,不仅仅是降低财务成本,更重要的是能够降低技术门槛,同时提高效率,提升企业竞争力。
企业客户的自动化需求
客户云上自动化需要关注哪些维度呢?下面我们从一个客户案例来一窥企业在上云时的需求:
在上图的情境中,客户对于云平台的需求显然并不仅仅是开发运维领域的编程自动化,实际上首先要考虑的反而是如何管理预算和人员。
通过沟通分析,该客户上云主要的需求为:
- 组织管理功能
许多企业都有自己的账号系统和权限系统,这些系统需要与云上系统打通。在阿里云上可以使用企业 IT 治理产品线下的访问控制 RAM(包含身份管理、权限管理等组件),资源管理(包含资源目录、资源组、资源共享、Tag 等组件)等产品实现。
- 基础设施自动化编排
阿里云已经提供了 200 多个云服务,1 万多个 OpenAPI,类似 Terraform/ROS 这样的资源编排工具能够帮助客户通过 IaC 的理念高效管理云资源,降低复杂度。
- 应用程序自动化编排
应用的部署是 ansible、puppet、chef 等开源运维工具的用武之地,阿里云目前重点支持 ansible,同时也提供 OOS 运维编排服务,前不久还推出了 OAM 规范,进一步简化了应用部署的过程。
- 安全需求
如果没有自动化手段,仅靠人工修复安全漏洞往往是来不及的。阿里云的 OpenAPI 体系在 RAM 及其他安全产品的加持下,具备高度的安全性,能够防止各类安全问题。
- 合规需求
合规一方面是对外合规,比如审计数据、财务数据合规,另一方面是内部数据的合规。阿里云提供操作审计(ActionTrial)和配置审计(Config)两款产品给客户,同时还提供针对行业云的合规能力,后文会介绍。
- 监控需求
监控在资源托管到云上的情况下,需要将监控体系与企业本身的运作打通,包括数据打通,数据可视化等。云监控是阿里云上实施自动化监控的利器,除了可视化的界面外,也可以通过 OpenAPI 对接客户系统。
- 费用需求
除了前面说到的财务合规方面的问题(例如分账),同时也涉及到成本优化。这方面阿里云提供了 Tag/资源组等资源打标方式,通过这些标签或分组可以给客户提供细粒度的分账方式。
- 态势感知
客户有需求根据目前资源使用情况,及历史记录,或者根据事先规划,提前做好资源储备,快速调配资源。这一方面要求云计算具备快速扩缩容的能力,另一方面也需要能够具备资源用量、计划的感知能力。
针对上述企业场景,向大家隆重介绍一下阿里云开放平台团队推出的集上述能力之大成的样板间项目(复制链接至浏览器打开 https://open.aliyun.com/landing-zone)。样板间不仅仅从概念上定义了企业 IT 上云的最佳实践,同时还提供了自动化 Terraform 代码实现,读者可以点击链接:https://github.com/aliyun/alibabacloud-landing-zone 下载最新的代码学习交流。
OpenAPI 自动化能力升级
除了功能,过去客户自动化会碰到什么样的技术问题呢?再次拿客户案例来看一下:
如上图所示,过去阿里云在自动化的基础能力方面存在几个长期存在的问题:
- Terraform 等编排产品覆盖度不足,导致部分产品无法快速编排;
- OpenAPI 层面的许多调用策略不清晰,影响客户端效率优化,例如流控阈值不透明,调用方出现问题不知原因;
- 对于重要的资源,客户侧比较难以获知自身拥有的配额限制,客户只能通过工单来提需求,响应速度有限;
- 由于历史原因,许多阿里云的产品需要手工开通,成了自动化路上的绊脚石;
- 阿里云产品间互通访问需要客户手工在控制台进行授权,直接阻碍了自动化链路。
为了解决上述问题,过去一段时间,阿里云在这些影响用户体验的卡点上都发力解决,取得了一些成果。
Terraform 产品支持
WeWork 是一家专注于联合办公社群的公司,它选择了阿里云作为合作伙伴,在基础资源、全球网络、安全、IOT、大数据等方面都开展了深度合作。运维负责人余亮介绍说,WeWork 基础架构团队基于 Terraform 用不到 2 人在短短数月打造了一套可管控的自服务门户,实现秒级的全自动部署,以 3 人团队支撑了 40+ 业务系统的基础架构运维工作,确保安全与合规。
目前阿里云 Terraform 所支持的产品数从 40 款上升到 53 款,资源数增加到 249 种资源,已经能够满足绝大多数场景的需求。下半年阿里云也将推出一些工具,如提供云端 Terraform 的工作流,免去客户自己搭建和管理 Terraform 工作流的额外负担;提供可视化编写 Terraform 模板的能力,降低客户使用成本的同时提升使用体验。
配额管理
配额管理是自动化过程中的又一大问题。用户常见的诉求是想知道自己有多少配额,用了多少,如何提升配额,如何更细粒度地在组织中管理配额。
针对用户无法快速获取和调整配额问题,阿里云推出了配额中心(复制链接至浏览器打开 https://quotas.console.aliyun.com)。配额中心主要流程示意图如下:
配额中心主要解决三方面问题:
- 用户查询产品配额的需求
用户登录上述链接后,能够快速查看多达 15 款云产品的配额设置,当前配额使用量等信息。
- 用户自助申请调整配额需求
客户可以直接在配额中心提交配额调整申请,相关申请会即刻通知相应云产品的管理员,根据客户的实际情况会快速决定是否审批通过,处理效率大大提高。
- 提供获取配额的 OpenAPI 和告警
客户侧的应用程序可能需要实时获取配额信息,以决定下一步操作流程。同时在配额不足的时候,希望能够收到相应的告警,以及时调整运行策略。
配额中心上线以来,已经有数百位企业客户成功通过配额平台完成配额提升申请,今后会有更多的云产品接入配额中心。
云产品开通自动化
阿里云存在许多需要手工控制台开通的云产品,这种限制确实在某些情况下导致客户的自动化路径受阻。
针对这个自动化路上的卡点,阿里云推动相关产品做了升级改造,过去需要手工开通的产品中有 13 款产品已完全实现免开通,9 款产品提供自动化开通 OpenAPI,另外还有若干需要手动开通的产品将在下半年继续推进,最终做到开通环节 100% 自动化。
阿里云的 Terraform Provider 也会第一时间来支持,只需要在模板中增加一个对应云产品开通的 DataSource,并设置开通的动作 enable = "On",然后执行简单的 Terraform Apply 命令即可完成自动化开通。例如,日志服务 Terraform 自动化开通代码如下:
data "alicloud_log_service" "open" {
enable = "On"
}
跨服务访问 SLR
实际业务中经常遇到云服务 A 需要访问另外云服务 B 中资源的情况。例如 ECS 导出镜像到 OSS,需要从 ECS 后端直接调用客户的 OSS 上传文件接口,这些资源属于客户,但却不是同一个云服务管理的。这个过程本质上是要获取用户身份和权限,过去要想实现这种操作,需要创建服务角色,用户需要在快捷授权页(控制台)上通过 RAM 授权完成,而不能自动化。
而 SLR(Service Linked Role)机制的访问流程如下:
从上图可以看到,SLR 机制不需要用户干预,只要拥有某个产品管理权限的子用户,就可触发相应产品的 SLR 创建,同时修改和删除也都受到严格的控制,避免误操作。
目前已经有多达 36 款产品支持 SLR,下半年还会有更多产品支持,届时跨服务自动化访问在阿里云上将不再是问题。
OpenAPI 访问合规
针对合规领域,常见的场景一般是需要操作审计和资源审计,不过行业监管规则也是一个重要的参考因素。例如在金融云行业,跨网络的调用必须在可控、安全的情况下才能发生,这就要求云上网络调用要符合监管要求。
针对这样的客户需求,阿里云升级了 OpenAPI 访问合规能力,如下图所示:
过去客户访问 OpenAPI 无论如何都会按照图中上面那条流向经过公网。而如果客户需要在 VPC 网络访问阿里云 OpenAPI,现在可以当在公有云环境中调用 OpenAPI 的时候将目标 endpoint 改为 xxx-vpc.[RegionId].aliyuncs.com 的形式,则发往这个目标域名的所有流量都将在阿里云内部通信,不再流向公网,大大增强了特定行业的安全性。
总结
自动化能力是企业规模化上云的重要课题,即使是中小公司也能够从自动化中受益。一方面企业要根据自身情况选择合适的集成工具,另一方面在上云前好做好人财物权法相关的规划设计。阿里云将不断提升云上企业自动化能力,帮助客户取得商业成功。
“ 阿里巴巴云原生关注微服务、Serverless、容器、Service Mesh 等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的公众号。”