开发SaaS平台的应用时,开发者需要考虑哪些与其它平台不同的因素?
这里有一些事情,需要SaaS应用开发者时刻注意,例如:
*多租户—因为他们特有的本质,SaaS应用正在给许多不同的客户提供服务和管理数据,而且这些很有可能会在一些共享基础设施上完成。因此,安全是最重要的一点。因此,需要把应用程序设计为有身份验证和访问敏感资源需要授权的应用。这些功能应该从一开始就设计,以防止用户从其它的组织访问数据。在许多的案例中,日志是用来追踪访问和修改请求的,以防稍后会客户要求展示他们没有相互访问各自的数据,或展示违规的影响。
*可扩展性和稳健性—SaaS供应商曾做过的一个主要承诺是,他们能够处理容量管理问题,所以SaaS应用程序用户没必要担心新加用户和提供额外资源的问题。这就强迫应用开发者在设计系统之前要事先思考一系列的问题。一些需要解决问题包括:我怎样添加额外的存储?在使用时如何调解峰值?怎样添加额外的连接?怎样处理系统不同部分的失败?一开始就考虑到这些SaaS架构设计问题,可以帮助防止中断问题和稍后升级中的一些痛点。
*可配置性—SaaS软件平台正趋于“通用”的应用程序,它服务于更广泛的组织和用户。开发者在创建这些应用时,应该从开始就对高可配置性程度做出计划,这样用户才能使系统与他们的特殊业务需要相符。这种可配置性需求将会需要极其灵活的控制面板和报告,但是也将会扩展到这样的领域:例如标记和扩展与存储一起的内置对象的数据。
*连通性—SaaS平台的一个主要优势是,可以定做系统并把他们连接到其它系统上。因为SaaS开发者应该花更的时间在设计上面,设计什么样的应用程序接口(API)应该展示给第三方开发者,他们想要扩展SaaS平台的能力,或者他们的组织可以更好的集成其它系统。这使得SaaS平台更具价值,但必须小心应对,以避免引入严重的安全问题,这可能会导致SaaS平台、API用户和其它使用SaaS平台的组织暴露在风险之下。
通过在一开始就处理这类问题,SaaS平台应用程序开发者可以开始预期问题,从而避免昂贵的软件在日后重写。