SaaS 成熟度级别 2,我如何构建可配置的 SaaS?(技术和模式)
根据 SaaS 成熟度模型,如果可配置,SaaS 就是 2 级,但是我如何开始这个概念?我可以使用什么模式和技术来启用我的 SaaS?
According SaaS maturity model a SaaS is level 2 if is configurable, but how i can get started in this concept?how patterns and Technics, i can use to enable my SaaS?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
主要模式是将配置数据与应用程序代码分离。查找应用程序的属性,这些属性可能因安装而异,并将这些属性提取到配置系统中。
首先找出一些可能因安装而异的基本属性。一些示例:您的服务使用哪些端口号?什么网址?您正在使用什么证书/CA?客户可以对您的软件进行品牌重塑/重新设计吗?他们的品牌形象或皮肤资源位于哪里?您将部署到哪些操作系统,以及当操作系统发生变化时哪些内容可能会发生变化?甚至配置您的配置所在的位置也可能是一个需要改变的重要属性。然后扩展到特定站点可能独有的功能:如何启用它们?是否需要针对不同的客户进行不同的设置?当您完成此练习时,请记住,您正在向系统添加变化点,从而增加额外的复杂性,以及需要验证、测试和潜在安全的额外点。仔细考虑哪些变化点对您的客户真正重要,并重点关注这些变化点。
然后考虑实现:
key = value
样式。配置可以位于多个文件中,或包含多个部分的一个文件(ini 样式),或两者兼而有之。对于复杂的多层设置,您可能需要提供一些附加工具来帮助在必要时跨计算机同步配置。许多服务还提供生成默认配置文件的工具。这些文件通常会加载注释来解释每个可配置值,这将帮助客户开始使用它们。
有大量关于人们如何配置其服务的示例。研究您最喜欢的服务及其配置方式。自己思考或询问您的朋友,您认为哪些服务最容易设置。请记住,配置是您与客户的界面的一部分,因此您希望它尽可能干净、易于理解且易于使用。
The primary pattern is separation of configuration data from application code. Find the properties of your application that may vary from installation to installation, and pull those properties out into a configuration system.
Start by figuring out some basic properties that are likely to vary from installation to installation. Some examples: What port numbers are your services on? What URLs? What certs/CAs that you are using? Can the customer rebrand/reskin your software, and where are their brand images or skin resources located? What OSes will you deploy to, and what is liable to change when the OS changes? Even configuring where your configuration lives can be an important property to vary. Then extend to features that may be unique to particular sites: how do you enable them? do they need to be set up differently for different customers? As you go through this exercise, keep in mind that you are adding points of variation to your system, thus additional points of complication, and additional points that need to be validated, tested, and potentially secured. Think carefully about which points of variation really matter to your customers, and focus on those.
Then think about implementation:
key = value
style. The configuration could be in multiple files, or one file with sections (ini-style), or both.For complicated multi-tier setups, you may want to provide some additional tools to help synchronize configuration across the machines where it's necessary. Many services also provide tools to generate default configuration files. These files are often loaded with comments to explain each configurable value, which will help the customer get started with using them.
There are a ton of examples out there about how people have gone about configuring their services. Study your favorite services and how they're configured. Think for yourself, or ask your friends, about which services you felt were the easiest to set up. Remember that the configuration is part of your interface to your customer, so you want it to be as clean, understandable, and easy-to-use as possible.