写点什么

大规模公有云的自动化工具

  • 2014-07-11
  • 本文字数:3620 字

    阅读完需:约 12 分钟

云计算已经不仅仅是虚拟基础设施的快速自助式服务。开发者和管理员正在寻求规模化云计算的供应和管理方法。这篇 InfoQ__ 文章是关于动态计算资源池维护的自动化工具和理念系列的其中一篇。可以通过这里订阅这一系列文章的新文章发布通知。

早期云计算的典型部署是,一两个员工使用几台服务器针对某个特定需求搭建一个小规模私有云。然而,随着整个企业中越来越多的员工使用各种云服务模型(IaaS,PaaS,SaaS)中的大量功能,我们已经看到越来越多的公有云采用案例。

随着更多的组织扩展对公有云服务的使用,它们小到初创企业,大到全球最大的企业和政府。同时,大规模云计算的各种问题也开始不断出现。

大规模公有云的潜在问题

毋庸置疑,各类企业通过采用公有云都获益匪浅,不过大规模的采用公有云也伴随着很多挑战和风险。最主要的有如下几方面:

成本

最初使用公有云时,仅允许有限的少数几个人访问,这时跟踪成本相对简单。然而,随着更多(通常是相互独立的)部门中越来越多的人获得访问权限,你可能会遇到功能重复,过度供应、未经授权的采购、未使用的“僵尸”实例、多余的带宽和存储费用、以及其他一些不必要的影响因素,不断蚕食着预期的成本节省

未经授权的访问

对小规模的公有云服务访问的管理相对简单,但是随着公有云的采用规模逐渐增加,管理将很快失控。公司的前雇员在离职后可能仍然留有访问权限,员工的角色变化后,并没有相应的更新访问权限,新员工难以访问到其所需要的资源等。由于多数云服务提供者无法提供企业级的安全保障,随着逐步扩大公有云的采用规模,你将很快成为未经授权的访问的牺牲品。

恶意入侵

比员工的访问权限控制问题更严重的是,外部对云服务的恶意入侵。密码丢失,共享的用户ID,数据泄漏,简单密码,社会工程学,网络钓鱼和恶意软件都有可能使公有云服务暴露在数据丢失,篡改,攻击,拒绝服务和其他恶意入侵的影响之下。

人为失误

公有云服务规模较小时通过人工就可以容易地管理,但随着规模的不断扩大,不可能持续地增加人力资源以维持其可管理性。这就意味着更少的人有更多的工作要做,均衡法则告诉我们最终肯定会有人犯错误。进而可能会导致大规模的故障,尽管这并不是云服务独有的问题

可见性

当只有少数几个服务时,管理可以很细致,只要一两个人就可以了解这些服务的部署位置,配置方式,成本花费,使用情况,所属关系,问题原因,解决方案,服务关闭时间,恢复办法等。然而,在规模较大的系统中,随着公有云部署规模的不断扩大和更多用例的访问放开,云的使用情况将变得越来越不清楚。

分类诊断

可见性差导致的其中一个后果就是问题的分类诊断也变得更加困难。例如,如果不知道系统运行在哪里或者它如何与其他的服务连接,基本上就无法确定事务流变慢的原因。系统思维方面的专家 W. Edwards Deming 曾经说过,“不可衡量者不可管理,”也许更恰当的说法是,不可见者不可管理。

可审核性

可见性差的另外一个副作用就是,随着越来越多的系统和服务被抽象到云服务中,追踪谁在访问什么,何时,如何以及为什么访问就变得越来越困难,与可审核性有关的关键问题也就随之而来。如果没有自动化的工具,在大规模云环境下,跟踪,记录和审查访问、变更,、故障、曝光率、利用率等信息将会变得非常困难。

可恢复性

尽管严重的停机故障并非云所独有,但是几乎每周我们都会听到新的令人关注的公有云故障的报道。然而多数云服务提供者,特别是商品化服务,并未内置恢复功能;即便是更加健壮的服务,也可能无法提供及时的恢复服务或优先考虑你的业务需求。如果没有系统可用于备份、故障转移和恢复,停机故障将会导致灾难性的后果。

用自动化解决所有这些问题

所有这些问题的解决办法就是 IT 自动化。当然,自动化并不是银弹;而且对有缺陷的流程进行自动化只能让坏事在没有控制的情况下执行得更快。不过,如果实施得当,各种形式的自动化工具可以让你在扩大公有云部署规模的同时避免上述诸多问题。

