云计算的使用场景有很多,例如:IDC云,企业云,云存储系统,虚拟桌面云,开发测试云,大数据处理云,协作云,游戏云。不同场景使用的核心技术略有不同。下面我们一起走进Salesforce来看一看他们的云产品和云服务
简介
在云计算方面,Salesforce应该算是业界的领袖了,核心云产品主要在SaaS和PaaS领域。Force.com是Saleforce的一款PaaS云产品,主要特点如下:
强大的定制功能:可以定制UI,工作流和表格等等
完善的开发环境:在可视化角度有自己的Visualforce工具方便地使用拖拽来设计页面,同时在IDE方面可以使用Eclipse进行快速定制开发
复杂事务和流程支持:使用Apex语言设计和开发复杂的事务和流程
优秀的整合能力:提供对外的服务接口,可以无缝集成其他系统,如:SAP,SharePoint等。
多租户
多租户是云计算比较典型的技术,就是单独软件实例可以为多个组织服务,对各个组织间进行数据和操作隔离,保证数据安全等等的一种常见的SaaS云服务模式。软件需要在设计上对数据和配置信息进行虚拟分区。多租户说起来相对简单,在实现上并非易事,需要对软件架构进行修改,并且对数据库结构进行特殊设计,同时在安全和隔离性方面要求相对比较高。
和多用户的区别:多用户在于不同用户拥有不同访问权限,多租户实现了虚拟的实例和数据等进行隔离,各个租户相互不知道其他人的存在,而且完全独立。
和虚拟化的区别:多租户和虚拟化很类似,都使用了虚拟的概念。区别在于虚拟化关注在操作系统,而多租户关注在应用实例。
优缺点:优点是经济、易于更新和开发、管理方便,同时也有不足之处,技术相对复杂,而且在安全方面要求比较高,也存在很多挑战,值得我们不断提高和改进。
三种实现模型:私有表,扩展表和通用表
私有表:最简单的扩展模式,为每个租户自定义数据表,优点简单,但是缺点是高成本的DDL操作,并且在优化难度比较高。
扩展表:和私有表类似,扩展表会被多个租户共享,比私有表有更高的整合度和优化的可能性,架构上要比私有表复杂,设计成本比较高。
通用表:用于存储公用的统一的数据信息,存在很多列和空值(稀疏列),在整合和优化方面更高,但是设计和实现难度更大。
所以在多租户设计和实现过程中,根据实际的业务场景选择最适合的模型去实现,而且不同的阶段合适的模型也不一样。
架构
POD实际上是一组服务器集群,通过负载均衡实现来平衡相互之间的工作压力,应用服务器是无状态的请求处理服务器(http/https)。
总结
其实多租户的设计和实现远远不是短短一篇文章就能够说清楚的,还有很多设计和实现细节值得我们深入探索。
设计理念:以数据为驱动,实现规模经济(支持多个租户),并且保证租户数据和操作安全,同时要以在业务上满足客户的业务需求为前提。所以在实际设计和实现中要进行一定的权衡,从设计、实现、整合以及优化的角度考虑。并且软件的架构是一个渐进的过程,不能够一次就达到“彼岸”,所以需要不断的优化改进去适应业务的需要。
释放价值,分享知识和经验,解读IT前沿和技术。帮助他人,提升自己。更多交流关注公众号Itboxes(IT智囊)。
注:图片来源于网络,如有异议,请联系我们,我们将即时处理。