您的位置: 网界网 > 软件 > 正文

AWS Elastic Beanstalk简化应用生命周期管理(ALM)

2014年04月27日 12:59:26 | 作者:Lukas Stewart | 来源:TechTarget中国 | 查看本文手机版

摘要:对于寻求省钱、削减成本、简化应用生命周期管理(ALM)的组织来说,Amazon Web Services产品套件包的成员Elastic Beanstalk也许刚好能够成为开发团队可以利用的对象。

标签
ALM
应用开发
生命周期管理

对于寻求省钱、削减成本、简化应用生命周期管理(ALM)的组织来说,Amazon Web Services产品套件包的成员Elastic Beanstalk也许刚好能够成为开发团队可以利用的对象。

一直以来,对基于云的开发究竟意味着什么有着极大的争议。许多开发团队可以用云作为基于Wiki或SaaS[注]的测试环境,但这与声称组织能够在云端进行应用开发有着很大的差别。但对于那些希望将基于云的应用开发发挥到极致感兴趣的组织来说,市场上有一些解决方案能够重新定义基于云的开发,它比Elastic Beanstalk好在哪里。后者是围绕着AWS搭建的基于云的解决方案族的一部分。

那么这个Elastic Beanstalk是什么呢?Amazon对它的定义是“在AWS云快速部署和管理应用的一种更加容易的方式。”其起步跟在地里种上一颗豆子一样简单。根据AWS的文档,所有的开发团队对只需上传自己正在做的应用即可。Beanstalk部署平台随后将处理以下任务:

容量分配

负载均衡

自动伸缩

应用健康监控

这意味着相对于传统风格的应用开发,为云部署准备的编程要少得多。当然,这种基于云的应用开发方法也意味着在作为ALM一部分的监控方面消耗的时间更短。Amazon Elastic Beanstalk另一个吸引人的功能是,作为完全集成进AWS技术栈的解决方案,它免费使用。客户只需为使用的资源付费,遵循的是正常的基于消费的模型。

从Java到Node

对于Java世界的软件开发者来说,AWS Elastic Beanstalk支持传统开发栈及像Apache Tomcat那样的语言。2013年3月,AWS为Node.js应用引入了Nginx 及Apache HTTP Server支持。据GoDaddy的 Aaron Silvas 说,Node擅长Web API领域,“Web API与I/O无关性非常的强,不会受限CPU,Node.js喜欢I/O。”

用更少的代码做更多的事情,这往往是让Java开发者开始用Node.js开发应用的一个有吸引力的理由。结合Beanstalk的自动管理功能,开发者可缩短部署时间,甚至变得更加敏捷。对于企业来说,Node能高效利用CPU和内存这一点意味着AWS的总体成本更低。尽管Joyent提供了一项迷人的替代,Amazon可能仍然是许多公司的第一云选项—尤其对那些已经在EC2上部署了很多应用的公司而言。

在AWS博客上,Amazon Web Services的首席布道师Jeff Barr道出了几点他喜欢的有关Elastic Beanstalk for Node.js的事情。这些特性包括:

可在Amazon Virtual Private Cloud[注]内部部署node.js,这能保证更大的安全(Amazon最近对所有人推出了私有云[注]连接。任何客户现在都可以订购VPC作为实例,哪怕小企业也能拥有企业一样的特权)

与Amazon RDS集成,可存储和获取关系数据库存储的数据。

在静态文件及gzip压缩方面的性能增强,可提高传输速度,对图像之类的资产提供更快的服务。计算资源可省下来用于更重要的实时任务。

永远要留意隐性成本

AWS跟许多只支持一刀切的开箱即用型解决方案不一样,它允许企业访问底层资源加以定制。比方说(+微信关注网络世界),组织可调整Auto Scaling功能来与企业目标相适应,确保消费不会超过预定的授权水平。如果你的云服务被分布式拒绝服务[注](DDosS)或欺诈性资源消耗(FRC)攻击的话,这有可能帮助你避免快速、大规模及成本高昂的资源预留。

无论跟什么样的云提供商打交道,客户都有责任理解和监控自己的使用以避免隐性的或非预期的成本。Beanstalk通过让客户访问内置的CloudWatch监控指标来积极地宣传消费者责任。增加或移除应用服务器时还会发出通告。如此,当阅读账单到时,客户才不会感到吃惊。

在许多情况下,如果预先进行一点调优并花些时间进行配置优化的话,用户的花销会更少。比方说,根据你对CPU及内存的需求了解来为应用选择正确的Amazon EC2实例类型就很重要。当然,在代码开发过程中开发者仍需要注意伸缩性之类的问题。只有在开发应用被消除压力的情况下Beanstalk才能发挥魔力。动态扩大负载无疑是AWS开始向开发者积极推销的另一项服务—但对于这些测试资源来说仍然会有更多的基于消费的账单。

今天所有明智的组织都会在一定程度上去利用云,但要想真正利用云计算[注]的潜在好处,应用开发团队应当认真审视像Amazon Elastic Beanstalk这样基于云的产品,去直接体验基于云的分配、负载均衡、健康检测及无障碍、自动伸缩的好处。

参考资料

1.云计算:(Cloud Computing)描述了一种基于互联网的新的IT服务增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展而且经常是虚拟化的资源。云计算是继1980年代大型计算机到...详情>>

2.私有云:(Private cloud)是将云基础设施与软硬件资源建立在防火墙内,以供机构或企业内各部门共享数据中心内的资源。私有云完全为特定组织而运作的云端基础设施,管理者可能是组织...详情>>

3.SaaS:软件即服务(Software as a Service,简称)有时被作为“即需即用软件”(即“一经要求,即可使用”)提及,它是一种软件交付模式。在这种交付模式中云端集中式托管软件及其...详情>>

4.DDoS:分布式拒绝服务(:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DoS攻击,从而成倍地提高拒绝服务...详情>>

[责任编辑:软件频道 yu_xiang@cnw.com.cn]