管理自动化-企业上云必由之路

为何要自动化

         在服务阿里云客户的过程中,我们发现一个有趣的现象,欧美客户相比于国内客户,明显对自动化工具的依赖度要更高。在使用阿里云时,国内客户希望我们更多地提供可操作的UI界面,而国外客户则要求我们支持更多的管理工具以增强其自身体系与阿里云集成的需求,这种需求的背后往往都是大规模自动化管理IT系统的需要。

         对于这种差异的原因,许多观点认为是由于国外技术导向、人力成本高、管理上对合规要求高等特点导致对IT系统自动化国外公司的需求会更强烈。而国内公司由于发展阶段不同,更加业务导向,人力资源也相对充足,往往会用人海战术来解决IT基础设施不够发达的问题。

         然而,随着云计算的不断成熟,上云已是大势所趋的情况下,再遵循旧的思路将会对企业经营产生重大影响。自动化管理云上资源,不仅仅是降低财务成本,更重要的是能够降低技术门槛,同时提高效率,节省时间,更符合数字化大生产的趋势。全面实现IT管理自动化,将是企业的核心竞争力之一,帮助企业更加快速、稳妥地达成业务目标。

企业客户的自动化需求

         让我们从一个客户案例来一窥企业在上云时的需求:

管理自动化-企业上云必由之路         在上图的情境中,客户对于云平台的需求显然并不仅仅是开发运维领域的编程自动化,实际上首先要考虑的反而是如何管理预算和人员。ToB业务与ToC业务的一个重要区别就是决策链不一样,最终决定方案的人不一定是CTO,反而可能是CFO或CEO,毕竟对于企业来说要追求业务、组织、财务、法律、技术方面的平衡性、可持续性,能满足业务需要的架构才是好架构。

         通过沟通分析,该客户上云主要的需求为:

  1. 组织管理功能:企业需要各种资源的协同一致,才能达成业务目标。具体到云计算的使用,需要先明确“有哪些人、以什么权限、在什么条件下、可以使用哪些资源”,才能做好资源的规划。许多企业都有自己的层级结构,有自己的账号系统和权限系统,这些系统需要与云上系统打通,确保角色和权限可以得到合理的分配。打通这些能力,需要通过OpenAPI的方式提供身份管理、SSO登录、权限管理及相应的资源组织管理功能。这些功能在阿里云上可以使用企业IT治理产品线下的访问控制RAM(包含身份管理、权限管理等组件),资源管理(包含资源目录、资源组、资源共享、Tag等组件)等产品实现。
  2. 基础设施自动化编排:迄今为止,阿里云已经提供了200多个云服务,1万多个OpenAPI,如此之多的功能已非仅靠手工编程逐个处理可以完成。2020年疫情影响下,许多企业都有快速扩容服务器的需求,类似Terraform/ROS这样的资源编排工具大放异彩。云厂商是否支持好这类编排工具,对于客户上云体验会有很大影响。
  3. 应用程序自动化编排:企业如果要运行web服务,需要编排好的基础资源上部署一个web应用并配置好端口、负载均衡等配置,这时候就是ansible、puppet、chef等开源运维工具的用武之地,阿里云目前重点支持ansible,同时也提供OOS运维编排服务,前不久还推出了OAM规范,进一步简化了应用部署的过程。
  4. 安全需求:安全性再怎么强调都不为过,新闻中每隔一段时间都会爆出黑客新闻、数据泄露新闻。即使数据不泄露,各种层出不穷的安全漏洞也需要客户的服务及时得到安全升级和防护,确保商业安全。如果没有自动化手段,仅靠人工修复往往是来不及的。上图中的客户就需要能够自动化地感知和修复漏洞,并为此做了与阿里云安全中心的集成。阿里云的OpenAPI体系在RAM及其他安全产品的加持下,具备高度的安全性,能够防止各类安全问题。
  5. 合规需求:面对越来越复杂的商业形式,做好合规工作是大型企业的必备需求。合规一方面是对外合规,比如审计数据、财务数据合规,另一方面是内部数据的合规,例如对内部管理规范的约束。阿里云提供操作审计(ActionTrial)和配置审计(Config)两款产品给客户,同时还提供针对行业云的合规能力,后文会介绍。在自动化方面这些产品,都可以通过OpenAPI或OSS等通道来对接客户系统。
  6. 监控需求:监控本身是技术层面必须关注的事情,不过在资源托管到云上的情况下,需要将监控体系与企业本身的运作打通,这一方面是数据打通,数据可视化,另一方面是角色分工的问题。云监控是阿里云上实施自动化监控的利器,除了可视化的界面外,也可以通过OpenAPI对接客户系统。
  7. 费用需求:除了前面说到的财务合规方面的问题(例如分账),同时也涉及到成本优化,例如能否能够与监控打通,看到资源利用率数据,进而自动化地产生资源分析报告,提升资源使用效率。这方面阿里云提供了Tag/资源组等资源打标方式,通过这些标签或分组可以给客户提供细粒度的分账方式。
  8. 态势感知:在本客户的需求,能否根据目前资源使用情况,及历史记录,或者根据事先规划,提前做好资源储备,在必要的时候快速提升或减少资源的使用量,合理调度资源。这一方面要求云计算具备快速扩缩容的能力,另一方面也需要能够具备资源用量、计划的感知能力。这里面涉及到的配额管理能力后文会有介绍。