例如:

  • 流程自动化可以在更大的范围、更广的区域、以更低的成本快速地执行和整合已有的任务和工作流,并且能够为人们提供比预期更完善的审计和控制。
  • 供应自动化可以控制何人,何时,为何及如何创建和发布何种云服务,从而减少错误,消除僵尸服务,并使得成本跟踪和细粒度的审计和控制成为可能。
  • 配置自动化可以确保系统补丁得到及时安装,无用的端口得到及时关闭,系统漏洞得到及时消除,超支得到及时控制,系统是可重用的,并且能够减少错误的发生。
  • 即使在最大型的云计算部署中,事件监控也可以跟踪到错误,并且可以确保触发事件是清晰可见的,根本原因能够被尽早确定,警报得到及时升级,并且能够在问题变得致命之前,及时发现并解决这些问题。
  • 容器化可以提供更高层级的抽象,将用户从某个云计算基础设施或平台的细节中抽离出来。这样用户就可以快速地完成从一个服务到另一个服务的低接触(low-touch)迁移,从而更好地满足灾难恢复和成本控制需求。
  • 具有自动检测、通知、升级及分类诊断问题能力的性能监控工具,可以为提供必要的可视性,避免糟糕的体验,预防由于问题诊断不善导致在云容量上花费过高而造成的成本超支。
  • 备份和恢复自动化可以让故障对终端用户完全透明,特别是当它们与事件和性能监测工具相连,或用于在云应用中构建容错和灾难恢复机制时。
  • 发布自动化可以在不需要人工干预的情况下将云环境中的新应用和更新应用自动从开发环境转到生产环境,从而加速在大型部署环境中的创新,同时降低人为失误,确保可审核性并消除恶意代码。
  • 身份及访问管理可以在需要时为用户提供必要的云服务访问权限,在不需要时回收相应的权限,从而达到防止恶意入侵,消除数据丢失,启用审计和控制,提升可见性以及控制使用成本的目的。
  • 容量管理可以让云平台的消费者更准确地预测他们的服务增长情况和峰值需求,以及何时应该释放资源,从而做到在帮助控制云资源的成本的同时,减少潜在的服务问题。

此外,自动化让公有云具有了之前通过传统的手工方式无法具有的新的能力。例如,使用诸如 DevOps 之类的新手段加速大规模应用程序的交付,可以说这只有在具有自助式供应、配置管理、测试自动化和发布自动化等解决方案的前提下才是可行的。与此类似,如果没有 API 访问自动化、身份管理、资源运用、和成本控制的解决方案,新兴的云 API 经济中大量极好的机会就会演变成巨大的风险,甚至可能导致灾难性事件。

最关键的自动化工具

上述这些自动化工具和原则在公有云部署最佳实践中都发挥了不同的作用。在没有了解具体部署案例的目标和限制之前,就轻言哪些自动化工具更加关键并不是非常合理。当然,在多数情况下,一些工具确实要比另外一些工具更加重要,如果非要让我选择最重要的前三个自动化工具,我会选择如下三个:

  • 身份及访问管理——如果不能保证正确的人在正确的时间能够获取到正确的资源,那么其他一切都是空谈。假如对你来说,保护基于云环境的数据和服务是最大的顾虑,那么身份及访问管理就是必需的自动化解决方案之一。
  • 供应自动化——对于许多云服务来说,供应自动化是非常基础的功能,但是这一功能的粒度是非常关键的,特别是对审计和控制来说。手工供应可能是造成公有云部署中人为失误和成本超支的最大原因。
  • 性能和可用性监测——这也许是所有部署的终极武器,即使在最大型的大规模和高性能的云部署环境下,也能够让你了解问题发生的时间和原因,以及如何有效的修复这些问题。

总结

对于现有的公有云服务来说,自动化能力是必不可少的。任何像样一点的云服务肯定都会包含一些基础的自动化能力——例如自助式供应,利用率监测或退单拒付(chargeback)。

然而,正如我之前曾经写过的,目前可能没有哪一个云服务提供者能够提供更加高级的自动化能力,特别是商品化的云服务

在了解了采用公有云的机会和风险之后,需要根据自身的工作量和目标合理选择正确的服务提供商并使用适当的自动化工具对其进行补充。

只有正确地集成了自动化解决方案,为用户提供并增强了信心,安全,性能,速度和控制,才能够完全发挥公有云的潜能。

关于作者

