高级架构/应用程序基础架构决策:托管项目的位置

时间:2017-03-01 23:15:00

标签: architecture webserver cloud hosting

我的脑子里已经有一段时间在我的脑海里徘徊这个想法,以便在我的空闲时间建立一个产品,但每当我坐下来开始实际工作时,我就会陷入这一个基础设施决定我很难过去。

项目

观众和目的

首先,我正在考虑建造的产品将销售给医院,也许是美国的大型医生办公室。我不想过多地了解这个软件会解决的问题的细节,但足以说它会为美国的医疗服务提供者提供一种自动化特定监管要求的方法,就我而言知道,目前大部分是手动解决。

要求

我希望这是一个基于浏览器的应用程序。我对ASP.NET MVC最熟悉,所以我从这个框架中接近这个,但我不会反对其他解决方案。

该应用程序的用户将是任何医院员工/工作人员。他们只会看到专门为其设施设置的应用程序版本 - 基本上它应该是每个设施的一种Intranet站点 - 并且他们应该能够使用他们的AD /域凭据来访问他们的站点。

部分申请需要与客户的EHR(电子健康记录)系统集成。虽然它可能是可选的,但我需要能够访问一些数据才能真正发挥作用。 EHR有许多不同的品牌和版本,有些比其他品牌和版本更容易构建第三方集成。无论我采用哪种架构方法,客户都需要提供整合部件......我似乎有太多不同的场景让我尝试为每一个提供解决方案。

到目前为止的想法

基于云的

我的第一个想法是,我希望这就像是在“云”中托管的多租户应用程序;但是,对于集成,他们可能需要创建某种REST API(基于我定义的合同),以便app调用以获取所需的数据。由于HIPAA的安全原因,似乎大多数地方都会犹豫不决。也许我错了。我知道对于Azure,有Hybrid Connections,如果使用,可以让我的云托管应用程序连接到客户的本地资源。但我不知道这个解决方案的可行性或可销售性。

自托管

另一种选择是打包它们,以便他们在自己的Web服务器上安装(或者作为整个包,包括Web服务器),然后为他们提供一个接口来实现集成件的工作。但是,支持这种部署似乎是一场噩梦。

问题

  • 我还缺少什么?
    • 是否有其他托管策略可能适用于我的方案?
    • 在权衡我的选择时,是否还有其他优点/缺点?

1 个答案:

答案 0 :(得分:0)

由于您计划使用大型业务应用程序,因此自托管可能不是最佳解决方案。是的 - 在过去我们做得很好的时候(在我们自己的基础设施/数据中心),许多企业继续这样做。

最近的方法是云 - 为了满足您的需求,我建议使用Infastructure as a Service(IaaS)提供商,您可以在其中构建可以设置的可扩展应用程序。其中一个提供商是亚马逊AWS的弹性计算云(EC2)。

虽然让IaaS为您带来许多优势,但也意味着您需要维护服务器端的工作 - 例如安全性等...如果您有特定的安全要求(看起来像你这样做),这可能是一个在这里实施自己的安全性的机会。

其他托管Stragegies包括使用诸如Heroku或Google AppEngine之类的PaaS。虽然您不必处理Infastruture,但可能无法完全满足您的自定义安全需求。

无论如何计划构建可以互操作的组件,可以替换或移植。考虑根据软件质量属性评估您提出的产品,并根据需要进行权衡。

你错过了什么...... 很多事情 - 我强烈建议分析现有解决方案(在您自己的helthcare域中)的制作方式。您需要有关建筑计划的非常详细的指导/帮助。