除了上述基本需求,在上图中客户还自行研发了内部管理门户,将这些能力集中管理起来,其实与市场上云管厂商做的事情比较类似。

总结一下,企业上云自动化能力应重点关注下图所示相关能力:

管理自动化-企业上云必由之路

         针对上述企业场景,阿里云都提供了完备的解决方案,这里限于篇幅原因不一一介绍。不过向大家隆重介绍一下阿里云开放平台团队推出的集上述能力之大成的样板间项目:https://open.aliyun.com/landing-zone。样板间不仅仅从概念上定义了企业IT上云的最佳实践,同时还提供了自动化Terraform代码实现,读者可以自行去github上下载最新的代码 https://github.com/aliyun/alibabacloud-landing-zone 学习交流。关于样板间的详细文章,请参考公众号文章 xxxxxxxxxxx 。

OpenAPI自动化能力升级

除了上面已具备的基础能力,今年阿里云还做了哪些能力提升呢?先再次拿客户案例来看一下:

管理自动化-企业上云必由之路

         如上图所示,过去阿里云在自动化的基础能力方面存在几个长期存在的问题:

  • Terraform等编排产品覆盖度不足,导致部分产品无法快速编排。
  • OpenAPI层面的许多调用策略不清晰,影响客户端效率优化,例如超时时间不明确会导致客户端设置的时间要么过长要么过短,影响业务流程;流控阈值不透明,调用方出现问题不知原因。
  • 对于重要的资源,客户侧比较难以获知自身拥有的配额限制;对于暂时无法创建的资源,客户只能通过工单来提需求,响应速度有限。
  • 由于历史原因,许多阿里云的产品需要手工开通,成了自动化路上的绊脚石。
  • 过去阿里云产品之间互通访问,需要客户手工在控制台上进行授权,直接阻碍了自动化的链路顺畅性,增加了人工成本。

为了解决上述问题,过去一段时间,阿里云在这些影响用户体验的卡点上都发力解决,取得了一些成果。

Terraform产品支持

随着越来越多的客户加入阿里云,Terraform的需求越来越强烈。过去terraform和ros这类产品的覆盖面不够的情况下客户不得不部分使用terraform部分使用其他产品或自建。terraform这类工具的优势并不仅仅在于能够用简化的HCL语言调用OpenAPI来管理资源,它最强大的特性在于能够将资源关系也作为对象管理起来,并通过内置的机制自动化地管理资源所造成的级联影响。通过随着版本的升级,terraform module也成为具备较高复用性的重要特性,方便客户进行模块化管理。

