亚马逊Elastic Beanstalk具有不断改善开发流程的空间,但是其前提是要有一个PaaS模式支持它。平台即服务模式应当允许开发人员能够互相进行紧密协作以便于在软件开发生命周期中的任意阶段解决问题。这不仅能够改善测试,而且还有助于保护应用程序免受黑客和人为错误的影响。该模式还允许开发人员进行以软件测试为目的的性能参数修改。
PaaS模式内部
PaaS模式包括了以下三个生命周期:
风险管理生命周期。开发人员可通过风险分析来实施风险缓解程序并确保成本效益。这里所谓的风险,就是指威胁利用一个或多个漏洞的可能性。开发人员可使用日志来确定亚马逊弹性计算云(EC2)实例和Elastic Beanstalk的漏洞。
应用程序开发生命周期。开发人员可在PaaS上跟踪SaaS应用程序的开发过程。其中包括了从设计、编码至部署等阶段的需求。亚马逊Beanstalk控制台是启动应用程序开发生命周期设计阶段的最简单方法。开发人员可从亚马逊简单通知服务(亚马逊SNS)处获得部署状态的电子邮件通知。而亚马逊 CloudWatch还提供了诸如应用程序成功运行平均次数等应用程序性能方面的指标。
商业流程生命周期。开发人员可以对应用程序进行控制、保护以及优化等操作。作为这一周期的一部分,开发人员可使用电子表格、文字处理、演示文档以及其他的商业工具。其主要目标就是要改善总体工作流程。
相互关联的生命周期
为了实现软件开发流程的持续改善,开发人员应充分利用PaaS模式的相互关系。
例如,针对设计缺陷的应用程序测试涉及了以下三个生命周期:
风险管理生命周期。开发人员和风险分析师可识别资产、漏洞以及威胁。首先他们会对应用程序开发的风险进行评估,然后针对开发过程制定一个基于风险的应对措施。他们会推荐实施具有成本效益的措施以消除软件缺陷带来的风险。开发人员还会使用诸如电子表格这样的工具列出资产、漏洞、威胁、风险以及应对措施。
应用程序开发生命周期。开发人员可在应用程序开发的每个阶段实施基于风险的方法。如果他们发现新的漏洞、威胁和/或风险,他们就会返回风险管理生命周期以实施新的应对措施。然后,开发人员就可对应用程序开发使用已更新的基于风险的方法。同样,他们可将被应用的变更记录在未来的工作流程中,他们可使用工具完成这一工作。
商业流程生命周期。开发人员可对基于风险开发过程的控制与保护进行优化。SaaS用户对应用程序试用版进行测试并反馈是这一生命周期中的一个重要指标。开发人员使用电子表格和文档来记录包括漏洞评估在内基于风险的安全测试结果。
相互关联中的协作
为了跟踪持续的改善,进行高效的沟通是非常重要的。无论何时实施变更,开发人员都应通过电子邮件的方式互相告知。附上所有相关的图、图表或者其他可较好阐述问题的图形说明将是大有裨益的。
为了进一步简化文件的共享和更新,开发人员应考虑使用AWS的Zocalo。他们可以按要求上传新的版本,而不必依靠电子邮件的方式发送相关文件的多个版本。上传文件将有助于减少通过网络发送信息的成本。
Zocalo 的安装过程只需要几秒钟时间。目前,申请使用者在等待一段申请期后可获得有限功能的预览版,但是有些开发人员可获得30天的免费试用版,其中包括了 200GB的存储容量。有限功能的预览版也可供希望将其与亚马逊Workspaces(虚拟桌面)一起使用的开发人员使用。
控制软件开发成本要求开发人员、测试人员、风险分析师以及业务分析师能够像一个团队一样协作规划未来的工作。这就意味着,在PaaS基础上使用Elastic Beanstalk之前应定义和完善PaaS模式。