我的公司将需要一个后端引导其服务,我负责基础设施的select。 这些产品将包括几个具有通用后端的应用程序(移动,网页,桌面)(我猜想这是一个巨大的API)。
基本上,我们需要像虚拟机(或多个虚拟机或专用服务器),我们可以运行任何我们想要的东西(Python,Ruby,Node.js,PosgreSQL,MySQL,PosgreSQL,Redis等)。
应该问什么问题(对我和我的同事),以便精确了解我们的需求? 我不想在一年后意识到我们忘记了一些至关重要的东西(或者至less我宁愿意识到我们忘记了1,而不是10)。
我知道这个问题可能导致舆论的答案,但我想答案总是有点偏颇。
如果您需要多个客户端(networking,桌面应用程序,移动应用程序…),则需要决定这些客户端如何与后端进行通信。 你可以使用REST,这迫使一组架构select; 你可以使用(说)CORBA,这自然会迫使一些决定等,等等等等。
一旦完成整理,您可以决定是否只在其他人的硬件上使用虚拟机,在自己的专用硬件上使用虚拟机,或者在裸机上运行机器(即没有中间层虚拟机pipe理程序层)。 或者,也许只需运行使用HTTP进行通信的应用程序(例如,Google AppEngine)即可。
这里的驱动因素是:
但是,我不能告诉你正确的答案是什么,我能做的最好的就是说“取决于”。