WeWork一家专注于联合办公社群的公司,2015 年,它被《Fast Company》评为 2015 年度最创新的公司之一。WeWork China选择了阿里云作为合作伙伴,在基础资源、全球网络、安全、IOT、大数据等方面都开展了深度合作。在今年的云栖大会《构建高效、可控的企业IT治理》专场,wework的运维负责人余亮也分享了terraform在该公司的应用情况。据介绍WeWork基础架构团队基于Terraform用不到2人在短短数月打造了一套可管控的自服务门户。实现对基础架构部署工作进行场景化封装,实现秒级的全自动部署,以3人团队支撑了40+业务系统的基础架构运维工作,同时还了规范基础架构部署的流程,避免人为误操作,确保安全与合规。

管理自动化-企业上云必由之路

如上图所示,Wework 将所有的对基础设施的定义以模板的方式都保存在Github上,当需要创建新的基础设施或者对存量基础设施进行变更时,只需要以Github原生的方式提交一个Pull Request,然后借助自动化工具 atlantis 即可完成对所提交模板的Review、Merge和自动触发Terraform的执行,并将执行后的结果状态持久化在阿里云 OSS 服务上,从而完成对基础设施的持续管理。另外,wework还在尝试将体系与Jenkins、工作流融合,打造自助式服务平台。

目前阿里云Terraform所支持的产品数从40款上升到53款,资源数增加到249种资源,已经能够满足绝大多数场景的需求。同时面对客户体验方面的需求,下半年阿里云也将推出一些工具,如提供云端Terraform的工作流,免去客户自己搭建和管理Terraform工作流的额外负担;提供可视化编写Terraform模板的能力,降低客户使用成本的同时提升使用体验;提供模板的自动化校验能力,将不规范的模板遏制在Plan阶段,从而提升生产环境的稳定性和可用性。

配额管理

配额管理是自动化过程中的又一大问题,云计算本质是资源共享复用,最大的特点是弹性,在大促等资源使用高峰期想弹资源却弹不出来无疑会大大影响业务发展,这背后其实是整个云上资源的供应链流程、库存管理、配额分配、多租户管理问题,难度很大。而用户常见的诉求是想知道自己有多少配额,用了多少,如何提升配额,如何更细粒度地在组织中管理配额。

针对用户无法快速获取和调整配额问题,阿里云推出了配额中心,访问地址:https://quotas.console.aliyun.com。配额中心主要流程示意图如下:

管理自动化-企业上云必由之路

配额中心主要解决三方面问题:

  • 用户查询产品配额的需求:用户登录上述链接后,能够快速查看多达15款云产品的配额设置,当前配额使用量等信息。特别是ECS,还提供了非常细致的按照规格类型维度设计的细粒度的配额数据。
  • 用户自助申请调整配额需求:过去配额只能静态展示,当配额不足的时候,客户就只能提工单反馈,处理很慢。现在客户可以直接在配额中心提交配额调整申请,相关申请会即刻通知相应云产品的管理员,根据客户的实际情况会快速决定是否审批通过,处理效率大大提高。
  • 提供获取配额的OpenAPI和告警:客户侧的应用程序可能需要实时获取配额信息,以决定下一步操作流程。同时在配额不足的时候,希望能够收到相应的告警,以及时调整运行策略。

除了关于资源本身的配额信息,下半年我们还将针对流控阈值、OpenAPI超时时间等信息提供更加透明化的信息,也可以通过配额中心来查询。配额中心上线以来,已经有数百位企业客户成功通过配额平台完成配额提升申请,今后会有更多的云产品接入配额中心。未来,我们还将提供智能化服务,根据客户的不同使用状况进行智能化调整,不断提升服务水平。

云产品开通自动化

阿里云存在许多需要手工控制台开通的云产品,原因则多种多样,主要原因是不希望用