Andi Mann 作为 CA Technologys 的首席技术官和副总裁,是一位卓越的数字化业务主管,作为战略家、技术专家、创新者、营销人员和沟通者都具有丰富的全球经验。Andi 作为广受欢迎的咨询顾问、评论家和演讲家,拥有跨越五个大洲,超过 25 年的经验。Andi 著有两本书,他的博客地址是 Andi Mann – Übergeek,也可以通过 @AndiMann 在 twitter 上找到他。

云计算已经不仅仅是虚拟基础设施的快速自助式服务。开发者和管理员正在寻求规模化云计算的供应和管理方法。这篇 InfoQ__ 文章是关于动态计算资源池维护的自动化工具和理念系列的其中一篇。可以通过这里订阅这一系列文章的新文章发布通知。

查看原文链接: The Top Automation Tools for Public Cloud at Scale


感谢马国耀对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-07-11 11:593299
用户头像

发布了 75 篇内容, 共 63.2 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

Baklib|在线帮助中心对企业来说有多重要?

Baklib

企业 在线帮助中心

leetcode 101. Symmetric Tree 对称二叉树(简单)

okokabcd

LeetCode 算法与数据结构

超酷炫!天翼云亮相中国服贸会

天翼云开发者社区

Baklib|提升团队效率,在线协同文档好在哪?

Baklib

团队效率 在线协同文档

【中秋福利】大数据告诉你:今年中秋礼品这样选

前嗅大数据

大数据 数据分析 数据采集 中秋 互联网+

iOS端如何实现微信分享链接与登陆

MobTech袤博科技

微信 iOS SDK

如何在 Jenkins CI/CD 流水线中保护密钥?

SEAL安全

DevOps jenkins CI/CD 密钥管理 CI/CD管道

校招前端面试题

夏天的味道123

JavaScript 前端

源码 | SpringBoot启动流程大揭秘

六月的雨在InfoQ

源码 springboot SpringBoot实战 9月月更 SpringBoot启动流程

Baklib|提高企业知识管理水平的方法分享

Baklib

知识管理

Mybatis

喜羊羊

mybaits 9月月更

javaweb

喜羊羊

javaWeb 9月月更

2022年全年Java岗面试题总结+一线互联网大厂Java岗面经/面试题总结!

程序员小毕

Java 程序员 面试 程序人生 后端

BI 报表正逐渐成为技术债,真的吗?

Kyligence

数据分析 指标管理 BI 报表

实战Elasticsearch6的join类型

程序员欣宸

elasticsearch 9月月更

广东省湛江市等保测评机构有几家?怎么做?

行云管家

等保 等级保护 等保测评 湛江

NFT艺术品交易平台:有哪些功能?

开源直播系统源码

NFT 数字藏品 数字藏品软件

ebook下载 | 《企业高管IT战略指南——搭建微服务架构》

York

微服务 云原生 系统架构 数字化转型 应用现代化

科技创新突破算力瓶颈,云网融合引领数字未来!

天翼云开发者社区

Android技术分享| 视频通话开发流程(二)

anyRTC开发者

android 音视频 移动开发 实时消息 呼叫邀请

借助 TCP 负载均衡和 Galera 集群扩展 MySQL

NGINX开源社区

MySQL nginx 负载均衡 TCP/IP

干货!天翼云DPU技术解码

天翼云开发者社区

手把手教你君正X2000开发板的OpenHarmony环境搭建

华为云开发者联盟

鸿蒙 后端 IoT 企业号九月金秋榜

华为云WeLink助力平房区打造智慧政务办公

科技怪咖

Dubbo Mesh - 从服务框架到统一服务控制平台

阿里巴巴云原生

阿里云 开源 微服务 云原生 dubbo

字节前端必会面试题

helloworld1024fd

JavaScript

Spring知识点讲解

喜羊羊

后端 9月月更

设计模式的艺术 第六章抽象工厂设计模式练习(开发一款新的手机游戏软件,该软件能够支持IOS和Android等多个智能手机操作系统平台。针对不同手机操作系统,该游戏软件提供了不同的游戏操作控制类和游戏界面控制类,并提供相应的工厂类来封装这些类的初始化过程)

代廉洁

设计模式的艺术

中国IPv6“高速公路”,全面建成 IANA被管理权限移交 ,IP地址管理何去何从

郑州埃文科技

ipv6 ipv4 IANA

什么是数据湖?全面解读数据湖与数据仓库的区别

雨果

数据中台 数据仓库 数据湖 DaaS数据即服务

大众CEO迪斯提前卸任,成败皆因软件

雨果

软件定义汽车

大规模公有云的自动化工具_安全_Richard Seroter_InfoQ精选文章