【问题标题】:What Language and platform do you suggest你建议什么语言和平台
【发布时间】:2020-07-13 21:52:38
【问题描述】:

我要开发一个基于网络的产品,它有以下描述:

1- 它可能会发展成为一个大型网站和成千上万的用户!

2- 它将有一个 API 为用户提供服务,以便用户可以在自己的应用程序中调用该 API!

3- 安全非常重要!

4- 90% 的工作是在后端完成的,但一些设计和设置是在前端完成的!

5- 某些部分是基于 AI 的服务!

6- 后端在几十个云上进行,所以我们需要管理云!

7- 速度很关键

8- 需要与其他一些API和软件通信

现在准备一个演示,我将 PHP 用于网站,将 C# 作为 API 用于服务器端,如 AI、数据库、云管理、应用程序管理。但是对于最终产品,我很困惑使用什么平台、语言等?

【问题讨论】:

    标签: architecture cloud software-design platform


    【解决方案1】:

    为云启用了许多语言,包括您提到的那些,我建议您从团队最强的地方开始。正如 Pierre 在他的回答中指出的那样,为云进行开发有一个学习曲线,并且使用一种新语言会减慢速度,并且您已将速度列为关键。优先考虑架构:好的架构比工具的选择更重要。

    从微服务架构 (MSA) 的角度处理项目。由于您预测增长,因此您不希望最终得到一个整体以及复杂的扩展性、可靠性、上市速度等。尝试将解决方案分割成独立的、可部署的模块。这也将让您有机会优化您的工具并随时学习。

    为正确的工作使用正确的数据库,在一个项目中拥有多种数据层技术已成为一种常见的做法。

    你提到

    后端在几十个云上进行,所以我们需要管理云

    不确定此处的含义,但如果您要使用多云,请考虑使用 Containers 和更多开放式编排引擎,例如 Kubernetes。尽量减少无服务器组件,因为这可能意味着为每个云服务供应商重新设计。

    一切顺利。

    【讨论】:

    • 我同意你所说的所有皮特,但我会动摇微服务方法。这是一个让我非常兴奋的架构,但要正确实例化真的很难。
    • 同意,使用 MSA 既不容易也不直截了当,需要谨慎行事:通常是在开发方面进行权衡,但在卓越运营方面有所收获。
    【解决方案2】:

    对于这样的项目,第一步是从您平台的组件(例如 AWS / Azure / GCP)构建您的云架构

    根据组件的目标和限制,语言会晚得多。

    注意:在云上部署“经典”应用程序(即最初不是为云设计的)可能非常复杂。

    【讨论】:

      猜你喜欢
      • 2010-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-03
      • 1970-01-01
      • 2010-10-13
      • 2011-01-16
      相关资源
      最近更新 更多