户产生未知的费用开销及消费协议,故需要用户确认开通。但这种限制确实在某些情况下导致客户的自动化路径受阻。针对这个自动化路上的卡点,阿里云专门推动相关产品做了升级改造,过去需要手工开通的产品中有13款产品已完全实现免开通,9款产品提供自动化开通OpenAPI,包括(批量计算、混合云备份服务、日志服务、表格存储、自然语言处理、API网关、文件存储、EMAS、对象存储),另外还有若干需要手动开通的产品,我们将在下半年继续推进,最终做到开通环节100%自动化。

管理自动化-企业上云必由之路

对于已经实现了自动化开通的产品,阿里云的Terraform Provider也会第一时间来支持,只需要在模板中增加一个对应云产品开通的 DataSource,并设置开通的动作 enable = "On" ,然后执行简单的 terraform plan 或者 terraform apply 命令即可完成自动化开通。

例如,日志服务Terraform自动化开通代码:

data "alicloud_log_service" "open" {    enable = "On"}

这样就客户再也不用手工点控制台开通的问题了,类似的方法在ROS等产品中也将得到应用。

跨服务访问SLR

         云产品都是独立存在的,实际业务中经常遇到云服务A需要访问另外云服务B中资源的情况。例如ECS导出镜像到OSS,需要从ECS后端直接调用客户的OSS上传文件接口,这些资源属于客户,但却不是同一个云服务管理的。这个过程本质上是要获取用户身份和权限,过去要想实现这种操作,需要创建服务角色,用户需要在快捷授权页(控制台)上通过RAM授权完成。由于需要在控制台手工操作,一方面无法通过自动化工具来编排,另一方面当用户误操作例如删除了角色,会导致出现线上故障,非常不友好。

而SLR(Service Linked Role)与手工创建服务角色相比就先进多了,它几乎不需要用户干预,只要拥有某个产品管理权限的子用户,可触发相应产品的SLR创建,同时修改和删除也都受到严格的控制,避免误操作。

一个使用SLR机制的访问流程如下:

管理自动化-企业上云必由之路

         从上图可以看到,SLR同样使用了STS和RAM机制,核心的区别是用户再也不需要到控制台点击了,如果没有对应的角色系统会自动创建相应角色。客户几乎无感知,只需要规划自己需要有什么权限,需要授权云产品访问哪些资源即可。

         目前已经有多达36款产品支持SLR,下半年还会有更多产品支持,届时跨服务自动化访问在阿里云上将不再是问题。

OpenAPI访问合规

         针对合规领域,常见的场景一般是需要操作审计和资源审计,主要目的是为了确保所有操作变更都可以被记录、被审计。不过审计并不是全部,行业监管规则也是一个重要的参考因素。例如在金融云行业,跨网络的调用必须在可控、安全的情况下才能发生,这就要求云上网络调用要符合监管要求。

         针对这样的客户需求,阿里云升级了OpenAPI访问合规能力,如下图所示:

管理自动化-企业上云必由之路

         过去客户访问OpenAPI无论如何都会按照图中上面那条流向经过公网。而如果客户需要在VPC网络访问阿里云OpenAPI,现在可以当在公有云环境中调用OpenAPI的时候将目标endpoint改为xxx-vpc.[RegionId].aliyuncs.com的形式,则发往这个目标域名的所有流量都将在阿里云内部通信,不再流向公网,大大增强了特定行业的安全性。

总结

         以上介绍了云上企业自动化的重点因素及阿里云自动化能力的提升点,希望能对您有所帮助。自动化能力是企业规模化上云的重要课题,即使是中小公司也能够从自动化中受益。一方面企业要根据自身情况选择合适的集成工具,另一方面在上云前好做好人财物权法相关的规划设计,基于阿里云开放的OpenAPI能力、相关产品和各种工具,参考样板间的模板化实现,能够使得云上企业级IT治理更加便捷高效。阿里云也将持续改进自身服务,切实帮助客户提效降本。

上一篇:Visual paradigm中的需求管理功能


下一篇:云原生时代下,容器安全的“四个挑战”和“两个关键”